实现俄罗斯方块遇到的问题及游戏下载
俄罗斯方块的实现要比贪食蛇复杂一些,代码也不到750行,因为贪食蛇程序的游戏过程只是单线程,也就是说贪食蛇
只在游戏开始的时候开启一个线程,游戏过程中,一直运行的是单线程。俄罗斯方块游戏则是在方块下落后变成障碍物,再启动新的
新的线程,由方块工厂新生产一个方块,这样的循环往复。所以两个游戏代码实现的不同之处主要是这个地方,其他的地方都是次要
问题。我在程序实现刚开始,并没有注意到这个问题。所以,线程的开启时机不对。所以程序执行不稳定,监听器随机出现获取不到
的情况。本来应该在成功获得监听器以后再开的线程,但是我写到了,构造方法里了,但是也邪了门了,这样不科学的做法也行的通
,但是自己的游戏玩着玩着方块就不往下掉了, 别提多郁闷了。看来线程开启的时机也是也是有讲究的,我把这个开启线程放到添加
监听的方法中,获取监听成功且赋值后再开启线程,运行游戏,就OK了,游戏跑的很好。
其实只要注意这个问题,别的实现都还好说,只不过是数学坐标问题。贴个截图:
代码结构截图:
游戏下载点击此处
才17KB,运行环境,帮助文档已经给出下载地址。
需要源码的,另行发放。
作者:Steven(Steven's Think out)
出处:http://shiyangxt.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted on 2009-02-02 11:19 俱正Steven 阅读(1262) 评论(13) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!