石头 发布的文章

  经典的俄罗斯小方块,这个小游戏的实现,用了不少时间,得有两天吧。期间中进行了各种试错,方块的旋转平移,边界检测,行的消除。
  期间遇到点问题,比如控制下落时间用的是WAIT()函数,但是会发现一个问题,在WAIT的时间段中,按键是没有任何响应的,是一个阻塞。也就是说,控制方块的变换和平移的按键在这个时间段按下的话,是没有任何反应的,而是等到WAIT时间段完成后,再去反应,这难免感觉有点卡顿,虽然不是真的卡顿。时间短会感觉不出来,如果等待1秒的话,卡顿感是很明显的。不得已用了一个FOR循环去替代WAIT函数,循环中检测按键值,如果没有按键按下,那继续循环,直到设置的循环次数。如果有按键按下直接跳出循环,进行方块平移和变换得到操作。虽然不太正规,但至少没有了卡顿感。

代码如下:(第281行)

FOR I FROM 1 TO 15000-t*130 DO
IF key≠-1 THEN BREAK;
ELSE
GETKEY►key;
END;
END;

代码中的15000是最高的循环次数,在模拟器中是没有问题的,如果到这真机上需要改成1500左右,这样不会等待很长时间再下落。

elluosi2.png

eluosi1.png

这是自己编写的第二个小游戏,贪吃蛇。分为四个难度,移动的速度依次是加快的。有纪录最高分的功能。然而没有加入暂停功能,所以还是不太完善。如果遇到运行缓慢的情况,重启一下计算器就好了。这是第二个编写的小游戏,因为对编程语言还不是太熟悉,所以同样没有经过什么优化,所幸体积是比较小的,不过20k的大小。

snake.png

snake1.png

snakeY.txt

惠普HP 39gII图形计算器小游戏-2048。源码没有经过任何优化,大多是自己边考虑边写的。有很多语句有一些重复,没有经过精简。导致体积有点大,导入到计算器中已经占了32k字节之多了,等有时间在优化一下吧。至于如何导入,请自行百度。作者有时间再出个教程吧。

2048.png

2048.txt