You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

165 lines
4.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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);
}