最新ソースはこちら(gitHub)
https://github.com/takishita2nd/HokkaidoWar
以前作成したこれ。
これの「敵の行動」の部分を作成していきます。
敵を行動させるのであれば、すでに作成済みである、
class Battle
{
public void NextTurn()
を実行すればいいでしょう。
では、次の状態遷移の条件である、「自分の都市の順番が来た場合」を考えます。
それを行うには、自分の都市と、次に実行する都市をBattleクラスから取得する処理があればいいでしょう。
class Battle
{
public City GetActionCity()
{
return _cities[cityCnt];
}
class Player
{
private City _city;
public City City { get { return _city; } }
public Player(City city)
{
_city = city;
}
}
class HokkaidoWar
{
public void Run()
{
// 中略
while (asd.Engine.DoEvents())
{
asd.Vector2DF pos = asd.Engine.Mouse.Position;
switch (gameStatus)
{
// 中略
case GameStatus.ActionEnemy:
if (_player.City.Equals(_battle.GetActionCity()))
{
gameStatus = GameStatus.ActionPlayer;
}
else
{
Thread.Sleep(100);
_battle.NextTurn();
}
break;
}
if (asd.Engine.Mouse.LeftButton.ButtonState == asd.ButtonState.Push)
{
// 中略
switch (gameStatus)
{
case GameStatus.ActionEnemy:
break;
}
}
asd.Engine.Update();
マウスクリック処理は特にやることがないので、何もやる必要はありません。
「【北海道大戦】敵の行動処理を実装する。」への1件のフィードバック