使用C/C++怎么制作一个推箱子小游戏?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。运行示例:以下为完整代码:#include <stdio.h>#inc
使用C/C++怎么制作一个推箱子小游戏?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
运行示例:
以下为完整代码:
#include <stdio.h>#include <stdlib.h>#include <windows.h>#include <coNIO.h>int main(){ char a[12][12]={"##########", "## ###", "##O### #", "# S O O #", "# **# O ##", "##**# ##", "##########", }; int x=3,y=2; int i; char ch; for(i=0;i<7;i++) puts(a[i]); while(a[4][2]!='@'||a[4][3]!='@'||a[5][2]!='@'||a[5][3]!='@') { ch=getch(); if(ch=='s') { if(a[x+1][y]!='#'&&a[x+1][y]!='O'&&a[x+1][y]!='@') //如果只有人,没有箱子 { a[x][y]=' '; x++; a[x][y]='S'; } else if(a[x+2][y]!='#'&&a[x+1][y]=='O'&&a[x+2][y]!='*') //如果是箱子和人一起走 { a[x][y]=' '; x++; a[x][y]='S'; a[x+1][y]='O'; } else if(a[x+2][y]!='#'&&(a[x+1][y]=='O'||a[x+1][y]=='@')&&a[x+2][y]=='*') //如果人和箱子一起走,并且前面是终点 { a[x][y]=' '; x++; a[x][y]='S'; a[x+1][y]='@'; } } if(ch=='w') { if(a[x-1][y]!='#'&&a[x-1][y]!='O'&&a[x-1][y]!='@') //如果只有人,没有箱子 { a[x][y]=' '; x--; a[x][y]='S'; } else if(a[x-2][y]!='#'&&a[x-1][y]=='O'&&a[x-2][y]!='O') //如果是箱子和人一起走 { a[x][y]=' '; x--; a[x][y]='S'; a[x-1][y]='O'; } else if(a[x-2][y]!='#'&&(a[x-1][y]=='O'||a[x-1][y]=='@')&&a[x-2][y]=='*') //如果人和箱子一起走,并且前面是终点 { a[x][y]=' '; x--; a[x][y]='S'; a[x-1][y]='@'; } } if(ch=='a') { if(a[x][y-1]!='#'&&a[x][y-1]!='O'&&a[x][y-1]!='@') //如果只有人,没有箱子 { a[x][y]=' '; y--; a[x][y]='S'; } else if(a[x][y-2]!='#'&&a[x][y-1]=='O') //如果是箱子和人一起走 { a[x][y]=' '; y--; a[x][y]='S'; a[x][y-1]='O'; } else if(a[x][y-2]!='#'&&(a[x][y-1]=='O'||a[x][y-1]=='@')&&a[x][y-2]=='*') //如果人和箱子一起走,并且前面是终点 { a[x][y]=' '; y--; a[x][y]='S'; a[x][y-1]='@'; } } if(ch=='d') { if(a[x][y+1]!='#'&&a[x][y+1]!='O'&&a[x][y+1]!='@') //如果只有人,没有箱子 { a[x][y]=' '; y++; a[x][y]='S'; } else if(a[x][y+2]!='#'&&a[x][y+1]=='O'&&a[x][y+2]!='O') //如果是箱子和人一起走 { a[x][y]=' '; y++; a[x][y]='S'; a[x][y+1]='O'; } else if(a[x][y+2]!='#'&&(a[x][y+1]=='O'||a[x][y+1]=='@')&&a[x][y+2]=='*'&&a[x][y+2]!='O') //如果人和箱子一起走,并且前面是终点 { a[x][y]=' '; y++; a[x][y]='S'; a[x][y+1]='@'; } } if(a[4][2]!='@'&&a[4][2]!='S'&&a[4][2]!='*') { a[4][2]='*'; } if(a[4][3]!='@'&&a[4][3]!='S'&&a[4][3]!='*') { a[4][3]='*'; } if(a[5][2]!='@'&&a[5][2]!='S'&&a[5][2]!='*') { a[5][2]='*'; } if(a[5][3]!='@'&&a[5][3]!='S'&&a[5][3]!='*') { a[5][3]='*'; } if(a[1][2]=='O'||a[1][6]=='O'||a[2][8]=='O'||a[3][8]=='O'||a[5][5]=='O'||a[5][7]=='O') //判断失败的情况 { break; } system("cls"); for(i=0;i<7;i++) puts(a[i]); } system("cls"); if(a[4][2]!='@'||a[4][3]!='@'||a[5][2]!='@'||a[5][3]!='@') printf("YOU LOSE!"); else printf("YOU WIN!"); Sleep(3000); return 0;}
看完上述内容,你们掌握使用C/c++怎么制作一个推箱子小游戏的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网其他教程频道,感谢各位的阅读!
--结束END--
本文标题: 使用C/C++怎么制作一个推箱子小游戏
本文链接: https://www.lsjlt.com/news/278788.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0