AD
AD

用VB开发即时战略游戏

时间:2008-05-11 00:04:19  来源:  作者:
AD

先解释一下设计方法。

  1.这叫棋子操纵模式。 字串4

  2.回合制采用单方棋子操纵模式,也就是敌方棋子由电脑操纵,使用者棋子由使用者操纵。 字串8

  3.即时制采用双方棋子操纵模式,也就是双方棋子都由电脑操作,只是电脑允许使用者改变我方棋子行为模式而已。

字串1

  4.我们可以这么想,电脑由一个时间器(Timer) 隔一段时间去动一下敌我双方的所有旗子,也就是说使用者如果不动作,其实就是看电脑自己在下棋。

字串9

  5.但一旦使用者指定某棋子时,该棋子移动指标就被标为 False ,如此电脑在每一棋步中碰到该棋子就不会对它有所动作,但其他棋子则继续动作,直到使用者设定完该棋子行动方式后,行动指标恢复为 True ,意思就是继续交还电脑控管。

字串2

  6.用一个最简单的 VB 模型来说明:

字串9

    Type 棋子模式 字串6

    行动指标 As Boolean 字串2

    行为模式 As SomeValue 字串2

    End Type

字串1

  '假设有十颗棋子 字串2

  Dim 棋子(9) AS 棋子模式

字串8

    Sub Form_Load() 字串6

    Dim I As Long 字串4

  棋子(0).行为模式=敌A

字串7

    棋子(1).行为模式=敌B

字串6

    .

字串2

    .

字串6

    棋子(5).行为模式=我A

字串3

    棋子(6).行为模式=我B

字串9

    . 字串2

    . 字串5

    For I=0 To Ubound(棋子)-1 字串4

    棋子.行动指标=True

字串4

    Next

字串2

    End Sub 字串3


  Sub 棋子_Click(Index As Integer)

    棋子(Index).行动指标=False

字串4

    Call 行为模式改变(Index) 字串9

    End Sub 字串3

  Sub 行为模式改变(Byval 传入值) 字串2

    '...............行为模式改变设定 字串9

    棋子(传入值).行为模式 =新行为模式

字串3

    棋子(传入值).行动指标=True 字串3

    End Sub

字串6

  Sub Timer_Timer() 字串8

    Dim I As long 字串4

    For I=0 to UBound(棋子)-1 字串2

    If 棋子(I).行动指标=True Then

字串7

      Call 棋子行动 (棋子(I).行为模式)

字串9

    End If

字串7

    Next

字串7

    End Sub 字串4

  Sub 棋子行动(ByVal 传入值)

字串6

    Select Case 传入值 字串4

    Case 敌A

字串3

     敌A 模式行动展开 字串9

    Case 敌B 字串9

     敌B 模式行动展开 字串6

     .

字串2

     . 字串5

    Case 我A

字串2

     我A 模式行动展开 字串5

    Case 我B

字串7

     我B 模式行动展开

字串1

    . 字串4

    .

字串4

    End Sub 字串6

  至于战车跑几步,士兵发几枪,被 K 多少下才会隔屁,可借行为模式的增加来设定,不过这种各兵种不同属性的设定,不管回合制或即时制都需要有此种机制,不构成双方分别的要件。 字串6


文章评论

共有 0位网友发表了评论

loading..评论加载中....
AD
AD
AD