我正在创建一个MFC旧时游戏(类似于龙与地下城),我将我的角色的位置表示为CPoint对象。 地图介于(0,0)到(9,9)之间,10 x 10。 每个点都应该有自己不同的故事。 在每个点与发生的事情之间,每次最佳选择的方式是什么?
我想了几个选择:
一个。我会在每次玩家点击移动按钮时进行检查(例如,他选择向东移动),并做很多事情来检查该位置应该发生什么。
示例:
void CProjectDlg::OnBnClickedWest()
{
(*Location).x--;
if(Location->x ==0)
CWest.EnableWindow(false);
if(Location->x <9)
CEast.EnableWindow(true);
if(Location->x==0 && Location->y==0)
do something;
else
if(Location->x==1 && Location->y==0)
do something else...;
etc...;
}
B中。我会做同样的事情,但在所有位置都有一个开关(如果可能的话)。 例如:
void CProjectDlg::OnBnClickedWest()
{
(*Location).x--;
if(Location->x ==0)
CWest.EnableWindow(false);
if(Location->x <9)
CEast.EnableWindow(true);
switch(Location)
case ((0,0)):
something;
}
请帮帮我
非常感谢!
答案 0 :(得分:0)
最后答案是使用基于开关(这是最好的选择100个选项..感谢大家!