wx: help-assignment
wx: help-assignment
wx: help-assignment
§.综合题-I
【注意:]
1、本次作业只允许使用学过的知识来完成,具体为从基本结构、函数、数组、指针、引用、结构体
(结构体内容下周开始)为止
2、已学过的知识中,不允许使用goto,不允许使用全局变量,不允许使用C++的string
3、不允许使用scanf/printf进行输入/输出
4、要做到“0 errors, 0 warnings"
综合题2:彩球游戏“MagicBall”的实现
【Windows版的Magic Ball游戏规则描述:]
1、附件提供了Windows图形界面版的MagicBall
2、游戏区域为55~99,共有9种颜色的彩球随机出现,初始随机填满,随机概率相同
3、消除规则为横向/纵向连续颜色超过3个,每消除1个球计1分,如果横纵向同时存在,则分别计
算是否超过三个
4、消除后,空位上方的球垂直方向落下,填补空位,最上方的空位再用随机颜色的彩球填满
5、初始填满后,先判断是否有立即可消除的项,如果有,则立即消除/填充/再消除/再填充…,直到
无可消除项才停止,停止前的所有消除项不计分
6、无可消除项后,遍历整个游戏区域,将可互换的球用绿圈标识出来
7、用鼠标选择可互换的球(再按一次则取消选择),再选择邻近的另一个可互换的球,就能进行交换;
交换后进行消除/填充…,直到无消除项为止
8、游戏支持重开新游戏/存储当前进度/调取上次进度/记录并查看最高分等操作(不需要实现)
[要求:]
1、用伪图形界面方式完成彩球游戏(MagicBall)
2、提供90-b2-demo.exe供参考
a) 需设置为旧版控制台,去除快速编辑和插入模式
b)Windows 版的游戏区域是55`99的正方形,自制版是5~9之间任意行列
c)自制版的可消除球为实心,可互换球为空心双圈,普通球为空心单圈,颜色通过背景色区分
3、附件提供了一个图形界面版的MagicBall游戏供参考,如果参考游戏的规则和本作业的具体要求
不同,以作业要求为准
4、伪图形界面工具函数集的学习:参见汉诺塔/test-cct
5、项目命名及提交要求:整个项目由8个文件组成(需提交的为6个),具体如下
cmd_console_tools.cpp:伪图形界面工具函数集的实现(不准改动,不需要提交)
cmd_console_tools.h :伪图形界面工具函数集头文件(不准改动,不需要提交)
magic_ball.h :本项目的头文件
magic_ball_main.cpp :存放main函数
magic_ball_menu.cpp :两种menu及相关函数的实现
magic_ball_base.cpp :内部数组版的相关函数的实现
magic_ball_graph.cpp:伪图形界面的相关函数的实现
magic_ball_tools.cpp:需要的工具函数,例如判断是否冲突、游戏是否结束等
说明:①在VS中建立一个项目90-b2,包括2个头文件和6个源程序文件,要求编译生成的exe
文件名必须是90-b2.exe(项目结构见下图左)
②8个文件必须放在90-b2目录下(文件夹结构见下图右)
wechat:help- assignment