北极豆豆鱼
老师一般会问的都是旋转算法和削行算法。旋转算法有很多种,我做的是求中心点然后交换x和y的位置,削行算法是遍历,看一行内有木有全部占满,有的话就消去,并把上面的移下来。
cocoabread
问你如何实现经常调用的模块,, 例如,如何实现重复消一或多行的算法,随机生成落下的方块会不会连续生成同一种,还有落下的方块会不会造成一种怎么摆都会Game over的摆法.
panda熊猫陈
package UI;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);//定义按钮playButton play_b = new Button("开始游戏");play_b.setSize(new Dimension(50,200));play_b.addActionListener(new Command(Command.button_play,gameScr));//定义按钮Level UPButton level_up_b = new Button("提高级数");level_up_b.setSize(new Dimension(50,200));level_up_b.addActionListener(new Command(Command.button_levelup,gameScr));//定义按钮Level DownButton level_down_b =new Button("降低级数");level_down_b.setSize(new Dimension(50,200));level_down_b.addActionListener(new Command(Command.button_leveldown,gameScr));//定义按钮Level PauseButton pause_b =new Button("游戏暂停");pause_b.setSize(new Dimension(50,200));pause_b.addActionListener(new Command(Command.button_pause,gameScr));//定义按钮QuitButton 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];}//初始化屏幕,并将屏幕数组清零的方法void initScr(){for(int i=0;i
玉面小达摩1986
我以前同学也是做这个毕业设计的。不过是用C++做的。我记得评委提了几个问题。1、俄罗斯方块已经是很老的游戏了,你做的俄罗斯方块与我们平时见过的有什么区别?创新点在哪里?这个问题是百分之百会问的。回答:就要看你到底有没有创新,怎么去和一般的俄罗斯方块比较,要好好总结一下。2、这个毕业设计的工作量、代码量。回答:从你开始收集需求分析开始,时间统计,代码量粗略统计。3、你觉得这个俄罗斯方块还有什么不足,怎么改进?回答:比如界面要更加人性化,音效还不够完美……还要增加多人对战模式等等4、你实现项目的主要技术,核心算法有哪些?回答:介绍主要技术,算法参考。基本上记得的就这些,希望你顺利通过。
.......论文.....源程序...... 一般不会有人给```
对于JSP来说,相信不少毕业生应该是不陌生的,对,我想介绍就是它,希望通过介绍完它之后,对你们毕业设计有所帮助 一、JSP的基本简介:全名为Java Serve
我是学俄语的,不过明年才要论文,我们上几届的一般都写文化习俗的比较多,男孩子有写政治的,主要是中俄关系,今年是俄罗斯中国年,可以写一下相关的。女生写文化的多,例
童年是人的一生中最重要的阶段,一个快乐的童年,对孩子世界观、人生观、道德和品德,以及健康体魄的形成至关重要。童年是每个人都有记忆一生的片段,所以一定要让孩子过一
举例说我的毕业论文题目是这个还挺好写的.写外国文学一般还是写名著和人物分析. 你可以找一个名著像...你比较欣赏的名著都可以写,写的时候要把题目缩小,举例说写的