#include \n#include <conio.h>\n#include <windows.h>\n\nusing namespace std;\n\n// 游戏界面大小\nconst int width = 20;\nconst int height = 10;\n\n// 游戏角色初始位置\nint x = width / 2;\nint y = height - 1;\n\n// 障碍物位置\nint obstacleX = width - 1;\nint obstacleY = height - 1;\n\n// 游戏得分\nint score = 0;\n\n// 游戏是否结束\nbool gameOver = false;\n\nvoid Draw()\n{\n system("cls"); // 清除屏幕\n\n // 绘制游戏界面\n for (int i = 0; i < width + 2; i++)\n cout << "#";\n cout << 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 cout << "#";\n\n // 绘制游戏角色\n if (i == y && j == x)\n cout << "O";\n\n // 绘制障碍物\n else if (i == obstacleY && j == obstacleX)\n cout << "X";\n\n else\n cout << " ";\n\n if (j == width - 1)\n cout << "#";\n }\n cout << endl;\n }\n\n for (int i = 0; i < width + 2; i++)\n cout << "#";\n cout << endl;\n\n cout << "Score:" << score << endl;\n}\n\nvoid Input()\n{\n if (_kbhit()) // 检测键盘输入\n {\n switch (_getch())\n {\n case 'a':\n x--;\n break;\n case 'd':\n x++;\n break;\n case 'q':\n gameOver = true;\n break;\n }\n }\n}\n\nvoid Logic()\n{\n // 更新障碍物位置\n obstacleX--;\n\n // 碰撞检测\n if (x == obstacleX && y == obstacleY)\n {\n score++;\n obstacleX = width - 1;\n }\n\n // 游戏结束条件\n if (y == height - 1)\n gameOver = true;\n}\n\nint main()\n{\n while (!gameOver)\n {\n Draw();\n Input();\n Logic();\n Sleep(10); // 控制游戏速度,单位为毫秒\n }\n\n return 0;\n}\n\n这个跑酷小游戏的基本逻辑是玩家通过控制角色左右移动,躲避障碍物来获得分数。游戏界面使用字符画方式绘制,玩家角色用字母 "O" 表示,障碍物用字母 "X" 表示。玩家每成功躲避一个障碍物,得分增加一分。游戏结束条件是玩家触碰到底部边界。


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

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