俄罗斯方块代码 java_JAVA语言俄罗斯方块代码实现
本文主要向大家介绍了JAVA语言俄罗斯方块代码实现,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
06主要是定义了一些按键事件,继承了KeyAdapter类,KeyEvent中的getKeyCode()方法可以监测按下了什么按键。
对于触碰左侧、右侧的事件,主要通过x的取值来进行判断。对于持续按下“Down”键,通过Thread的sleep()参数来控制。
TetrisClient类:
import java.awt.*;
import java.awt.event.*;
public class TetrisClient extends Frame{
//声明变量,窗口出现的位置
int x = 300;
int y = 100;
//游戏窗体宽高
public static final int WIDTH = 400;
public static final int HEIGHT = 480;
//修正值
public static final int CORRECT_X = 110;
public static final int CORRECT_Y = 50;
//游戏区域大小
public static final int GAME_WIDTH = 200;
public static final int GAME_HEIGHTH = 400;
Shape s = new Shape(CORRECT_X + 60, CORRECT_Y + 60, 3);
public void lancher() {
//出现位置
this.setLocation(x,y);
//大小
this.setSize(WIDTH, HEIGHT);
//设置标题
this.setTitle("Tetris Game");
//不可调节大小
this.setResizable(false);
//布局属性
this.setLayout(null);
//设置游戏背景颜色
this.setBackground(new Color(255, 239, 213));
//添加窗口关闭事件
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//启动一个刷新线程
new Thread(new paintThread()).start();
//可见性
this.setVisible(true);
//添加按键监控
this.addKeyListener(new keyMonitor());
}
@Override
public void paint(Graphics g) {
Color c = g.getColor();
g.drawRect(CORRECT_X, CORRECT_Y, GAME_WIDTH, GAME_HEIGHTH);
g.setColor(c);
//关于Shape的测试
s.draw(g);
s.changeStatus();
if(!s.stopped) {
s.drop();
}
}
public static void main(String[] args) {
new TetrisClient().lancher();
}
//刷新类(内部类)-线程
public class paintThread implements Runnable{
@Override
public void run() {
while(true) {
repaint();
//刷新间隔
try {
//“下”键按下加速
if(!s.speedUp) {
Thread.sleep(300);
}
Thread.sleep(20);
} catch (InterruptedException e) {
e.getStackTrace();
}
}
}
}
//按键事件的内部类
private class keyMonitor extends KeyAdapter{
@Override
public void keyPressed(KeyEvent e) {
s.keyPressed(e);
}
@Override
public void keyReleased(KeyEvent e) {
s.keyReleased(e);
}
}
}
Unit类:
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
public class Unit {
//出现的位置
private int x,y;
//大小
public static final int SIZE = 20;
//下落步长
public static
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!
俄罗斯方块代码 java_JAVA语言俄罗斯方块代码实现相关推荐
- c语言中数与数之间空格如何打代码,C语言中代码输出的最后一个数不要空格之前的数之间都要空格怎么打...
C语言中五个数比大小,输出最大数如何写代码 #include#defineSIZE5main(){intx[SIZE],i,max;printf("Enter5integers:\n&quo ...
- 易语言php统计代码,易语言统计代码行数与API的工具
DLL命令表 .版本 2 .DLL命令 FindWindowEx, 整数型, "user32", "FindWindowExA", , 在窗口列表中寻找与指定条 ...
- 手机C语言代码,C语言(示例代码)
JNI java本地开发接口 JNI 是一个协议 这个协议用来沟通java代码和外部的本地代码(c/c++). 通过这个协议,java代码就可以调用外部的c/c++代码 外部的c/c++代码也可以调用 ...
- 投票功能+代码+java_java投票程序代码
Apache Tomcat VersionsApache Tomcat®是java Servlet和JSP技术的一个开放源代码的软件实现.不同版本的Apache Tomcat可用于不同版本的servl ...
- c语言helloworld代码(c语言helloworld代码编写)
C语言:求代码 #include int main() int a,b,c,d,t,max,min; printf("Enter four integers: "); scanf( ...
- 奖客富翁系统代码C语言,木马代码-c语言木马代码,最简单的,我保证不做违法的 – 手机爱问...
2009-09-02 鸡蛋怎样做才能保证最有营养 聪明吃鸡蛋 最营养的烹饪方法: 鸡蛋吃法多种多样,就营养的吸收和消化率来讲,煮蛋为100%,炒蛋为97%,嫩炸为98%,老炸为81.1%,开水.牛奶冲 ...
- 表白女生的C语言代码,C语言告白代码,一闪一闪亮晶晶~
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #define I 20 #define R 340 int main() { int i,j,e; ...
- c语言道歉程序代码,C语言恶作剧代码:慎用,被打了不负责
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先你可以看下面的 WScript.Echo("嘿,谢谢你打开我哦,我等你很久拉!"&TSName) WScript.Echo ...
- c语言俄罗斯方块项目文档,俄罗斯方块(C语言)
代码 C语言 俄罗斯方块 #include #include #include #define mDRAW 5 #define mLINE 6 #define mADOWN 7 #define mGE ...
- 分块查找(完整案例与C语言完整代码实现)
写在前面:博主是一位普普通通的19届双非软工在读生,平时最大的爱好就是听听歌,逛逛B站.博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事 ...
最新文章
- javaweb友好的删除提示语句!
- 手机游戏深化、改革。
- pytorch eval
- django--模板继承、组件、自定义标签
- Linux下gcc入门
- 好程序员Web前端分享程序的三大结构(二)while循环
- 字符串-判断数字的三个方法
- 如何基于Dataphin实现敏感数据保护
- 插入排序最优_排序专题插入排序
- java web开源项目源码_超赞!推荐一个专注于Java后端源码分析的Github项目!
- c语言2 amp 3结果,C语言里23=什么?
- atitit.userService 用户系统设计 v6 q413
- EBU 4202数电 LAB2 答案与解析
- Vue实现仿豆瓣电影
- html打印word文档,HTML文件到WORD文档双面打印三步曲
- Latex符号查询网站
- 雷电模拟器配置文件参数解读
- 有书共读:《穷查理宝典》
- 牛客网经典120道Java面试常见题(试题+答案)
- mysql从库binlog_转 mysql 主从复制以及binlog 测试 (5.7)