代碼如下:
#include<stdio.h>
#include<Windows.h>
int main()
{
int i = 0;
char a[50][50] = { "######",
"#o # ",
"# ## #",
"# # #",
"## #",
"######", };
printf("w:上\n");
printf("s:下\n");
printf("a:左\n");
printf("d:右\n");
printf("點擊空格開啟游戲\n");
int x=1, y=1, l=1, p=5;//x,y記錄小球初始的行列數;l,p記錄出口位置
char ch;
ch = getche();
while (ch == ' ')
{
for (i = 0; i <= 5; i++)
{
system("color 1b");
puts(a[i]);
}
break;//防止無限列印
}
char m;
while (x!=l||y!=p)
{
m = getch();
if (m == 's')//讀入操作
{
if (a[x + 1][y] != '#')
{
a[x][y] = ' ';//將原來的點初始化為空格
x++;
a[x][y] = 'o';//將移動后的點轉換為物體,注意要用‘’
system("cls");//清屏
for (i = 0; i <= 5; i++)
{
puts(a[i]);
system("color 1b");
}//清屏之后再次列印
}
}
if (m == 'w')//讀入操作
{
if (a[x-1][y] != '#')
{
a[x][y] = ' ';//將原來的點初始化為空格
x--;
a[x][y] = 'o';//將移動后的點轉換為物體,注意要用‘’
system("cls");//清屏
for (i = 0; i <= 5; i++)
{
puts(a[i]);
system("color 1b");
}//清屏之后再次列印
}
}
if (m == 'a')//讀入操作
{
if (a[x][y-1] != '#')
{
a[x][y] = ' ';//將原來的點初始化為空格
y--;
a[x][y] = 'o';//將移動后的點轉換為物體,注意要用‘’
system("cls");//清屏
for (i = 0; i <= 5; i++)
{
puts(a[i]);
system("color 1b");
}//清屏之后再次列印
}
}
if (m == 'd')//讀入操作
{
if (a[x ][y+1] != '#')
{
a[x][y] = ' ';//將原來的點初始化為空格
y++;
a[x][y] = 'o';//將移動后的點轉換為物體,注意要用‘’
system("cls");//清屏
for (i = 0; i <= 5; i++)
{
puts(a[i]);
system("color 1b");
}//清屏之后再次列印
}
}
}
system("color 2f");
printf("游戲成功\n");
Sleep(5000);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/404217.html
標籤:其他
上一篇:【Unity優化篇】 | Unity腳本代碼優化策略,快速獲取 游戲物件 和 組件 的方法【文末送書】
下一篇:引數和超引數的定義
