看到好多发俄罗斯源码的,我也发一个:
08年写的一个Java版俄罗斯方块程序
界面做的中规中矩,每种形状颜色都不相同
程序控制还可以,没什么大的Bug
消磨时间的时候可以Down下来玩玩
下载链接(内含全部源码):http://download.csdn.net/user/zhaohuihua菜单选项
也做了不少菜单选项
可自定义控制键,可设置单色彩色显示,可设置网格是否显示
关卡有三组选择:
标准关卡:难度中等,7种基本形状,共分2级,50000分一级,速度递增,下落一格的速度每2000分减少10毫秒
速度关卡:难度较大,7种基本形状,共分10级,10000分一级,速度快且随着分数的增加而递增
复杂性关卡:难度较大,共分10级,8000分一级,随着级别越高复杂度越来越大,会出现随机填充的障碍物,以及难以应付的复杂形状,到第4级以后会出现16种基本形状,够你难受的了全部形状
已知Bug
1. 偶尔会出在现形状下落的过程中形状的某一块没有被擦除掉,原因不明
可能原因为,程序在刷新视图时并没有全部擦除重画,只是根据形状在上一次的显示位置将这一小块重画了一个空块以覆盖
仔细测试过,后台明明执行了这个过程,视图却没有被擦除掉,不知是不是JDK的问题
2. 一直按住回车键,程序将在开始游戏和结束游戏之间不停切换,偶尔会出现蒙层未盖住形状的问题
蒙层:程序会在游戏暂停时蒙上一层淡蓝色,而在游戏停止时蒙上一层淡红色关于俄罗斯方块游戏游戏简介
俄罗斯方块是一款益智方块类游戏,
这款游戏最初是由苏联的电脑科学家帕吉特诺夫(Alex Pajitnov)于1985年制作的,
作者给了他一个源自希腊字4(tetra)的名字Tetris。
1989年由任天堂于发行GameBoy版,推出后风靡全球,成为益智方块类型游戏中知名度最高的一款。
它看似简单但却变化无穷,上手极其容易,但是要熟练地掌握其中的操作与摆放技巧,难度却不低。玩法简介
游戏具有一个用于摆放小方块的平面虚拟场地,
一组由几个小方块组成的规则形状(Tetromino),
游戏每次随机输出一种形状到场地顶部,自动以一定的速度下落,
用户在形状的过程中可以控制形状的左右移动及旋转以将形状填充到场地中,
直至形状下落至场地底部或被场地中已有的方块阻挡而不能再下落,
游戏再次输出一个形状,周而复始。
如果这次填充将场地的一行或多行完全填满,则组成这些行的所有方块将被消除,
并且以此来换取一定的积分奖励,
而未被消除的方块会一直累积,并对后来的形状摆放造成各种影响,
如果下一个形状的输出位置已经被未消除的方块所占据,则游戏结束。
08年写的一个Java版俄罗斯方块程序
界面做的中规中矩,每种形状颜色都不相同
程序控制还可以,没什么大的Bug
消磨时间的时候可以Down下来玩玩
下载链接(内含全部源码):http://download.csdn.net/user/zhaohuihua菜单选项
也做了不少菜单选项
可自定义控制键,可设置单色彩色显示,可设置网格是否显示
关卡有三组选择:
标准关卡:难度中等,7种基本形状,共分2级,50000分一级,速度递增,下落一格的速度每2000分减少10毫秒
速度关卡:难度较大,7种基本形状,共分10级,10000分一级,速度快且随着分数的增加而递增
复杂性关卡:难度较大,共分10级,8000分一级,随着级别越高复杂度越来越大,会出现随机填充的障碍物,以及难以应付的复杂形状,到第4级以后会出现16种基本形状,够你难受的了全部形状
已知Bug
1. 偶尔会出在现形状下落的过程中形状的某一块没有被擦除掉,原因不明
可能原因为,程序在刷新视图时并没有全部擦除重画,只是根据形状在上一次的显示位置将这一小块重画了一个空块以覆盖
仔细测试过,后台明明执行了这个过程,视图却没有被擦除掉,不知是不是JDK的问题
2. 一直按住回车键,程序将在开始游戏和结束游戏之间不停切换,偶尔会出现蒙层未盖住形状的问题
蒙层:程序会在游戏暂停时蒙上一层淡蓝色,而在游戏停止时蒙上一层淡红色关于俄罗斯方块游戏游戏简介
俄罗斯方块是一款益智方块类游戏,
这款游戏最初是由苏联的电脑科学家帕吉特诺夫(Alex Pajitnov)于1985年制作的,
作者给了他一个源自希腊字4(tetra)的名字Tetris。
1989年由任天堂于发行GameBoy版,推出后风靡全球,成为益智方块类型游戏中知名度最高的一款。
它看似简单但却变化无穷,上手极其容易,但是要熟练地掌握其中的操作与摆放技巧,难度却不低。玩法简介
游戏具有一个用于摆放小方块的平面虚拟场地,
一组由几个小方块组成的规则形状(Tetromino),
游戏每次随机输出一种形状到场地顶部,自动以一定的速度下落,
用户在形状的过程中可以控制形状的左右移动及旋转以将形状填充到场地中,
直至形状下落至场地底部或被场地中已有的方块阻挡而不能再下落,
游戏再次输出一个形状,周而复始。
如果这次填充将场地的一行或多行完全填满,则组成这些行的所有方块将被消除,
并且以此来换取一定的积分奖励,
而未被消除的方块会一直累积,并对后来的形状摆放造成各种影响,
如果下一个形状的输出位置已经被未消除的方块所占据,则游戏结束。
解决方案 »
- count(*)与count(emp_no)差别很大不?
- 【新手提问】请问怎么给托盘图标右击就出来个JPopupMenu那样的东西呢?
- jsp里的java代码是不是都是在web容器里执行的啊?
- GridLayout布局的边框如何显示
- 请教高手:javabean的问题,谁能帮我看看呀?(特急)
- 【菜鸟发问】一个老生常谈的问题
- String s = "C" + ":\"; 如何实现 aa:\
- JAVA简单的输入输出问题
- 哪里有Weblogic的技术资料
- javafx 和netty 混合使用出现线程不一致问题,求大神指点
- java IO代码问题:将两个txt文件内容分别去重并去除重复内容后写入到另外两个txt文件,下面代码根本写不进
- 请教java移位运算问题:当移动位数是负数是怎么计算?不胜感激!!!
src
└─zhh
└─game
└─tetris
│ Tetris.java
├─controller
│ GameController.java
│ ScoringController.java
│ SoundController.java
│ WinkController.java
├─dialog
│ AboutAuthorDialog.java
│ AboutGameDialog.java
│ HotkeySetDialog.java
│ LevelSetChooseDialog.java
│ ViewSetDialog.java
├─entity
│ Ground.java
│ Level.java
│ LevelSet.java
│ LevelSetFactory.java
│ Shape.java
│ ShapeFactory.java
├─global
│ Config.java
│ Utilities.java
├─listener
│ ConfigListener.java
│ GameListener.java
│ GameViewListener.java
│ PreviewListener.java
│ ScoringListener.java
├─listenerinstance
│ ConfigAdapter.java
│ ReadOnlyListener.java
│ ScoringAdapter.java
├─resource
│ ├─images
│ │ tetris.png
│ └─sounds
│ continue.wav
│ down.wav
│ level.wav
│ over.wav
│ pause.wav
│ scoring.wav
│ start.wav
│ swift.wav
│ winning.wav
└─view
GamePanel.java
GridBackground.java
PreviewPanel.java
ThickBevelBorder.java
http://download.csdn.net/source/1341618