问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

求一个JAVA编的俄罗斯方块代码?

提问网友 发布时间:2023-10-28 07:40
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
2个回答
热心网友 回答时间:2024-03-26 02:05
import java.awt.*;
import java.awt.event.*;
//俄罗斯方块类
public class ERS_Block extends Frame{
public static boolean isPlay=false;
public static int level=1,score=0;
public static TextField scoreField,levelField;

public static MyTimer timer;
GameCanvas gameScr;

public static void main(String[] argus){
ERS_Block ers = new ERS_Block("俄罗斯方块游戏 V1.0 Author:Vincent");
WindowListener win_listener = new WinListener();
ers.addWindowListener(win_listener);
}

//俄罗斯方块类的构造方法
ERS_Block(String title){
super(title);

setSize(600,480);
setLayout(new GridLayout(1,2));

gameScr = new GameCanvas();
gameScr.addKeyListener(gameScr);

timer = new MyTimer(gameScr);
timer.setDaemon(true);
timer.start();
timer.suspend();

add(gameScr);

Panel rightScr = new Panel();
rightScr.setLayout(new GridLayout(2,1,0,30));
rightScr.setSize(120,500);
add(rightScr);

//右边信息窗体的布局
MyPanel infoScr = new MyPanel();
infoScr.setLayout(new GridLayout(4,1,0,5));
infoScr.setSize(120,300);
rightScr.add(infoScr);

//定义标签和初始值
Label scorep = new Label("分数:",Label.LEFT);
Label levelp = new Label("级数:",Label.LEFT);
scoreField = new TextField(8);
levelField = new TextField(8);
scoreField.setEditable(false);
levelField.setEditable(false);
infoScr.add(scorep);
infoScr.add(scoreField);
infoScr.add(levelp);
infoScr.add(levelField);
scorep.setSize(new Dimension(20,60));
scoreField.setSize(new Dimension(20,60));
levelp.setSize(new Dimension(20,60));
levelField.setSize(new Dimension(20,60));
scoreField.setText("0");
levelField.setText("1");

//右边控制按钮窗体的布局
MyPanel controlScr = new MyPanel();
controlScr.setLayout(new GridLayout(5,1,0,5));
rightScr.add(controlScr);

//定义按钮play
Button play_b = new Button("开始游戏");
play_b.setSize(new Dimension(50,200));
play_b.addActionListener(new Command(Command.button_play,gameScr));

//定义按钮Level UP
Button level_up_b = new Button("提高级数");
level_up_b.setSize(new Dimension(50,200));
level_up_b.addActionListener(new Command(Command.button_levelup,gameScr));

//定义按钮Level Down
Button level_down_b =new Button("降低级数");
level_down_b.setSize(new Dimension(50,200));
level_down_b.addActionListener(new Command(Command.button_leveldown,gameScr));

//定义按钮Level Pause
Button pause_b =new Button("游戏暂停");
pause_b.setSize(new Dimension(50,200));
pause_b.addActionListener(new Command(Command.button_pause,gameScr));

//定义按钮Quit
Button quit_b = new Button("退出游戏");
quit_b.setSize(new Dimension(50,200));
quit_b.addActionListener(new Command(Command.button_quit,gameScr));

controlScr.add(play_b);
controlScr.add(level_up_b);
controlScr.add(level_down_b);
controlScr.add(pause_b);
controlScr.add(quit_b);
setVisible(true);
gameScr.requestFocus();
}
}

//重写MyPanel类,使Panel的四周留空间
class MyPanel extends Panel{
public Insets getInsets(){
return new Insets(30,50,30,50);
}
}

//游戏画布类
class GameCanvas extends Canvas implements KeyListener{
final int unitSize = 30; //小方块边长
int rowNum; //正方格的行数
int columnNum; //正方格的列数
int maxAllowRowNum; //允许有多少行未削
int blockInitRow; //新出现块的起始行坐标
int blockInitCol; //新出现块的起始列坐标
int [][] scrArr; //屏幕数组
Block b; //对方快的引用

//画布类的构造方法
GameCanvas(){
rowNum = 15;
columnNum = 10;
maxAllowRowNum = rowNum - 2;
b = new Block(this);
blockInitRow = rowNum - 1;
blockInitCol = columnNum/2 - 2;
scrArr = new int [32][32];
}
热心网友 回答时间:2024-03-26 02:06
C#写的有 java 的没写过。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

农业银行网上挂失7天怎么还不解除? 怎样才能加到更多女性朋友的31 这只卡通猪叫什么名字,喜欢死了 福特睿界的尾门电动撑杆为什么拆了装上就不能用了 农业银行卡 不消失弄成挂失了 在手机上挂的 请问怎么解除挂失 必须去银 ... 本田缤智雾灯怎么开图解 本田缤智雾灯开关图解44 ...的自己形成的?我都没有去设置,因为只能设置一次不能改,所以用... 男人彻底从你世界消失,说明了什么? 2015年女孩紫玲是什么含义?1 一个盒子里装有白、红、黑三种小球各10个,除颜色不同外,其余都相同,若... 袋中装有10个小球,颜色为红、白、黑三种,除颜色外其他均相同.若要求... 我现在在土桥,从土桥坐地铁怎么到三元桥西北角第三置业大厦d座?怎么... 阴阳师手机号最多可以绑定多少个角色? 阴阳师手机能绑定几个号?5 码可以改手机号码吗 怎么才能把改成手机号122 中文系师范生考研可以考哪几个专业?苏州大学和南京师范大学比较... 苏州大学文学院如何?4 女孩姓名孙景妤是什么意思 叫孙妤歆名字的含义5 农业银行借记卡挂失后,没有消户,不记的卡号,只记密码,怎样才能消户... 专利应该如何注册4 我删了她但始终忘记不了她我该怎么办 当别人跟我开善意的玩笑时我该怎么去应付才会更好呢?5 别人和我开玩笑的时候我不知道怎么回答怎么办23 当一个好朋友和你开玩笑,而且开的很严重,该怎么办? 理想的阶梯整篇论证思路是啥?求解。 手机号能绑定几个? 大学在校期间应该填写哪些内容? xp11.2易位/tfe3基因融合相关性肾癌人寿保险能报销吗 GTA58g内存会不会卡 有没有无线摄像头可以直接跟手机连接?通过蓝牙或者WIFI连接的。拍摄的... 一个号码注册了两个 怎么找回第一个? 万年历黄道吉日 2024年二月装修吉日吉时? 在社会主义初级阶段的基本纲领中党领导人民发展经济的目标和要求是什么... 有首粤语歌里歌词四处去享受下叫什么歌了歌了3 陈奕迅的一首粤语歌《猜情寻》--这三个字啥意思?43 万年历黄道吉日 2024年三月装修吉日吉时? 求JAVA语言设计的俄罗斯方块代码。谢谢1 卧室里养鱼好不好 卧室风水学教你鱼缸的摆放位置有何讲究求解答_百度知 ...
Top