c++贪吃蛇代码怎么写


以下是一个简单的C++贪吃蛇游戏代码示例:

#include <iostream>#include <conio.h>#include <windows.h>using namespace std;bool gameOver;const int width = 20;const int height = 20;int x, y, fruitX, fruitY, score;int tailX[100], tailY[100];int nTail;enum eDirection { STOP = 0, LEFT, RIGHT, UP, DOWN };eDirection dir;void Setup(){gameOver = false;dir = STOP;x = width / 2;y = height / 2;fruitX = rand() % width;fruitY = rand() % height;score = 0;}void Draw(){system("cls");for (int i = 0; i < width + 2; i++)cout << "#";cout << endl;for (int i = 0; i < height; i++){for (int j = 0; j < width; j++){if (j == 0)cout << "#";if (i == y && j == x)cout << "O";else if (i == fruitY && j == fruitX)cout << "F";else{bool print = false;for (int k = 0; k < nTail; k++){if (tailX[k] == j && tailY[k] == i){cout << "o";print = true;}}if (!print)cout << " ";}if (j == width - 1)cout << "#";}cout << endl;}for (int i = 0; i < width + 2; i++)cout << "#";cout << endl;cout << "Score: " << score << endl;}void Input(){if (_kbhit()){switch (_getch()){case 'a':dir = LEFT;break;case 'd':dir = RIGHT;break;case 'w':dir = UP;break;case 's':dir = DOWN;break;case 'x':gameOver = true;break;}}}void Logic(){int prevX = tailX[0];int prevY = tailY[0];int prev2X, prev2Y;tailX[0] = x;tailY[0] = y;for (int i = 1; i < nTail; i++){prev2X = tailX[i];prev2Y = tailY[i];tailX[i] = prevX;tailY[i] = prevY;prevX = prev2X;prevY = prev2Y;}switch (dir){case LEFT:x--;break;case RIGHT:x++;break;case UP:y--;break;case DOWN:y++;break;default:break;}if (x >= width)x = 0;else if (x < 0)x = width - 1;if (y >= height)y = 0;else if (y < 0)y = height - 1;for (int i = 0; i < nTail; i++){if (tailX[i] == x && tailY[i] == y)gameOver = true;}if (x == fruitX && y == fruitY){score += 10;fruitX = rand() % width;fruitY = rand() % height;nTail++;}}int main(){Setup();while (!gameOver){Draw();Input();Logic();Sleep(10);}return 0;}

请注意,这只是一个简单的贪吃蛇游戏代码示例,可能存在一些功能性的不足和bug。您可以根据需要进一步完善和优化代码。


上一篇:PyTorch中怎么处理文本数据序列任务

下一篇:PyTorch中怎么应对过拟合问题


c++
Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器