项目说明
SDL实现一个比较复杂的实例,游戏制作
设计思想
UI设计
关卡设置
(1)屏幕上有两只鸭子从左向右水平移动,鸭子一共有四种走路姿势。当你第一下点击左键,第一只鸭子停止运动,点击第二下左键,第二只鸭子停止运动。
当两只鸭子停止时的动作相同时,玩家就赢了;当两只鸭子停止时的动作不同或者有一只鸭子到达屏幕的另一端时,则玩家就输了。
(2)屏幕上有三只猫从屏幕的左侧向右侧移动,三只猫的移动方向各不相同。猫一共有六种姿势状态。当你第一下点击左键,第一只猫停止运动,点击第二下左键,第二只猫子停止运动,当你第三下点击左键,第一只猫停止运动。
当三只猫停止时的动作相同时,玩家就赢了;当三只猫停止时的动作不同或者有一只猫到达屏幕的另一端时,则玩家就输了。
(3)游戏开始时在屏幕随机位置出现一个方块,方块向任意方向飞行。在方块飞出屏幕之前点击中方块区域,则玩家获胜;当玩家在方块飞出屏幕前没有点击或者点击位置在方块区域外,玩家没有获胜。
header & cpp
UML
代码展示
main.cpp
|
|
BackGround
BackGround.h
|
|
Game
Game.h
|
|
Game.cpp
|
|
GameObject
GameObject.h
|
|
GameObject.cpp
|
|
GameOverState
GameOverState.h
|
|
GameOverState.cpp
|
|
GameState
GameState.h
|
|
GameStateMachine.h
GameStateMachine.h
|
|
GameStateMachine.cpp
|
|
InputHandler
InputHandler.h
|
|
InputHandler.cpp
|
|
LevelState
LevelState.h
|
|
LevelState.cpp
|
|
LoaderParams
LoaderParams.h
|
|
MenuButton
MenuButton.h
|
|
MenuButton.cpp
|
|
MenuState
MenuState.h
|
|
MenuState.cpp
|
|
PauseState
PauseState.h
|
|
PauseState.cpp
|
|
Player
Player.h
|
|
Player.cpp
|
|
PlayState
PlayState.h
|
|
PlayState.cpp
|
|
Text
Text.h
|
|
TextureManager
TextureManager.h
|
|
TextureManager.cpp
|
|
utility
utility.h
|
|
Vector2D
Vector2D.h
|
|
Vector2D.cpp
|
|
项目成果
菜单界面
关卡选择界面
关卡一
关卡二
关卡三
Game Over
You Win
Resume
*特别说明
我最近把我所写的代码都上传到github上了,由于代码文件过多,建议读者去github上clone一下,具体成果读者可以去github上查看README.pdf,内附如何打开应用程序的说明。