开朗的小马 发表于 2024-2-8 21:26:37

让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 == j && tailY == 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-2-8 21:28:37

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

智慧牛牛 发表于 2024-2-10 20:19:09

发一下带有排班的呗求求了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111
页: [1]
查看完整版本: 让chat GPT用c++写一个贪吃蛇是一种什么样的体验?