让chat GPT用c++写一个贪吃蛇是一种什么样的体验?

2024-02-081万
AI 快速预览详细 收起
本文介绍了使用ChatGPT生成C++贪吃蛇代码的过程。文章首先介绍了ChatGPT及其镜像网站的背景,然后展示了生成的C++代码,包括初始化设置、绘制界面、控制蛇的方向以及处理碰撞等关键部分。通过这种方式,编程新手可以快速上手并理解游戏逻辑。
chat GPT一经发布
迅速引起了全国的广泛关注
国内也出了许多镜像网站(网址看我上一个帖)
那么这些镜像网站能不能像正版一样写代码呢?
话不多说,直接上测评!
这是一个免费的网站









代码如下
#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;        prev2Y = tailY;        tailX = prevX;        tailY = 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 == x && tailY == 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); //sleep(10);    }    return 0;}

屏幕截图 2024-02-08 211645.png (121.54 KB, 下载次数: 4037)

ChatGPT写C++贪吃蛇代码体验 > 编程启蒙_image_3.webp

屏幕截图 2024-02-08 211921.png (92.94 KB, 下载次数: 4149)

已经写出来了

ChatGPT写C++贪吃蛇代码体验 > 编程启蒙_image_6.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
智慧牛牛
智慧牛牛
发一下带有排班的呗求求了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111
开朗的小马
开朗的小马
作者
不知道为什么复制后没有排版
评论过20就发带有排版的
- 没有更多了 -