当前位置 : 主页 > 编程语言 > java >

关于游戏选择模式页面的实现

来源:互联网 收集:自由互联 发布时间:2022-08-15
今早在做C++老师预留的funcode作业——坦克大战 基本功能实现后呢,便想着添加玩家二进去,毕竟传统的坦克大战可是可以双人进行游戏的哦。 再添加一个玩家坦克是一点也不难的,照


今早在做C++老师预留的funcode作业——坦克大战

基本功能实现后呢,便想着添加玩家二进去,毕竟传统的坦克大战可是可以双人进行游戏的哦。

再添加一个玩家坦克是一点也不难的,照着前面第一个玩家坦克做就行了。

可是如何在开始前的页面上由玩家选择单人或者双人游戏呢,这里记录下我今早的做法(当然肯定不是最好的,有待完善)

 首先创建四个精灵类:

CSprite* m_solo;
CSprite* m_double;
CSprite* m_choose1;
CSprite* m_choose2;

然后在构造函数中进行初始化:

m_solo= new CSprite("solo");
m_double= new CSprite("double");
m_choose1= new CSprite("choose1");
m_choose2 =new CSprite("choose2");

然后在funcode中设置好四个模板精灵的接口。

效果如图所示:

关于游戏选择模式页面的实现_全局变量

注意在一开始初始化时隐藏第二个选择图标。

最后实现的就是用小键盘下键在两种模式之间来回选择了

创建bool型全局变量solo和dou,初值分别为true和false;

int型全局变量flag作为标识,1为单人模式,2为双人模式。

并在init函数中做对应判断选择。

在键盘按下函数中添加对应代码:

if( 0 ==GetGameState() )
{

if(solo==true&&iKey==KEY_DOWN)
{
solo=false;
dou=true;
m_choose1->SetSpriteVisible(false);
m_choose2->SetSpriteVisible(true);
}
else if(dou==true&&iKey==KEY_DOWN)
{
dou=false;
solo=true;
m_choose1->SetSpriteVisible(true);
m_choose2->SetSpriteVisible(false);
}
if(solo==true&&iKey==KEY_ENTER)
{
m_iGameState = 1;
flag=1;
}
else if(dou==true&&iKey==KEY_ENTER)
{
m_iGameState = 1;
flag=2;
}
}

说实话觉得这种方法很笨,并不是很好。

但是又没有想到更好的实现方法,就先这样吧,以后再优化。

上一篇:YTU.2782: 用数字造数字
下一篇:没有了
网友评论