下面是作者对游戏设计步骤的总结:
(1)创意阶段
你不仅仅需要一定的编程能力,创意这方面也是必须的,至少你对自己的设计有模糊的构思,设计出游戏的完整过程并画出流程图,将游戏分解为若干层次。
(2)规划阶段
使用的图形模式,确定图形、动画的复杂程度(二维还是三维),考虑使用游戏函数库中的哪些函数来实现。
(3)周边准备
制作人物、环境的图像、声音文件,以及相关的数据库文件,例如用Foxbase、dBase或者Foxpro数据库软件建立*. DBF 文件。
(4)细部实现
图像实现函数、图像动画函、声音播放函数、输入装置驱动和功能函数以及存盘、读盘函数。
(5)模块实现
数据结构系统、图像、动画系统、输入\输出系统、人工智能系统、游戏循环系统、用户界面系统以及声音系统。
(6)整体完善
美工、音效的提高;游戏动画、运算效率的提高;游戏功能和完整性的扩展;游戏的文件大小的缩减。
(1)创意阶段
你不仅仅需要一定的编程能力,创意这方面也是必须的,至少你对自己的设计有模糊的构思,设计出游戏的完整过程并画出流程图,将游戏分解为若干层次。
(2)规划阶段
使用的图形模式,确定图形、动画的复杂程度(二维还是三维),考虑使用游戏函数库中的哪些函数来实现。
(3)周边准备
制作人物、环境的图像、声音文件,以及相关的数据库文件,例如用Foxbase、dBase或者Foxpro数据库软件建立*. DBF 文件。
(4)细部实现
图像实现函数、图像动画函、声音播放函数、输入装置驱动和功能函数以及存盘、读盘函数。
(5)模块实现
数据结构系统、图像、动画系统、输入\输出系统、人工智能系统、游戏循环系统、用户界面系统以及声音系统。
(6)整体完善
美工、音效的提高;游戏动画、运算效率的提高;游戏功能和完整性的扩展;游戏的文件大小的缩减。
猜字游戏
(1)游戏规划
游戏规则:电脑随机抽取四个1-9的数不重复地组成四位数,玩家输入数字并与设定的数值比较,如果其中数字正确位置不对则为B类,如果数字和位置都正确则为A类,例如设定值:1352 玩家输入值为1234结果为:1A2B
(2)通用游戏编程模板
下面将介绍通用游戏编程模板
#include ...
#define...
void mian (void){
int a, b,c;//设置初始值
a=1;
b=2;
c=3;
while (a!='q'){//循环直到退出游戏标志出现
printf("%d",c);//相当于重画屏幕
a=getch();//响应输入设备
c=a*b;//相当于重新运算变量值算法
}
}
一开始我们就是一笔一划地画葫芦,多画几遍,熟能生巧,当然也不要局限于模板或模式,但上层建筑依赖下层的牢固,打好基础是现在最重要的。
(3)简约流程图
很笨拙的流程图吖T_T!!!!!
(4)细部实现
// 猜字游戏.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int main(int argc, char* argv[])
{
int result[4]={1,3,5,2},A,B,guess,i,j,time=1;
while(A!=4)
{
printf("Enter the number: ");
scanf("%d",&guess);
printf("the %d times guess's result is: ",time);
time++;
A=0;
B=0;
for(i=3;i>-1;i--)
{
for(j=0;j<4;j++)
{
if((int) (guess/pow(10,i))==result[j])
{
if(i+j==3)
A=A+1;
else
B=B+1;
}
}
guess=guess-(int)(guess/pow(10,i))*pow(10,i);
}
printf("%dA%dB\n",A,B);
}
printf("You win!\n");
return 0;
}
上面的代码没有注释,我知道这是不好的习惯,原谅我吧。
(5)完善代码
我们做个假设,假如设定值有重复部分,那又该怎么去做判断呢。