任一节坐标值与蛇头坐标相等fori1is
ake
ode1i擦除自己碰撞后位置蛇的身子setcolor0recta
gles
akexis
akeyis
akexi10s
akeyi10recta
gles
akexs
ake
ode1s
akeys
ake
ode1s
akexs
ake
ode110s
akeys
ake
ode110s
akelife1生命值减少一s
ake
ode5prscore输出结果ifs
akelife0判断生命值是否为0gameover游戏结束break退出内循环ifs
akex055s
akex0595s
akey055s
akey0455判断蛇是否与墙体碰撞fori1is
ake
ode1i擦除撞墙后位置蛇的身子setcolor0recta
gles
akexis
akeyis
akexi10s
akeyi10recta
gles
akexs
ake
ode1s
akeys
ake
ode1s
akexs
ake
ode110s
akeys
ake
ode110s
akex0100s
akey0100蛇头的位置坐标重新初始化s
akex1110s
akey1100s
akedirectio
1蛇起始的移动方向定义为向右s
akelife1生命值减少一s
ake
ode5相应节数减少5节prscoreifs
akelife0gameoverbreak判断蛇与障碍物碰撞,食物是否与障碍物重叠ifgamelevel1判断级别,并设定相应的障碍物数量,即数组个数k5elseifgamelevel2k9elseifgamelevel3
fk14elseifgamelevel4k19elseifgamelevel5k25forj0jkjifs
akex0blockxjs
akey0blockyjfori1is
ake
ode1i擦除撞墙后位置蛇的身子setcolor0recta
gles
akexis
akeyis
akexi10s
akeyi10recta
gles
akexs
ake
ode1s
akeys
ake
ode1s
akexs
ake
ode110s
akeys
ake
ode110iffoodxblockxjblockyjfoody防止障碍物与食物重叠setcolor0设定食物的颜色为背景色,即擦除recta
glefoodxfoodyfoodx10foody10foodyes1食物重新生成s
akex0100s
akey0100蛇头的位置坐标重新初始化s
akex1110s
akey1100s
akedirectio
1蛇起始的移动方向定义为向右s
akelife1s
ake
ode5prscoreifs
akelife0gameoverbreak
ifs
akex0foodxs
akey0foody判断蛇是否吃到食物
setcolor0设定食物的颜色为背景色,即擦除recta
glefoodxfoodyfoodx10foody10s
akexs
ake
ode20新的一节放在不可见的位置s
akeys
ake
ode20s
ake
ode蛇身增加一节ifs
ake
ode2当节数每增加5节生命值增加一s
akelife1fabss
ake
ode25
ffoodyes1场景需要增加食物gamescore20加分prscore输出得分ifs
akex0goodsxs
akey0goodsy判定蛇是否得到宝贝setcolor0设定宝贝的颜色为背景色,即擦除recta
glegoodsxgoodsygoodsx10goodsy10goodsyes1场景需要增加新的宝贝gamescore100得到宝贝后加100r