#include \n#include <conio.h>\n\nconst int width = 20;\nconst int height = 10;\nint x, y;\nint fruitX, fruitY;\nint score;\nbool gameOver;\nenum eDirecton { STOP = 0, LEFT, RIGHT, UP, DOWN };\neDirecton dir;\n\nvoid Setup()\n{\n gameOver = false;\n dir = STOP;\n x = width / 2;\n y = height / 2;\n fruitX = rand() % width;\n fruitY = rand() % height;\n score = 0;\n}\n\nvoid Draw()\n{\n system("cls"); // 清空控制台\n for (int i = 0; i < width + 2; i++)\n std::cout << "#";\n std::cout << std::endl;\n\n for (int i = 0; i < height; i++)\n {\n for (int j = 0; j < width; j++)\n {\n if (j == 0)\n std::cout << "#";\n if (i == y && j == x)\n std::cout << "O"; // 方块的位置\n else if (i == fruitY && j == fruitX)\n std::cout << "F"; // 水果的位置\n else\n std::cout << " ";\n if (j == width - 1)\n std::cout << "#";\n }\n std::cout << std::endl;\n }\n\n for (int i = 0; i < width + 2; i++)\n std::cout << "#";\n std::cout << std::endl;\n\n std::cout << "Score:" << score << std::endl;\n}\n\nvoid Input()\n{\n if (_kbhit()) // 检测键盘输入\n {\n switch (_getch())\n {\n case 'a':\n dir = LEFT;\n break;\n case 'd':\n dir = RIGHT;\n break;\n case 'w':\n dir = UP;\n break;\n case 's':\n dir = DOWN;\n break;\n case 'x':\n gameOver = true;\n break;\n }\n }\n}\n\nvoid Logic()\n{\n switch (dir)\n {\n case LEFT:\n x--;\n break;\n case RIGHT:\n x++;\n break;\n case UP:\n y--;\n break;\n case DOWN:\n y++;\n break;\n default:\n break;\n }\n\n if (x >= width)\n x = 0;\n else if (x < 0)\n x = width - 1;\n\n if (y >= height)\n y = 0;\n else if (y < 0)\n y = height - 1;\n\n if (x == fruitX && y == fruitY)\n {\n score += 10;\n fruitX = rand() % width;\n fruitY = rand() % height;\n }\n}\n\nint main()\n{\n Setup();\n while (!gameOver)\n {\n Draw();\n Input();\n Logic();\n }\n return 0;\n}


原文地址: https://www.cveoy.top/t/topic/pKU6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录