嵌入式软件开发课程设计-俄罗斯方块游戏

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

淮海工学院计算机工程学院

课程设计报告

设计名称:嵌入式软件课程设计

姓名:学号:

专业班级:

系(院):计算机工程学院

设计时间:

设计地点:硬件综合室

5.设计详细说明续1

(2)硬件原理图及相关说明

Android 有丰富的功能,因此很容易与桌面操作系统混淆。Android 是一个分层的环境,构建在 Linux 内核的基础上,它包括丰富的功能。UI 子系统包括:窗口,视图。

用于显示一些常见组件(例如编辑框、列表和下拉列表)的小部件。

Android 包括一个构建在 WebKit 基础上的可嵌入浏览器,iPhone 的 Mobile Safari 浏览器同样也是以 WebKit 为基础。Android 提供多种连接选项,包括 WiFi、蓝牙和通过蜂窝(cellular)连接的无线数据传输(例如 GPRS、EDGE 和 3G)。Android 应用程序中一项流行的技术是链接到 Google 地图,以便在应用程序中显示地址。Android 软件栈还提供对基于位置的服务(例如 GPS)和加速计的支持,不过并不是所有的 Android 设备都配备了必需的硬件。另外还有摄像支持。过去,移动应用程序努力向桌面应用程序看齐的两个领域分别是图形/媒体和数据存储方法。Android 通过提供对2D 和 3D 图形的内置支持,包括 OpenGL 库,解决了图形方面的挑战。由于 Android 平台包括流行的开源 SQLite 数据库,因此缓解了数据存储的负担。

应用程序架构。如前所述,Android 运行在 Linux 内核上。Android 应用程序是用Java 编程语言编写的,它们在一个虚拟机(VM)中运行。需要注意的是,这个 VM 并非您想象中的 JVM,而是 Dalvik Virtual Machine,这是一种开源技术。每个 Android 应用程序都在 Dalvik VM 的一个实例中运行,这个实例驻留在一个由 Linux 内核管理的进程中。

(图1)

5.设计详细说明续2(3)软件流程图及其说明

(图2)

1游戏方块控制功能

2游戏显示更新功能

3游戏速度更新功能

4游戏积分等级功能

5游戏规则

(图3)

(图4)

5.设计详细说明续3

(4)功能模块设计说明

我主要负责游戏的形状视图以及各种方块的形状定义

a.俄罗斯方块中的“山”型:

在这个4*4的方块中,定义一个(图4.1)

二维数组,通过设置里面的小正方形的颜色来得到对应的图形,通过设置data[0][2],data[1][1],data[1][2],data[1][3]从而得到如上图形,并设置成绿色。

其具体的实现代码如下:

data[0][2].setSolid(true);

data[0][2].setColor(COLOR);

data[1][1].setSolid(true);

data[1][1].setColor(COLOR);

data[1][2].setSolid(true);

data[1][2].setColor(COLOR);

data[1][3].setSolid(true);

data[1][3].setColor(COLOR);

同理可以得出“山”型的另外三种形状

b.俄罗斯方块中的“直线”型

在这个4*4的方块中,定义一个(图4.2)

二维数组,通过设置里面的小正方形的颜色来得到对应的图形,通过设置data[0][0],data[0][1],data[0][2],data[3][3]从而得到如上图形,并设置成蓝色。

其具体的实现代码如下:

data[0][0].setSolid(true);

data[0][0].setColor(COLOR);

data[0][1].setSolid(true);

data[0][1].setColor(COLOR);

data[0][2].setSolid(true);

data[0][2].setColor(COLOR);

data[0][3].setSolid(true);

data[0][3].setColor(COLOR);

同理可以得出“直线”型的另外一种形状

c. 俄罗斯方块中的“N”型

在这个4*4的方块中,定义一个(图4.3)

二维数组,通过设置里面的小正方形的颜色来得到对应的图形,通过设置data[0][2],data[1][1],data[1][2],data[2][1]从而得到如上图形,并设置成粉红色。

5.设计详细说明续4其具体的实现代码如下:

data = getEmptyShape();

data[0][2].setSolid(true);

data[0][2].setColor(COLOR);

data[1][1].setSolid(true);

data[1][1].setColor(COLOR);

data[1][2].setSolid(true);

data[1][2].setColor(COLOR);

data[2][1].setSolid(true);

data[2][1].setColor(COLOR);

同理可以得出“N”型的另外一种形状

d.俄罗斯方块中的“反N”型

在这个4*4的方块中,定义一个(图4.4)

二维数组,通过设置里面的小正方形的颜色来得到对应的图形,通过设置data[0][1],data[1][1],data[1][2],data[2][2]从而得到如上图形,并设置成浅绿色。

其具体的实现代码如下:

data[0][1].setSolid(true);

data[0][1].setColor(COLOR);

data[1][1].setSolid(true);

data[1][1].setColor(COLOR);

data[1][2].setSolid(true);

data[1][2].setColor(COLOR);

data[2][2].setSolid(true);

data[2][2].setColor(COLOR);

同理可以得出“反N”型的另外一种形状

e.俄罗斯方块中的“左拐杖”型

在这个4*4的方块中,定义一个(图4.5)

二维数组,通过设置里面的小正方形的颜色来得到对应的图形,通过设置data[1][1],data[1][2],data[2][2],data[3][2]从而得到如上图形,并设置成灰色。

其具体的实现代码如下:

data[1][1].setSolid(true);

data[1][1].setColor(COLOR);

data[1][2].setSolid(true);

data[1][2].setColor(COLOR);

data[2][2].setSolid(true);

data[2][2].setColor(COLOR);

data[3][2].setSolid(true);

data[3][2].setColor(COLOR); 同理可以得出“左拐杖”型的另外三种形状

相关文档
最新文档