基于C++的AI俄罗斯方块设计

基于MFC C++的AI俄罗斯方块设计

一、基本要求

1、要求利用面向对象程序设计方法以及C++的编程思想来完成设计。

2、要求有菜单、文件操作,数据使用数组、结构体等均可,键盘操作或鼠标操作均可。

3、所编写的程序必须上机通过,并获得满意的结果。

4、完成实验设计报告书。

二、实验内容

(1)实验题目:基于C++的AI俄罗斯方块

(2)问题描述

俄罗斯方块是在一个m*n 的矩形框内进行的,矩形框的顶部会随机的出现一个有四个小方块组成的砖块,每过一段时间,就会下落一格,知道他碰到底部,然后再过一个时间下落另一个砖块,依次进行,砖块是随机出现的。当发现底部砖块是满的话,则消去它从而得到相应设置的分数,当砖块到达顶部的时候,游戏结束。

选择俄罗斯方块进行C++面向对象程序设计课程设计主要是在学习C++这门面向对象语言的基础上,并通过实践加深对 C++面向对象程序设计语言特点的认识与理解。同时,可以提高运用C++编程语言解决实际问题的能力;锻炼实际的编程能力;还能提高调查研究、查阅技术文献、资料以及编写软件设计文档的能力。

(3)功能描述

【1】实现了手动游戏和自动游戏。

【2】实现了方块的变形、下落、左移、右移消行等基本的功能。

【3】实现暂停、计分、音效设置以及等级设置功能。

【4】界面窗口、以及小方块图形设计功能。

(4)程序分析

游戏状态结构

enum eGameState {

GAME_INFO,

GAME_MENU,

GAME_MENU_SET,

GAME_MENU_MUSIC,

GAME_LOAD,

GAME_IN_PRE,

GAME_AUTO,

GAME_IN,

GAME_WIN,

GAME_ITEM,

GAME_FAIL,

GAME_PASS,

GAME_EXIT

};

//窗口数据

#define GAMEWIDTH 430

#define GAMEHEIGHT 480

#define ITEM_EDGE 22

//界面

#define RIGHT_RECT_X 266

#define RIGHT_RECT_Y 20

猜你喜欢

转载自blog.csdn.net/u013015629/article/details/128495769