用c++写一个贪吃蛇的游戏

写一个贪吃蛇游戏需要涵盖以下几个方面的知识:

  1. 图形绘制:使用控制台的图形绘制函数,例如在 Windows 中使用的是 conio.h 中的图形绘制函数。

  2. 游戏逻辑:包括贪吃蛇的移动、食物的生成、检测蛇是否撞墙或撞到自己等。

  3. 数据存储:使用数组或链表存储贪吃蛇的每一节身体以及食物的位置。

以下是一个简单的示例代码:

``` #include <stdio.h> #include <conio.h> #include <windows.h> #define WIDTH 30 #define HEIGHT 20

struct Snake { int x; int y; Snake *next; };

void update(Snake *head) { Snake *temp = head; while (temp->next != NULL) { temp->x = temp->next->x; temp->y = temp->next->y; temp = temp->next; } if (kbhit()) { char ch = getch(); if (ch == 'w') { temp->y--; } if (ch == 's') { temp->y++; } if (ch == 'a') { temp->x--; } if (ch == 'd') { temp->x++; } } }

void draw(Snake *head, int foodX, int foodY) { system("cls"); for (int i = 0; i < HEIGHT; i++) { for (int j = 0; j < WIDTH; j++) { if (i == 0 || i == HEIGHT - 1 || j == 0 || j == WIDTH - 1) { printf("*"); } else if (head->x == j && head->y == i) { printf("@"); } else if (foodX == j && foodY == i) { printf("$"); } else { printf(" "); } } printf("\n"); } }

int main() { Snake head = {WIDTH / 2, HEIGHT / 2, NULL}; Snake *tail = &head; for (int i = 0; i < 5; i++) { Snake *temp = new Snake

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值