ESAP达摩院 思想有多远,我们就能走多远

聚表版贪吃蛇震撼发布


本文带你一起来观摩村长的聚表新玩法——小游戏开发

先看疗效

棋盘

表格上画一个24*24的棋盘,用来供小蛇蛇爬行,右边是方向按钮启停按钮(GO/STOP)

主循环

开发过游戏的童鞋应该都知道,游戏一般有个主循环,村长在主表定义了一个RUN字段,类型为整形,作为主循环条件

在上图中我们可以看到点击GO按钮后,RUN赋值为1,同时提数生成一个位置随机的新豆豆,然后进入主循环。

下图是主循环流程:

主要包括:

  • 蛇头的前进:x=x+xx,y=y+yy
  • 判断吃豆:if(x=ex and y=ey)
  • 蛇身跟进:提数q移动
  • 判断是否挂掉:x,y>24 或者 x,y<0
  • 等待300毫秒

蛇的移动

主表定义x,y为蛇头的坐标字段,xx,yy为蛇的前进向量。

明细定义x,y为蛇身子的坐标字段,旁边有一个flag字段,当flag=1时表示这一截身子是蛇尾,用来控制移动效果。

提数q移动如下:插入新头,舍弃蛇尾。

新豆生产

主表定义ex,ey为豆豆的坐标字段,类型整形,提数公式q新豆定义如下:

通过直接写sql,利用cast(ceiling(rand() * 24) as int)生成1~24之间的随机整数,然后填入到ex,ey即可。

吃豆

当蛇头(x,y)与豆豆(ex,ey)重叠时,判断吃豆变长,提数公式q吃定义如下:

实际就是把蛇尾复制一下,这样就变长了

下面是完成后的主循环完整命令截图:

动画显示

这个部分比较简单,设置三种条件格式,根据x,y,ex,ey,明细表的x,y显示不同颜色即可。

小结


近似文章