请帮我写一个贪食蛇程序并运行

时间2023-06-10 17:48:56 提问来自 Tokyo东京 的网友 分类ChatGPT提问 浏览168 热度0
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; // 命名空间可以使用标准库的函数,而不需要每次都加前缀std::。 const int width = 20; // 这是一个常量,用来表示贪食蛇游戏的地图的宽度。 const int height = 20; // 这是一个常量,用来表示贪食蛇游戏的地图的高度。 enum Direction {STOP = 0, LEFT, RIGHT, UP, DOWN}; // 定义枚举变量Direction,表示贪食蛇运动方向。 struct Snake // 定义一个Snake结构体,用于存储贪食蛇信息。 { int x; // x坐标 int y; // y坐标 Direction dir; // 运动方向 }; void Setup() // 画出地图并初始化Snake信息 { Snake s1 = {width/2-1,height/2-1,RIGHT}; for(int i=0 ; i<width+2 ; i++) cout<<"#"; cout<<endl; for(int j=0 ; j<height ; j++){ for(int k=0 ; k<width+2 ; k++){ if(k==0 || k==width+1) cout<<"#"; else if (j==s1.y && k==s1.x) cout<<"@"; else cout<<" "; } cout<<endl; } for(int l=0 ; l<width+2 ; l++) cout<<"#"; cout << endl << endl << endl;; } void Input() { char keyPress = 0; cin >> keyPress; switch (keyPress) { case 'a': s1.dir = LEFT; break;; case 'd': s1.dir = RIGHT;; break;; case 'w': s1.dir = UP;; break;; case 's': s1.dir = DOWN;; break;; default: s1.dir = STOP;; break;; } } void Logic() { switch (s1.dir) { case LEFT: --s1.x;; break;; case RIGHT: ++s1.x ;; break ;; case UP: --s 1 .y ;; break ;; case DOWN : ++s 1 .y ;; break ;; default : return ;; } } int main (){ Setup(); while (true){ Input(); Logic(); } return 0;}

AI智能问答网免责声明:
以上内容除特别注明外均来源于网友提问、ChatGPT回答,权益归原著者所有,本站仅作效果演示和欣赏之用;
若以上展示有冒犯或侵害到您,敬请联系我们进行删除处理,谢谢!

上一篇 开展相关产品代理业务,将产品介绍出去,然 下一篇 搜索框的用法