俄罗斯方块游戏.doc
《俄罗斯方块游戏.doc》由会员分享,可在线阅读,更多相关《俄罗斯方块游戏.doc(17页珍藏版)》请在沃文网上搜索。
1、石家庄职业技术学院目录摘要2一 游戏设计说明31.1 游戏的设计及实现31.2 游戏流程图设计4二 详细设计42.1参数及界面42.2初始化构造方法52.3 初始化地图62.4生成新方块的方法62.5 旋转方法62.6 判断是否合法方法72.7 消行方法72.8 判断挂方法8三 测试分析8四 设计体会8五 游戏代码10参考文献:18摘要俄罗斯方块游戏运用java实现具有一定功能的游戏软件,主要功能如下:1. 控制对象左右下运动;2. 控制对象旋转;3. 判断对象是否越界;4. 判断对象底下是否到底下或固定对象;5. 判断某一行是否全有对象,然后消一行,加分;6. 判断游戏进行是否挂了,然后自动
2、重新开始,分数清零。关键词:java、俄罗斯方块游戏、对象一 游戏设计说明1.1 游戏的设计及实现本游戏主要有以下5个主要方法:1.MyPanel() 初始化构造方法;2.newmap() 初始化地图;3.newboxs() 生成新方块方法;4.blow() 是否合法方法;5.gobox() 消行方法;1.2 游戏流程图设计开始初始化构造方法初始化地图生成新方块画围墙旋转方法左移方法右移方法下落方法是否合法方法把当前添加map画方块方法消行方法判断挂方法二 详细设计2.1参数及界面 int boxs 方块类型int scoer 分数int boxscore 方块状态int map = new
3、int1323 定义已经放下的方块x=0-11,y=0-212.1游戏界面2.2初始化构造方法开始,初始化方块、分数、地图等。public MyPanel() newboxs();newmap(); Timer timer = new Timer(1000, new TimerListener();timer.start();drawbox();2.3 初始化地图开始游戏时,初始化参数。public void newmap() for (i = 0; i 12; i+) for (j = 0; j 22; j+) mapij = 0; 2.4生成新方块的方法public void newbox
4、s() boxs = (int) (Math.random() * 1000) % 7;boxscode = (int) (Math.random() * 1000) % 4;x = 4;y = 0;if (gameover(x, y) = 1) newmap(); drawbox(); score = 0; JOptionPane.showMessageDialog(null, GAME OVER);2.5 旋转方法通过按来控制对象旋转,如果对象没有越界或附近没有固定对象可以旋转,否侧失效。public void turn() int tempturnState = boxscode;box
5、scode = (boxscode + 1) % 4;if (blow(x, y, boxs, boxscode) = 1)if (blow(x, y, boxs, boxscode) = 0) boxscode = tempturnState;repaint();2.6 判断是否合法方法用来判断对象是否越界、是否继续下去等。public int blow(int x, int y, int boxs, int boxscode) for (int a = 0; a 4; a+) for (int b = 0; b 4; b+) if (shapesboxsboxscodea * 4 + b
6、= 1) & (mapx+ b + 1y + a = 1)| (shapesboxsboxscodea * 4 + b = 1) & (mapx+ b + 1y + a = 2) return 0; return 1;2.7 消行方法如果某一行全有固定对象,则消失某一行;否则不消失。public void gobox() 法 int c = 0;for (int b = 0; b 22; b+) for (int a = 0; a 0; d-) for (int e = 0; e 11; e+) maped = maped - 1; c = 0;2.8 判断挂方法如果堆积满了则挂,并重新开始。
7、public int gameover(int x, int y) if (blow(x, y, boxs, boxscode) = 0) return 1;return 0;三 测试分析运行俄罗斯方块游戏,操作左右下运动、旋转运动没有卡现象,运行正常。分数增加、消行正常。发现游戏一打开就自动开始了,没有考虑这点,使玩家成被动了。四 设计体会本次课程设计主要是运用本学期所学到的Java基础知识来设计一个符合要求的俄罗斯方块游戏,这期间我遇到了很多的困难,发现了很多的问题,正是在解决问题的期间我才慢慢地熟悉了Java的基础知识,才慢慢学会了如何去按照给定的要求设计出合适的java系统。通过本次课
8、程设计,我明白了一个道理:无论做什么事情,都必需养成严谨,认真,善思的工作作风遇到问题最好的办法就是请教别人,因为每个人掌握的情况都不一样,一个人不可能做到处处都懂,必须发挥群众的力量,复杂的事情才能够简单化。这一点我深有体会,在很多时候我遇到的困难或许别人之前就遇到过,向他们请教远比自己在那边摸索来得简单来得快。五 游戏代码MyJFrame.javapackage Russia;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.
9、*;SuppressWarnings( serial, unused )public class MyJFrame extends JFrame implements ActionListener public static boolean start=false; public MyJFrame() Image icon = getToolkit().getImage(F:javaworkspaceRussia 1.1icon.png);setIconImage(icon);setTitle(俄罗斯方块小游戏);setLocation(470,130);setDefaultCloseOper
10、ation(MyJFrame.EXIT_ON_CLOSE);setSize(247,520);setVisible(true);setResizable(false); MyPanel a = new MyPanel(); addKeyListener(a); add(a); JMenuBar menu = new JMenuBar();setJMenuBar(menu);JMenu game = new JMenu(游戏);JMenuItem exit = game.add(退出);menu.add(game); exit.addActionListener(this); public st
11、atic void main(String args) MyJFrame frame = new MyJFrame(); Override public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString s=e.getActionCommand();if(s=退出) System.exit(0); MyPanel.javapackage Russia;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.even
12、t.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.*;SuppressWarnings(serial)class MyPanel extends JPanel implements KeyListener private int boxs;/代表方块类型 private int score = 0; private int boxscode;/ 代表方块状态 private int x; private int y; private int i
13、 = 0; int j = 0; int flag = 0; int map = new int1323;/ 定义已经放下的方块x=0-11,y=0-21; public MyPanel() / 初始化构造方法 newboxs();newmap(); Timer timer = new Timer(1000, new TimerListener();timer.start();drawbox(); public void newmap() / 初始化地图 for (i = 0; i 12; i+) for (j = 0; j 22; j+) mapij = 0; / 方块的形状 第一组代表方块
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 俄罗斯方块 游戏