JAVA课程设计 俄罗斯方块
- 格式:pdf
- 大小:373.72 KB
- 文档页数:24


俄罗斯方块游戏是VHDL应用于复杂数字系统的一个经典设计,本章将详细介绍该游
戏的设计原理和设计方法。其中包括系统构成、系统设计原理和系统各个模块的实现方法。
8.1 系统结构原理
8.1.1 系统端口
图8.1给出了系统的顶层设计符号,其端口包括:
1)kc:PS/2键盘时钟输入;
2)kd:PS/2键盘数据输入;
3)mclk:系统主时钟输入;
4)blue:蓝色信号输出到VGA显示器接口;
5)grn:绿色信号输出到VGA显示器接口;
6)red:红色信号输出到VGA显示器接口;
7)hs:行扫描信号到VGA显示器接口;
8)vs:列扫描信号到VGA显示器接口
要开始一个游戏按F2键,但是当游戏正在运行时,不允许按键F2,如果要开始一个新
的游戏必须停止它或者按键F1。该游戏有5个不同的目标,可以对它进行旋转和左移或右
移。
该游戏有4种不同的速度,当分数增加的时候,速度也随之增加,按键S将增加速度,
直到目标到达最底部。速度和分数的关系是: 1)当分数<100,速度等级为1;
2)当分数在(100,200)之间时,速度等级为2;
3)当分数在(200,300)之间时,速度等级为3;
4)当分数在>300时,速度等级为4;
如图8.2所示,有两种不同的目标:右边是文本框,左边是俄罗斯方块。使用两个BRAM
存储数据。文本框中包含了32x16=512个字符,每个字符包含8比特,所以需要使用BRAM。
在俄罗斯方块部分也使用了一个BRAM,但其实这不是必须的,因为这增加了gamecontrol
模块的设计复杂度(只能在一个时钟周期访问一个BRAM)。俄罗斯方块有10x20个块组成,
每个块保存了4位(第1位用于说明是否有其它东西,其它3位保持着颜色)。
在屏幕上画像素需要25MHz时钟,在设计中使用3线来传送颜色。这也就是说,只能
画出8种颜色(红,绿,蓝,黄,黑,白,浅绿和紫红)。但其实更仔细的观察可以发现国产
HTML5实现的⼀个俄罗斯⽅块实例代码
实现的功能:⽅块旋转(W键)、⾃动下落、移动(ASD)、消⾏、快速下落(空格键)、下落阴影、游戏结束。
为实现功能:消⾏时的计分、等级、以及不同等级的下落速度等。
学习了xiaoE的Java版本的俄罗斯⽅块后,⾃⼰动⼿使⽤html5的canvas实现的,参考效果图如下:
详细代码如下:
俄罗斯⽅块
I 目 录
封 面 ························ 错误!未定义书签。
目 录 ································· I
毕业论文(设计)任务书 ·························· I
开题报告 ································ Ⅴ
审阅与评审成绩 ····························· Ⅹ
答辩记录及成绩评定 ··························· Ⅺ
中文摘要 ································ Ⅻ
引 言 ································ 1
1.绪论 ································· 2
1.1 电子游戏及其分类 ························ 3
1.2 电子游戏发展现状 ························· 3
1.2.1 电子游戏在国外的发展现状 ················· 3
1.2.2 电子游戏在国内的发展现状 ················· 4
2.可行性研究 ······························ 6
2.1 设计目的 ····························· 6
2.2 软件问题定义 ··························· 6
2.3 可行性分析 ···························· 6
3.需求分析 ······························· 7
3.1 引言 ······························· 7
基于单片机实现的俄罗斯方块游戏
MCU based Russia block game
摘 要
本设计是通过AT89S52单片机来实现俄罗斯方块游戏的设计,使用C语言进行编程,并通过Proteus来进行仿真。
本设计要实现的基本功能是:应用按键来控制方块的变换与移动;消除一行并计分;消除多行额外奖励记分,方块堆满时结束游戏等俄罗斯方块的基本功能。单片机在手持娱乐设备上的应用具有非常大的潜力,它能将其带入到一个新的阶段。为了解决外部电路图,必须充分了解所用液晶的显示方法和单片机的外部接口功能,和所需要处理的逻辑关系;还要理解LCD液晶的控制原理,来通过数据端口和控制端口来实现画面在液晶上面的显示。
程序则要求对外部电路了解的情况下完成自己所需要的功能,并将所要完成的功能用编程语言的形式来实现。然后通过Protues仿真实现通过外部按键来控制各种不同图形的方块来玩游戏,并且实现记录分数和通过过关数来改变方块下降的速度。最后将程序下载至AT89S52单片机并进行实际运行,实际运行表明,本设计可以实现基本的游戏功能,达到预期的目的。
关键词:AT89S52;C语言;Proteus仿真;LCD液晶
ABSTRACT
This design is achieved through the AT89S52 microcontroller Tetris game design,
programming using C language, and carried out by proteus simulation.
The design to achieve the basic functions are: application buttons to control the box,
change and movement; eliminate line and scoring; eliminate multi-line incentive points,