|
|
|
@ -0,0 +1,164 @@
|
|
|
|
|
#include<windows.h>
|
|
|
|
|
#include<stdio.h>
|
|
|
|
|
|
|
|
|
|
void DrawCheckerBoard();
|
|
|
|
|
void DrawStartMenu();
|
|
|
|
|
void ClearPanel();
|
|
|
|
|
void goto_xy(int x,int y);
|
|
|
|
|
void WriteText(int x,int y,const char* str);
|
|
|
|
|
|
|
|
|
|
#define WIDTH 100
|
|
|
|
|
#define HEIGHT 30
|
|
|
|
|
|
|
|
|
|
int main()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
int input=-1;
|
|
|
|
|
//char input=9;
|
|
|
|
|
char a;
|
|
|
|
|
system("mode con:cols=100 lines=30"); //设置窗口为100列,30行大小
|
|
|
|
|
SetConsoleOutputCP(437);
|
|
|
|
|
|
|
|
|
|
DrawStartMenu();
|
|
|
|
|
|
|
|
|
|
while(input!=0)
|
|
|
|
|
{
|
|
|
|
|
//cin>>input; //获取输入
|
|
|
|
|
|
|
|
|
|
scanf("%d",&a);
|
|
|
|
|
getchar();
|
|
|
|
|
input=(int)a;
|
|
|
|
|
|
|
|
|
|
if(input>2||input<0){
|
|
|
|
|
printf("The input is wrong,please enter again.");
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
else if(input==1)
|
|
|
|
|
DrawCheckerBoard();
|
|
|
|
|
else if(input==2)
|
|
|
|
|
DrawStartMenu();
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//绘制开始菜单
|
|
|
|
|
void DrawStartMenu()
|
|
|
|
|
{
|
|
|
|
|
//string str="################ ## ####### ## # ## # ## ####### ## # ## # # ## ####### #################### ###### # # # # ########### # # ## # # # # # # # # # # # # # # # # # # # # # # # #### # # ################ # ################ # # # # # # # # # # # # # # # # # # ###### ####### # # # ### ##### # # # # # # # # ##### # # # # # # # ######### # # # # # # ";
|
|
|
|
|
ClearPanel();
|
|
|
|
|
WriteText(10,2," ###############");
|
|
|
|
|
WriteText(10,3," # #");
|
|
|
|
|
WriteText(10,4," # ####### #");
|
|
|
|
|
WriteText(10,5," # # #");
|
|
|
|
|
WriteText(10,6," # # #");
|
|
|
|
|
WriteText(10,7," # ####### #");
|
|
|
|
|
WriteText(10,8," # # #");
|
|
|
|
|
WriteText(10,9," # # # #");
|
|
|
|
|
WriteText(10,10," # ####### #");
|
|
|
|
|
WriteText(10,11," ###############");
|
|
|
|
|
WriteText(10,12," ");
|
|
|
|
|
WriteText(30,2," #### ###### ");
|
|
|
|
|
WriteText(30,3," # # ");
|
|
|
|
|
WriteText(30,4," # # ##########");
|
|
|
|
|
WriteText(30,5," # # # ");
|
|
|
|
|
WriteText(30,6," ## # ");
|
|
|
|
|
WriteText(30,7," # # # # # ");
|
|
|
|
|
WriteText(30,8," # # # # # ");
|
|
|
|
|
WriteText(30,9," # # # # # ");
|
|
|
|
|
WriteText(30,10," # # # # # ");
|
|
|
|
|
WriteText(30,11," # # ");
|
|
|
|
|
WriteText(30,12," ");
|
|
|
|
|
WriteText(50,2," #### ");
|
|
|
|
|
WriteText(50,3," # # ");
|
|
|
|
|
WriteText(50,4," ###############");
|
|
|
|
|
WriteText(50,5," # # #");
|
|
|
|
|
WriteText(50,6," ###############");
|
|
|
|
|
WriteText(50,7," # # ");
|
|
|
|
|
WriteText(50,8," # # # ");
|
|
|
|
|
WriteText(50,9," # # # # ");
|
|
|
|
|
WriteText(50,10," # # # ");
|
|
|
|
|
WriteText(50,11," # # #");
|
|
|
|
|
WriteText(50,12," ");
|
|
|
|
|
WriteText(70,2," # # # ");
|
|
|
|
|
WriteText(70,3," ###### ####### ");
|
|
|
|
|
WriteText(70,4," # # # ");
|
|
|
|
|
WriteText(70,5," ### ##### ");
|
|
|
|
|
WriteText(70,6," # # # # # ");
|
|
|
|
|
WriteText(70,7," # # # ##### ");
|
|
|
|
|
WriteText(70,8," # # # # # ");
|
|
|
|
|
WriteText(70,9," # # #########");
|
|
|
|
|
WriteText(70,10," # # # ");
|
|
|
|
|
WriteText(70,11," # # # ");
|
|
|
|
|
|
|
|
|
|
WriteText(40,15,"2-StartMenu");
|
|
|
|
|
WriteText(40,16,"1-Start Game");
|
|
|
|
|
WriteText(40,17,"0-Exit Game");
|
|
|
|
|
WriteText(30,19,"Please press 0 OR 1 to select:");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//绘制棋盘
|
|
|
|
|
void DrawCheckerBoard()
|
|
|
|
|
{
|
|
|
|
|
ClearPanel();
|
|
|
|
|
|
|
|
|
|
for(int i=0;i<8;i++)
|
|
|
|
|
{
|
|
|
|
|
goto_xy(WIDTH/2-8,2+i);
|
|
|
|
|
for(int j=0;j<8;j++)
|
|
|
|
|
{
|
|
|
|
|
if((i+j)%2==0)
|
|
|
|
|
printf("%c",0xdb);
|
|
|
|
|
else
|
|
|
|
|
printf(" ");
|
|
|
|
|
}
|
|
|
|
|
printf("\n");
|
|
|
|
|
}
|
|
|
|
|
printf("\n");
|
|
|
|
|
WriteText(WIDTH/2-8,12,"2-StartMenu\n");
|
|
|
|
|
WriteText(WIDTH/2-8,13,"0-Exit Game\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//清理屏幕
|
|
|
|
|
void ClearPanel()
|
|
|
|
|
{
|
|
|
|
|
for(int i=0;i<HEIGHT;i++)
|
|
|
|
|
{
|
|
|
|
|
for(int j=0;j<WIDTH;j++)
|
|
|
|
|
{
|
|
|
|
|
goto_xy(j,i);
|
|
|
|
|
printf("%c",0x00);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
goto_xy(0,0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//string* Registered(){
|
|
|
|
|
// string* str[2];
|
|
|
|
|
// string userName;
|
|
|
|
|
// string passWord;
|
|
|
|
|
// printf("Please press UserName");
|
|
|
|
|
// cin>>userName;
|
|
|
|
|
// printf("Please press PassWord");
|
|
|
|
|
// cin>>passWord;
|
|
|
|
|
//
|
|
|
|
|
// str[0]=userName;
|
|
|
|
|
// str[1]=passWord;
|
|
|
|
|
// return str;
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
void goto_xy(int x,int y)
|
|
|
|
|
{ //定位光标位置到指定坐标
|
|
|
|
|
HANDLE hOut;
|
|
|
|
|
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
|
|
|
|
|
COORD pos={x,y};
|
|
|
|
|
SetConsoleCursorPosition(hOut,pos);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//从指定位置开始绘制文字
|
|
|
|
|
void WriteText(int x,int y,const char* str)
|
|
|
|
|
{
|
|
|
|
|
goto_xy(x,y);
|
|
|
|
|
printf(str);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|