吃豆人C语言开发—Day1可行性分析

目录

技术

EasyX:

文件流:

随机生成:

核心功能

移动:

扣血机制:

获胜机制:

关卡设计:

游戏开始菜单设计:

游戏内暂停菜单设计:

技能设计(可选):

复活设计(可选):

数据设计:

迷宫设计:

游戏初始化设计:

胜利判断:

失败判断:

怪物移动算法:

玩家移动算法:

难度设计:

扣血算法:

触碰宝石设计:

提示设计:

设置设计:


这个项目是我和朋友们一起开发的,在此声明一下。

我发现CSDN没有很完整的吃豆人游戏开发流程讲解,所以在此我将完整记录每日开发进度,希望给学完C语言的朋友们一些练习的项目。

技术

EasyX:

计划使用EasyX制作游戏界面和安放各种元素贴图

文件流:

计划使用文件流做出排行榜功能

随机生成:

目前考虑使用随机生成技术用来制作大地图以及怪物的行动轨迹

核心功能

移动:

被键盘输入而控制的玩家移动

根据随机生成的怪物移动

扣血机制:

当玩家与怪物产生触碰时,玩家减少生命值

获胜机制:

玩家拾取到足够数量的宝石碎片

玩家到达出口点

关卡设计:

地图较小建议手动设计地图,地图较大建议随机生成

获胜所需的宝石较多建议铺满全局,较少建议随机生成

当玩家达到获胜条件下进入出口时,将会进入下一关(建议设计成手动而非自动)

游戏开始菜单设计:

开始新游戏、继续游戏、游戏设置(音量调节、难度选择、操作键位)、排行榜、退出游戏(是否退出)

游戏内暂停菜单设计:

继续游戏、游戏设置、重新开始、保存游戏、回到主菜单

技能设计(可选):

玩家技能躲避防御为主

怪物技能追击为主

复活设计(可选):

玩家死亡后并不会结束游戏

玩家在规定复活次数下获胜也算作胜利(有多次复活建议扣分)

玩家死亡后会继承上次死亡时所拥有的所有宝石(当复活次数只有1次时也可折半)

数据设计:

迷宫设计:

Int labyrinth[ROW][COL];

不同的数值代表不同的元素(需在后期同意决定)

游戏初始化设计:

void initgame();

srand(time(NULL));

固定玩家的生成点

固定或者随机怪物的生成点(建议一开始距离玩家较远)

随机宝石的生成点

固定出口点位

胜利判断:

可与失败组成一个函数

Int is_win(传入坐标,已获得的宝石数,复活次数*生命值)

如果前两条达成,后一条没达成,返回1(胜利)

当玩家拥有足够多的宝石数量且位于出口点则获胜

或者玩家拥有超级多的宝石数量(比如全部)也可获胜

或者位于出口点就可获胜,得分由宝石数量决定

失败判断:

同上,仅仅达成最后一条,返回-1(失败)

若都不是,返回0(游戏尚未结束)

当玩家无复活次数且此时玩家的生命值归于0则失败

怪物移动算法:

void monsterMove(传入地图指针,传入怪物当前坐标)

根据随机处理对怪物坐标进行+1或-1处理

对怪物的移动进行随机处理,对随机数进行模4处理,0,1,2,3代表不同方向

预计方向倘若没有墙体,则进行移动,否则返回上一步重新设置随机数

需要设置帧率,以避免怪物移动过快

玩家移动算法:

void playerMove(地图指针,当前坐标)

根据conic.h和_kbhit()和_getch()判断输入的按键

玩家通过键盘输入wasd或者WASD或者上左下右键判断移动方向

难度设计:

可通过结构体指针修改玩家结构体和怪物结构体

可选择降低玩家基础属性(比如生命值)

可选择增加怪物基础属性(比如数量,移动速度,技能)

可选择提高游戏获胜条件

扣血算法:

当玩家的坐标p.x和p.y等于怪物的坐标m.x和m.y

或者像素点p.x位于怪物的左右边界内,p.y位于怪物的上下边界内

当玩家所处点位与怪物重合时,玩家生命值减少

或者判断玩家的上下左右四个像素点位于怪物矩形内部,则扣血

触碰宝石设计:

当玩家的坐标labyrinth[p.x,p.y]==宝石属性时,得分增加,修改宝石属性

当玩家触碰宝石时,将宝石的属性修改成空地的属性,然后得分增加

当怪物触碰宝石时,使用EasyX先画宝石后画怪物来覆盖掉宝石

提示设计:

分别建立打印函数或者输出IMAGE img图片

获胜条件达成提示

受伤提示

残血提示(屏幕周围泛红光)

胜利提示

失败提示

设置设计:

多媒体接口头文件:mmsystem.h

加载静态库:#pragma comment(lib,”winmm.lib”)

播放音乐:mciSendString(open,”....”);

FILE fp=fopen(“.....”,‘w’)

音量调节

难度选择

操作键位

排行榜

保存游戏

你可能感兴趣的:(详解C语言,c语言,游戏程序,游戏策划,1024程序员节)