云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 俄罗斯方块-C语言教学文案

俄罗斯方块-C语言教学文案

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 1:02:56

精品文档

历时两天,我确定好了整个项目的功能模块,做好了整体规划,也选好了开发工具。接下来我将要步入总体设计阶段。

1.3 总 体 设 计

经过总体构成功能的分析后,接下来就可以根据各构成功能模块进行对应的总体设计处理。主要包括两个方面:

? 运行流程分析;

? 核心处理模块分析。

1.3.1 运行流程分析

2004年7月6日,上午,阳光明媚

了整个游戏的具体运作流程图。

游戏的具体运作流程如图1-4所示,用左移VK_LEFT、右移VK_RIGHT、下移VK_DOWN、旋转VK_UP和退出VK_Esc键判断键值。上述几个按键移动处理的具体说明如下。

? VK_LEFT:调用MoveAble( )函数,判断是否能左移,如果可以则调用

EraseBox函数,清除当前的游戏方块。并在下一步调用show_box( )函数,在左移位置显示当前游戏的方块。

? VK_RIGHT:右移处理,与上面的VK_LEFT处理类似。 ? VK_DOWN:下移处理,如果不能再移,必须将flag_newbox标志设置为1。 ? VK_UP:旋转处理,首先判断旋转动作是否执行,在此需要满足多个条件,

如果不合条件,则不予执行。

? VK_Esc:按Esc键后将退出游戏。

精品文档

精品文档

图1-4 游戏运行流程

1.3.2 核心处理模块分析

2004年7月6日,下午,多云,还有很长的路要走 1.方块预览

新游戏的方块将在4×4的正方形小方块中预览,使用随机函数rand( )可以产生1-19之间的游戏方块编号,并作为预览的方块编号。其中品尼高正方形小方块的大小由BSIZE×BSIZE来计算。

2.游戏方块控制处理

方块的移动控制是整个游戏的重点和难点,具体信息如下。 1) 左移处理 处理过程如下。

(1) 判断是否能够左移,判断条件有两个:左移一位后方块不能超越游戏底板的左边线,否则将越界;并且在游戏方块有值(值为1)的位置,游戏底板不能是被占用的(占

精品文档

精品文档

用时值为1)。

(2) 清除左移前的游戏方块;

(3) 在左移一位的位置处,重新显示此游戏的方块。 2) 右移处理 处理过程如下。

(1) 判断是否能够右移,判断条件有两个:右移一位后方块不能超越游戏底板的右边线,否则将越界;游戏方块有值位置,游戏底板不能被占用;

(2) 清除右移前的游戏方块;

(3) 在右移一位的位置处,重新显示此游戏的方块。 3) 下移处理 处理过程如下。

(1) 判断是否能够下移,判断条件有两个:下移一位后方块不能超越游戏底板的底边线,否则将越界;游戏方块有值位置,游戏底板不能被占用。满足上述两个条件后,可以被下移处理。否则将flag_newbox设置为1,在主循环中会判断此标志;

(2) 清除下移前的游戏方块;

(3) 在下移一位的位置处,重新显示此游戏的方块。 4) 旋转处理 处理过程如下。

(1) 判断是否能够旋转,判断条件有两个:旋转后方块不能超越游戏底板的底边线、左边线和右边线,否则将越界;游戏方块有值位置,游戏底板不能被占用;

(2) 清除旋转前的游戏方块;

(3) 在游戏方块显示区域(4×4)的位置,使用当前游戏方块的数据结构中的next值作为旋转后形成的新游戏方块的编号,并重新显示这个编号的游戏方块。

3.更新显示

当游戏中的方块在进行移动处理时,要清除先前的游戏方块,用新坐标重绘游戏方块。当消除满行后,要重绘游戏底板的当前状态。清除游戏方块的方法是先画轮廓再填充,具体过程如下:绘制一个轮廓,使用背景色填充小方块,然后使用前景色画一个游戏底板中的小方块。循环此过程,变化当前坐标,填充并画出19个这样的小方块,从而在游戏底板中清除此游戏方块。

精品文档

精品文档

4.游戏速度和分数更新处理

当行满后,积分变量score会增加一个固定的值,然后将等级变量level和速度变量speed相关联,实现等级越高速度越快的效果。

2004年7月6日,晚上,总体设计的重要性 数据结构设计

1.4 数 据 结 构

2004年7月7日,上午,阳光充足 我就设计好了系统所需要的数据结构。 1.游戏底板结构体

此处的游戏底板结构体是BOARD,具体的代码如下。

struct BOARD /*游戏底板结构,表示每个点所具有的属性*/ {

int var; /*当前状态只有0和1,1表示此点已被占用*/ int color; /*颜色,游戏底板的每个点可以拥有不同的颜色,增强美观性*/

}Table_board[Vertical_boxs][Horizontal_boxs];

其中,BOARD结构体表示了游戏底板中每个小方块的属性,var表示了当前的状态,为0时表示未被占用,为1时表示已经被占用。

2.游戏方块结构体

此处的游戏方块结构体是SHAPE,具体的代码如下。

struct SHAPE{

/*一个字节是8位,用每4位表示游戏方块中的一行,例如:box[0]=\表示的是: 1000 1000 1100 0000*/

char box[2]; int color; /*每个方块的颜色*/ int next; /*下个方块的编号*/ };

精品文档

搜索更多关于: 俄罗斯方块-C语言教学文案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

精品文档 历时两天,我确定好了整个项目的功能模块,做好了整体规划,也选好了开发工具。接下来我将要步入总体设计阶段。 1.3 总 体 设 计 经过总体构成功能的分析后,接下来就可以根据各构成功能模块进行对应的总体设计处理。主要包括两个方面: ? 运行流程分析; ? 核心处理模块分析。 1.3.1 运行流程分析 2004年7月6日,上午,阳光明媚 了整个游戏的具体运作流程图。 游戏的具体运作流程如图1-4所示,用左移VK_LEFT、右移VK_RIGHT、下移VK_DOWN、旋转VK_UP和退出VK_Esc键判断键值。上述几个按键移动处理的具体说明如下。 ? VK_LEFT:调用MoveAble( )函数,判断是否能左移,如果可以则调用

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com