我正在编写一个攻击潜艇的初级程序,我希望有一个变量能够告诉我AI当前所处的状态,例如攻击中、撤退中。
我知道可以使用string
,但我确定之前见过另一种方法,比如Submarine.AIstate = AIstate.Attacking
。抱歉如果这看起来是一个基本问题,但我对这种事情还比较新手。
任何帮助都将不胜感激 🙂
回答:
enum
枚举类型。
MSDN链接:http://msdn.microsoft.com/en-us/library/sbbt4032.aspx
基本上,你会有一个表示状态的enum
枚举类型:
enum SubState { Idle = 0, Attacking, Retreating}
然后你的潜艇类会有一个状态属性:
class Submarine { public SubState State { get; set; }}
然后你可以这样设置状态:
sub.State = SubState.Attacking;
…并且可以这样检查状态:
switch (sub.State) { case SubState.Attacking: // 在这里执行攻击相关的操作 break;}