396浏览
查看: 396|回复: 2

[讨论交流] 让chat GPT用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

已经写出来了

已经写出来了

开朗的小马  见习技师
 楼主|

发表于 2024-2-8 21:28:37

不知道为什么复制后没有排版
评论过20就发带有排版的
回复

使用道具 举报

智慧牛牛  初级技师

发表于 2024-2-10 20:19:09

发一下带有排班的呗求求了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail