java课程设计报告材料-俄罗斯方块.docx
《java课程设计报告材料-俄罗斯方块.docx》由会员分享,可在线阅读,更多相关《java课程设计报告材料-俄罗斯方块.docx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、java课程设计报告材料-俄罗斯方块 JAVA程序设计课程设计 之 俄罗斯方块 年级:13级 班级:T412 网络工程 指导老师:朱林 小组成员: 20228346021 许浩洋 时间:2022年11月11日 目录 摘要. 第一章课程设计要求. 第二章设计概要. 2.1 功能设计. 2.2 功能分析. 2.2.1 系统操作界面. 2.2.2 程序主要功能说明. 第三章调试分析与测试结果. 3.1 游戏运行界面. 3.2 测试项目. 3.2.1 功能区按键测试. 3.2.2 键盘功能测试. 3.2.3 游戏结束测试. 第四章设计总结. 4.1 改进意见. 4.2 Java课程设计心得体会 . 摘
2、要 在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,一些有趣的桌面游戏已经成为人们在使用计算机进行工作或学习之余休闲娱乐的首选,而俄罗斯方块游戏是人们最熟悉的小游戏之一。俄罗斯方块(Tetris, 俄文:)是一款风靡全球的电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。由于上手简单、老少皆宜,从而家喻户晓,风靡世界。为此,我们设计了一款简单的俄罗斯方块JAVA游戏程序,以便更好的满足广大电脑工作者闲暇之余的消遣,并且也让我们学
3、到编程技术与团队意识。 关键字:俄罗斯方块、JAVA游戏、编程 第一章课程设计要求 题目名称:俄罗斯方块 题目类型:设计型 课程设计目的: 1)了解Java的基本使用方法。 2)熟悉eclipse的运行环境。 3)用JAVA来设计一个俄罗斯方块的小游戏。 4)基本实现俄罗斯方块的应用功能。 实验原理: JAVA程序分析与设计、类的灵活运用、多态技术、模板技术、异常处理等。 实验内容: 本俄罗斯方块游戏是对于随机给出不同的形状(长条形、Z字形、反Z 形、田字形、L字形、反L形、T字型)下落填充给定的区域,若填满一条便消掉,记分。若在游戏中各形状填满了给定区域,为输者。 第二章设计概要 2.1 功
4、能设计 本项目是为了实现俄罗斯方块的基本功能而设计的,基本能够达到俄罗斯方块的各种游戏性。项目需求分析如下: 1)由方块组成的不同的随机图形会从区域上方开始缓慢落下。 2)玩家可以做的操作有: 以90度为单位旋转方每一格块。 以格子为单位左右移动方块,让方块加速落下。 3)方块移到区域最下方或是着地到其他方块上无法移动时,就会固定在该处,而新的随机图形会出现在区域上方开始落下。 4)当区域中某一列横向格子全部由方块填满,则该列会自动消除并成为玩家的得分。 5)一次性销毁不同行数方块得分不同,一行1分,两行2分,三行5分,四行10分。 6)当固定的方块堆到区域最上方,则游戏结束。 2.2 功能分
5、析 2.2.1 系统操作界面 2.2.2 程序主要功能说明 1.面板画笔类 代码: package Tetris; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.util.Arrays; import java.util.Timer; import java.util.TimerTask; import javax.swing.JFrame; i
6、mport javax.swing.JPanel; public class TetrisPanel extends JPanel /游戏主面板20行10列 private static final int ROWS = 20; private static final int COLS = 10; /代表方块着陆的墙 private Cell wall = new CellROWSCOLS; /定义每一小块的大小 private static final int CELL_SIZE = 25; /游戏得分 private int score; /游戏销毁行数 private int line
7、s; /一次性销毁行数的计分标准(0行=0分,1行=1分,2行=4分,3行=10分,4行=20分)private static final int SCORE_LEVEL =0,1,4,10,20; /游戏结束标记 private boolean gameOver = false; /游戏暂停标记 private boolean pause = false; /正在下落的四格方块 private Tetromino currentTetro ; /下一个下落的四格方块 private Tetromino nextTetro ; /定义游戏定时器 private Timer timer; pub
8、lic static void main(String args) JFrame frame = new JFrame(俄罗斯方块); int width = (COLS+8)*CELL_SIZE+100; int height = ROWS*CELL_SIZE+100; frame.setSize(width, height); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /取消系统默认布局 frame.setLayout(null); TetrisPanel
9、 panel = new TetrisPanel(); panel.setLocation(45, 35); panel.setSize(COLS+8)*CELL_SIZE,ROWS*CELL_SIZE+1); frame.add(panel); frame.setVisible(true); panel.action(); public void paint(Graphics g) super.paint(g); /填充背景颜色 this.paintBackground(g); /绘制游戏墙 paintWall(g); /绘制分数墙 paintScore(g); /绘制面板边框 paintT
10、etrisBorder(g); /绘制当前四格方块 paintCurrentTetro(g); /绘制下个四格方块 paintNextTetro(g); / private static final int BG_COLOR = 0xC3D5EA; / private static final int BORDER_COLOR = 0x667799; / private static final int FONT_COLOR = 0x000000; /绘制背景的方法 public void paintBackground(Graphics g) g.setColor(new Color(BG_
11、COLOR); /this.setBackground(new Color(BG_COLOR); g.fillRect(0, 0, this.getWidth(), this.getHeight(); /绘制游戏墙的方法 public void paintWall(Graphics g) for(int row=0;rowROWS;row+) for(int col=0;colCOLS;col+) Cell cell = wallrowcol; int x =col*CELL_SIZE; int y= row*CELL_SIZE; if(cell=null) g.setColor(new Co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 报告 材料 俄罗斯方块
限制150内