Arduino : 编写贪吃蛇小游戏 一

前言

因为接触到了 bpibit 的 LED 矩阵,所以萌生了写出一个贪吃蛇小游戏

记录一下编写程序的过程以及思考,毕竟还是一只菜鸟,所以在程序逻辑、代码优化上还是有些不足,希望有大佬能够指出,我会认真学习大佬给的建议

这篇文章是以上一篇文章为基础写的,所以有兴趣可以看我上一篇文章ESP32: BPI-BIT 开发板外设 按键与LED矩阵 学习(Arduino)

划分部分

我把贪吃蛇小游戏分为几个部分

  1. 蛇的移动与碰撞
  2. 苹果的生成

操作工具

测试使用的开发板: bpi-bit v1.2

应用到的外设: WS2812b

测试使用的软件:PlatformIO

蛇的移动与碰撞

将编号转换为坐标轴

因为在void SetPixelColor(uint16_t indexPixel, typename T_COLOR_FEATURE::ColorObject color)中,输入的是面板的整数,不利于后面蛇方向移动程序的编写,所以写了一个将(x,y)矩阵变为整数编号形式的函数

// 将(x,y)变为整数编号
int Count(int x, int y)
{
  return (x - 1) + (y - 1) * 5;
}

这样就把板子的 LED 面板变成了 XY 矩阵的形式,整个程序都是以 XY 矩阵为基础的

在这里插入图片描述

编写了一个 shake 类

class Snake
{
public:
    int snakeLen = 3; // 蛇的长度

    // 蛇身体的位置
    int *snakeLenX = new int[snake
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值