在家闲着没事,做了一个俄罗斯方块程序,界面如下:

大体思路如下:

1. 每个方块占用固定大小,我这里的方块是20*20像素,方块显示区域为15行9列,

因此需要绘制一个180*300的矩形区域,用来显示方块。

2.创建各种类型的方块对象,一共7种方块,每种方块其实可以看成四个小方块的组合,我这里使用二维数组来存储不同类型的方块;

3.接下来将方块绘制在Panel上面。

4.创建一个线程,定时改变方块的位置,每次让方块下移一步;

5.还需要创建一个线程定时刷新界面,这样方块就在界面往下移动了;

6.监听键盘事件,处理方向键被按下事件,当方向键被按下时改变方块的位置;

7.碰撞检测,每次方块移动时检测方块是否超出界面;

8.当方块移动到底部或者碰撞到其他方块时,方块停止移动;

9.创建一个15行9列的二维数组来存储停止移动的方块,并将方块绘制到界面上;

10.每次方块停止移动后,检测是否可以消除方块,也即是检测二维数组是否存在整行的方块,如果存在则将该行方块

清空,上面的所有方块下移;

11.使用方块的旋转,这一步最复杂,可以参考https://blog.csdn.net/janchin/article/details/6310654,

使用二维数组来存储每种类型的方块,方块的旋转就转变成了二维数组的旋转,需要选取一个点作为旋转的轴心,旋转后根据轴心的坐标来调整方块的坐标。

12.每消除一行方块,计分并计算等级;

13.检测方块是否碰撞到界面顶部,碰撞到顶部则游戏结束,显示游戏结束提示并显示重新开始按钮;

代码已经上传到github上,github地址:https://github.com/hgq0916/tetris.git

java编写的俄罗斯方块小程序相关推荐

  1. 腾讯小程序 java编写_微信小程序 使用腾讯地图SDK详解及实现步骤

    微信小程序 使用腾讯地图SDK详解及实现步骤 近期在做一款彩票服务类项目中用到了腾讯地图提供的小程序解决方案,拿来给大家分享一下! 使用起来非常简单,就是一些功能还有待完善. 官方文档:http:// ...

  2. C/C++/SFML编写俄罗斯方块小程序 附代码和下载链接

    C/C++SFML编写俄罗斯方块小程序 文章目录 C/C++SFML编写俄罗斯方块小程序 前言 一.游戏下载链接 二.游戏截图 三.小程序功能 1.俄罗斯方块游戏的实现 2.主菜单功能 3.游戏音乐, ...

  3. java俄罗斯方块程序_使用JAVA编写的俄罗斯方块程序, 具有非常全面的功能.

    Lastsong-Tetris 使用JAVA编写的俄罗斯方块程序, 具有非常全面的功能. 游戏基本规则: 1.打开游戏窗口后, 点击开始按钮进行游戏; 2.每消一行就会增加10分和1消行数,当分数累计 ...

  4. 计算器小程序java课程设计,java课程设计----计算器小程序报告.doc

    java课程设计----计算器小程序报告.doc #####学院JAVA语言课程设计报告小程序计算器系统管理班级:#######姓名:#####指导老师:###时间:2012年6月25日至6月29日2 ...

  5. java开发的俄罗斯方块小游戏,可下载,2021-06-22

    java开发的俄罗斯方块小游戏,可下载 文章目录 java开发的俄罗斯方块小游戏,可下载 游戏操作介绍 游戏压缩包下载 最近在老师要求下组队,一起使用eclipse编写了Java游戏代码,导入sqli ...

  6. 编写文件搜索小程序:1. 输入绝对路径以及搜索关键字,2. 搜索指定路径下(包括子文件夹)中名称包含关键字的所有文件并打印出,3. 将当前操作记录日志

    package com.homework;import java.io.File; import java.io.FileOutputStream; import java.io.IOExceptio ...

  7. python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...

  8. main java game,playgame 一个JAVA编写的飞行小游戏,有基本完整的 框架,适合初学者参照学习 Other s 其他 238万源代码下载- www.pudn.com...

    文件名称: playgame下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 7050 KB 上传时间: 2013-06-06 下载次数: 3 提 供 者: Lyq ...

  9. 3种设计模式的java小程序,java实现的设计模式小程序 模拟Web系统

    [实例简介] java实现的设计模式小程序,应用了策略模式,单例模式,工厂模式,抽象工厂模式,责任链模式.模拟的是Web系统针对不同用户提供不同的功能,可以在此基础上添加自己的代码. [实例截图] [ ...

最新文章

  1. python 类的执行中保部存值_python函数名称空间与作用域、闭包
  2. 基于linuxunix高性能web服务器架构思路分析
  3. 如何設定 VS2008 讓 HTML 在格式化排版時不要破壞版面
  4. 机器人科迪的天空_机器人科迪的天空游戏评测:我要跳的更高
  5. 【直播课】6小时教你熟知Anchor free理论基础,掌握项目实战技巧
  6. 对讲机服务器信号不好怎么办呢,手机信号不好是什么原因?该怎么办?教你一招立马解决(绝对有效)...
  7. 查看android数据库sqlite3中的表及数据、直接编辑数据库
  8. python与正则表达式(part8)--compile对象及match对象的属性方法
  9. java案例源代码_求java案例源代码 越多越好!
  10. 大型计算机变形,计算机变形病毒的主要特征和发展趋势
  11. IOS疯狂基础之GIF图片的显示
  12. linux 命令 单词,linux常用命令的英文单词缩写
  13. 阿拉伯数字金钱转中文大写
  14. html中的flv视频播放器
  15. 【b站雅思笔记】Simon‘s IELTS Course - 听力部分
  16. linux永久自动挂载
  17. LightGBM详细
  18. 大数据周会-本周学习内容总结03
  19. ChatGpt 能取代人类吗?
  20. WinRAR文件图标问题

热门文章

  1. 相关性及相关性的显著性检验
  2. 加解密在线工具和进制转化在线工具
  3. Python中range和xrange有何区别
  4. 开心一刻丨程序员,才是真正的段子手
  5. 云南医药杂志云南医药杂志社云南医药编辑部2023年第2期目录
  6. Vue2项目运行报错
  7. makefile/make用法
  8. CODING DevOps 高可用实践,保障服务稳定的“定海神针”
  9. 最常用的6种基本思维导图,让你快速入门
  10. 【调剂】华北水利水电大学2020年硕士研究生预调剂及复试工作安排