啊哈c语言推箱子小游戏,啊哈C入门版学完了,现发推箱子源代码~
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
該推箱子擁有對成績的記錄功能,因此,請?zhí)魬?zhàn)自己的最少步數(shù)吧!
源代碼如下:
#include
#include
int main()
{
system("color 0a");
char a[9][11]={" ###### ",
" # ###",
" # o #",
"### o ## #",
"#*** o #",
"#***o#o ##",
"#### # o #",
" # s #",
" #######"},b,c;
int i,e,f=0,x=7,y=6;
FILE *Re;
while(1)
{
for(i=0;i<=8;i++)
{
puts(a[i]);
}
printf("你已經(jīng)走了%d步\n",f);
if (a[4][1]=='@' && a[4][2]=='@' && a[4][3]=='@' && a[5][1]=='@' && a[5][2]=='@' && a[5][3]=='@')
break;
b=getch();
if (b=='s')
{
if (a[x+1][y]=='o' && a[x+2][y]!='#' && a[x+2][y]!='o' && a[x+2][y]!='@')
{
a[x+2][y]='o';
a[x+1][y]='s';
a[x][y]=' ';
x++;
f++;
}
if (a[x+1][y]=='@' && a[x+2][y]!='#' && a[x+2][y]!='o' && a[x+2][y]!='@')
{
a[x+2][y]='o';
a[x+1][y]='s';
a[x][y]=' ';
x++;
f++;
}
if (a[x+1][y]!='o' && a[x+1][y]!='#' && a[x+1][y]!='@')
{
a[x+1][y]='s';
a[x][y]=' ';
x++;
f++;
}
}
if (b=='w')
{
if (a[x-1][y]=='o' && a[x-2][y]!='#' && a[x-2][y]!='o' && a[x-2][y]!='@')
{
a[x-2][y]='o';
a[x-1][y]='s';
a[x][y]=' ';
x--;
f++;
}
if (a[x-1][y]=='@' && a[x-2][y]!='#' && a[x-2][y]!='o' && a[x-2][y]!='@')
{
a[x-2][y]='o';
a[x-1][y]='s';
a[x][y]=' ';
x--;
f++;
}
if (a[x-1][y]!='o' && a[x-1][y]!='#' && a[x-1][y]!='@')
{
a[x-1][y]='s';
a[x][y]=' ';
x--;
f++;
}
}
if (b=='a')
{
if (a[x][y-1]=='o' && a[x][y-2]!='#' && a[x][y-2]!='o' && a[x][y-2]!='@')
{
a[x][y-2]='o';
a[x][y-1]='s';
a[x][y]=' ';
y--;
f++;
}
if (a[x][y-1]=='@' && a[x][y-2]!='#' && a[x][y-2]!='o' && a[x][y-2]!='@')
{
a[x][y-2]='o';
a[x][y-1]='s';
a[x][y]=' ';
y--;
f++;
}
if (a[x][y-1]!='o' && a[x][y-1]!='#' && a[x][y-1]!='@')
{
a[x][y-1]='s';
a[x][y]=' ';
y--;
f++;
}
}
if (b=='d')
{
if (a[x][y+1]=='o' && a[x][y+2]!='#' && a[x][y+2]!='o' && a[x][y+2]!='@')
{
a[x][y+2]='o';
a[x][y+1]='s';
a[x][y]=' ';
y++;
f++;
}
if (a[x][y+1]=='@' && a[x][y+2]!='#' && a[x][y+2]!='o' && a[x][y+2]!='@')
{
a[x][y+2]='o';
a[x][y+1]='s';
a[x][y]=' ';
y++;
f++;
}
if (a[x][y+1]!='o' && a[x][y+1]!='#' && a[x][y+1]!='@')
{
a[x][y+1]='s';
a[x][y]=' ';
y++;
f++;
}
}
if (a[4][1]=='o')
a[4][1]='@';
if (a[4][2]=='o')
a[4][2]='@';
if (a[4][3]=='o')
a[4][3]='@';
if (a[5][1]=='o')
a[5][1]='@';
if (a[5][2]=='o')
a[5][2]='@';
if (a[5][3]=='o')
a[5][3]='@';
if (a[4][1]!='@' && a[4][1]!='s')
a[4][1]='*';
if (a[4][2]!='@' && a[4][2]!='s')
a[4][2]='*';
if (a[4][3]!='@' && a[4][3]!='s')
a[4][3]='*';
if (a[5][1]!='@' && a[5][1]!='s')
a[5][1]='*';
if (a[5][2]!='@' && a[5][2]!='s')
a[5][2]='*';
if (a[5][3]!='@' && a[5][3]!='s')
a[5][3]='*';
system("cls");
}
puts("you are will!");
Re=fopen("Re.txt","r");
if (fscanf(Re,"%d",&e)>0)
{
if (f
{
fclose(Re);
Re=fopen("Re.txt","w");
fprintf(Re,"%d",f);
fclose(Re);
puts("新的記錄已經(jīng)產(chǎn)生了!");
}
if (f==e)
{
fclose(Re);
puts("與高手平舉平起!");
}
if (f>e)
{
fclose(Re);
puts("請繼續(xù)努力!");
}
}
else
{
fclose(Re);
Re=fopen("Re.txt","w");
fprintf(Re,"%d",f);
fclose(Re);
puts("新的記錄已經(jīng)產(chǎn)生了!");
}
system("pause");
return 0;
}
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的啊哈c语言推箱子小游戏,啊哈C入门版学完了,现发推箱子源代码~的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言麻将递归,C++数据结构与算法——
- 下一篇: android 字符串对齐,androi