C++开发系列——音符游戏(1)
前言
游戏介绍:随机打印6~10个 ↑ ↓ ← → 的方向箭头,并且在规定的时间内按下相同的键,统计正确的个数,按照所有生成箭头数量与正确按键数量的百分比来算出得分。得分等级是: D:0~70 C:71~80 B:81~90 A:91~100
提示:本文基于C++面向对象(OOP)思想实现。以下是本篇文章正文内容,下面案例可供参考,撰写的时候难免有所不周,请批评指正。有问题请留言~
一、什么是面向对象(OOP)编程思想?
1.面向对象
面向对象编程的主体是对象,研究的问题也是一系列对象。这种思想认为,所有的程序都是由对象提供的功能组合完成,所以该方法首要的是抽象出能够反应客观世界统一特征或者规律的模型。简单来讲就是对某一种任务进行分类,不同的种类就是对具有共性的事物的归纳描述。 个人理解分析面向对象任务的一般流程如下:
(1) 抽象归纳阶段: 对任务需求进行“分类”,得到所有包括的类别。其实这里的每一个类别就是一种事物的描述模型。例如,狗是一个概括的类,具体的可以是黑色的狗,白色的狗等; (2) 明确模型(类)内容阶段: 分析具备的能力与属性,这里的能力是指直接的能力,也就是能做什么,也可以讲是主动的行为。属性代表这个模型具体化后(对象)本身的特征,如宽度,高度,名称等; (3) 添加能力与属性接口 确定能力的具体内容,确定属性的类型(int 、float、double、char…); (4)实例化具体对象,并赋予属性特定的值 (5) 组合调用实例提供的能力,完成任务 (6) 测试
2.面向对象分析举例
这里我们看一个例子。题目是:下五子棋 。 使用OOP思想分析,按照上述面向对象分析流程,可以得到如下内容:
类(对象) | 能力和属性 |
---|
棋盘系统 | {能力:绘制棋盘、刷新画面等} ——{属性:大小行列} | 黑白双方 | {能力:下棋} ——{属性:名称} | 游戏规则 | {能力:判定输赢,犯规} ——{属性:无} |
二、音符游戏框架分析
1.分析任务
“音符游戏”在前言中已经有简单介绍,根据介绍,我们可以分析出完成该任务需要的工作有如下几个方面:
- 边界显示
- 计分板显示更新
- 游戏菜单栏
- 游戏引导箭头刷新
- 等待键盘输入
- 分析判断键盘方向与引导箭头的对应关系
- …
按照面向对象分析思想,音符游戏可以抽象归纳的类有:游戏规则、画面更新,游戏玩家。
2.流程与结构
通过分析每个对象的任务可以总结出下面的结构图:
3.实现流程
- 系统API介绍
- 新建项目
- 画面更新项目新建
- 游戏菜单设计
- 游戏背景设计
- 计分板设计
- 玩家输入判断
- 测试功能与总结
4.简易效果
其他内容请看下期!
|