• 回答数

    7

  • 浏览数

    329

lovexuzheng8
首页 > 学术期刊 > 基于c语言的俄罗斯方块毕业论文

7个回答 默认排序
  • 默认排序
  • 按时间排序

众有情殇

已采纳

在写一个程序之前得先有思路,本题中得思路是:

随机给出不同的形状(长条形、Z字形、反Z形、田字形、7字形、反7形、T字型)下落填充给定的区域,若填满一条便消掉,记分,当达到一定的分数时,过关,每关方块下落的速度不同,若在游戏中各形状填满了给定区域,为输者。

有了思路再动手,如果不会可以参考一下别人开源的项目!

因为项目复杂性,我给出了一个俄罗斯方块程序的项目地址在最后,祝您好运!

项目地址:俄罗斯方块游戏

126 评论

飞火+流萤

.......论文.....源程序...... 一般不会有人给```

240 评论

紫霞大官人

机顶盒上游戏开发可以么,也是用C语言写的目 录第一章 绪论 机顶盒的产生背景 机顶盒的发展及其现状 游戏模块设计的必要性 模块设计需要解决的问题 3第二章 系统开发环境及相关技术介绍 XX-XX硬件平台 XX操作系统 内核 任务机制 消息队列 信号量 C语言的特点 7第三章 开发流程 功能需求分析 可行性分析 模块设计 编码 测试 11第四章 系统设计 游戏模块接口设计 游戏的初始化 游戏的按键读取和转化 游戏的暂停、恢复和退出 游戏算法设计 推箱子游戏设计 俄罗斯方块游戏设计 黑白棋游戏设计 14结 论 16谢 辞 17参 考 文 献 18附录 推箱子游戏源程序 19

306 评论

地主李东家

1、用C语言绘制图形界面

EasyX图形库()即TC的图形库在VC下的移植。

包含库#include <>

先初始化图形窗口

initgraph(WINDOW_WIDTH, WINDOW_HIGH) ;WINDOW_WIDTH为窗口的宽带,WINDOW_HIGH为窗口的高度。

还有画线、显示文字等函数,可以参照其帮助文档。

注意:由于我们用的是EasyX图形库,故源文件后缀要为.cpp,但其中内容都是C的语法。

2、存储表示出俄罗斯方块的形状

一、我们可以用编号,不同的编号代表不同的俄罗斯方块,根据编号把不同方块的画法写在代码中,这样19种

方块就得有19种相应的代码来描绘。而且这样扩展性不好,若以后设计了新的方块,则需要更改大量源代码。

二、我们很自然的想到可用字模点阵的形式来表示,即设置一个4行4列的数组,元素置1即代表这个位置有小

方块,元素置0即代表这个位置无小方块,这个整个的4*4的数组组成俄罗斯方块的形状。

这个方法挺靠谱,但我们还可以优化一下:不用4*4的数组,而是用16个bit位来表示这个点阵。这样存储起来比较方便,故我们用unsigned int 的低16位来表示方块的点阵。

我们可以用掩码与表示俄罗斯方块的位进行操作,来识别并在屏幕上画出方块。

我们把俄罗斯方块点阵的数位存在rockArray中,我们可以事先把这19种方块的字模点阵自己转化成十六进制,然后在rockArray数组的初始化时赋值进去。

但这样做未免有点太费力,且扩展性也不太好,若以后设计的新方块种类加入,要改变数组rockArray中的值。

我们可以考虑把所有俄罗斯方块的点阵存储在配置文件中,在程序初始化时读取文件,把这些点阵转换成unsigned int的变量存储在rockArray中。

这样,以后我们增添新的方块形状只需要在配置文件中增加新的点阵即可。

@###

@###

@@##

####   (为使得看起来更醒目,我们用@表示1,用#表示0)

3、让图形动起来

在某位置处用函数DrawRock在屏幕上画出俄罗斯方块,然后再擦除掉(即用背景色在原位置处重绘一次方块),最后在下落的下一个位置处用函数DrawRock在屏幕上画出俄罗斯方块,如此循环,中间用计时器间隔一段时间以控制下落的速度。

同理,按下屏幕的左右键也是如此,只是在按下键盘时把方块的位置重新计算了。

那么按下上方向键时,如何让方块翻转呢?

我们在配置文件中就把方块的顺时针翻转形态放在了一起:

我们每按一次上方向键改变一次方块的形状即可。若一直按上键,形状应该是循环地翻滚。

我们想到了循环链表的数据结构可实现这个效果。

可是我们若把这些一种类的方块的各种形态串成循环链表形式,那么每次重新生成方块时我们就难以随机地生成方块了。

故还是得用数组来存储,但又要有循环链表的功能,于是我们想到了静态循环链表。

我们用结构体来作为一个方块在rockArray中的元素

这样,当我们按下上方向键时,把传入函数DrawRock中的rockIndex变为当前方块结构体中的nextRockIndex即可。

参考资料:C语言图形界面篇

331 评论

liuruojing

用3维数组来存放七种基本方块图形:例如:int BOX[7][4][4]={ { {1,1,1,1}, // ----型{0,0,0,0}, {0,0,0,0}, {0,0,0,0} },{ {1,1,1,0}, // 1---型{1,0,0,0}, {0,0,0,0}, {0,0,0,0} },{ {1,1,1,0}, // ---1型{0,0,1,0}, {0,0,0,0}, {0,0,0,0} },{ {1,1,1,0}, // -T-型{0,1,0,0}, {0,0,0,0}, {0,0,0,0} },{ {1,1,0,0}, // -T_型{0,1,1,0}, {0,0,0,0}, {0,0,0,0} },{ {0,1,1,0}, // _T-型{1,1,0,0}, {0,0,0,0}, {0,0,0,0} },{ {1,1,0,0}, // 田型{1,1,0,0}, {0,0,0,0}, {0,0,0,0} } };为了方便读取,减少程序中算法上的开销(比如进行4*4矩阵的转置),我建议你将19种变换图形也用3维数组来存放,例如:||型:{ {1,0,0,0}, // ----型{1,0,0,0}, {1,0,0,0}, {1,0,0,0} },|_型:{ {1,0,0,0}, // 1---型{1,0,0,0}, {1,1,0,0}, {0,0,0,0} },

349 评论

那谁家小二

做个毕设100分就有人做?真是值得怀疑?

198 评论

CuteGourmet

用javaScript写过一个俄罗斯..

308 评论

相关问答

  • 俄罗斯文学毕业论文

    就写普希金吧。他的诗集不错,冰心就特喜欢。你可以写他对中国社会以及思想的影响。或者就是熏陶思想的变革、觉悟。

    小兔子好好 5人参与回答 2023-12-11
  • 有关俄罗斯方块的毕业论文

    网上去下,再稍稍改一下。我就是这么干的。。

    芳菲七月 5人参与回答 2023-12-05
  • 俄罗斯语言学幽默论文题目

    都是广告,都不要相信

    快乐尚龙 5人参与回答 2023-12-05
  • 中国于俄罗斯毕业论文

    不给现金,谁写?

    我不是小痴 4人参与回答 2023-12-05
  • 俄罗斯方块论文引言模板

    在一篇 毕业 论文中,引言也是论文的重要组成部分,但是很多人都忽略掉它。下面是我整理了毕业论文引言模板,欢迎大家阅读参考! 引言 “革命”即英文中的“rev

    宝哥哥艺涵 3人参与回答 2023-12-07