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。您可以根据需要进一步完善和优化代码。
c++
webacc.exe是什么文件?webacc.exe是不是病毒
WINSYS.vbs是什么文件?WINSYS.vbs是不是病毒
winssh.exe是什么文件?winssh.exe是不是病毒
wt.exe是什么文件?wt.exe是不是病毒
winsysetm.exe是什么文件?winsysetm.exe是不是病毒
winstrve.exe是什么文件?winstrve.exe是不是病毒
winsysupd7.exe是什么文件?winsysupd7.exe是不是病毒
winsysupd.exe是什么文件?winsysupd.exe是不是病毒
winsysupd2.exe是什么文件?winsysupd2.exe是不是病毒
winsysupd8.exe是什么文件?winsysupd8.exe是不是病毒