WEB开发网
开发学院WEB开发综合 即时即战游戏的写法 阅读

即时即战游戏的写法

 2006-02-27 11:43:13 来源:WEB开发网   
核心提示:这跟多工什么关系咧,别把问题搅的那么复杂,即时即战游戏的写法,1.这叫棋子操纵模式,2.回合制采用单方棋子操纵模式,不过这种各兵种不同属性的设定,不管回合制或即时制都需要有此种机制,也就是敌方棋子由电脑操纵,使用者棋子由使用者操纵
这跟多工什么关系咧,别把问题搅的那么复杂。
1.这叫棋子操纵模式。
2.回合制采用单方棋子操纵模式,也就是敌方棋子由电脑操纵,使用者棋子由使用者操
纵。
3.即时制采用双方棋子操纵模式,也就是双方棋子都由电脑操作,只是电脑允许使用者
改变我方棋子行为模式而已。
4.我们可以这么想,电脑由一个时间器(Timer)隔一段时间去动一下敌我双方的所有旗
子,也就是说使用者如果不动作,其实就是看电脑自己在下棋。
5.但一旦使用者指定某棋子时,该棋子移动指标就被标为False,如此电脑在每一棋
步中碰到该棋子就不会对它有所动作,但其他棋子则继续动作,直到使用者设定完该棋
子行动方式后,行动指标恢复为True,意思就是继续交还电脑控管。
6.用一个最简单的VB模型来说明:

Type棋子模式
行动指标AsBoolean
行为模式AsSomeValue
EndType

'假设有十颗棋子
Dim棋子(9)AS棋子模式

SubForm_Load()
DimIAsLong

棋子(0).行为模式=敌A
棋子(1).行为模式=敌B
.
.
棋子(5).行为模式=我A
棋子(6).行为模式=我B
.
.
ForI=0ToUbound(棋子)-1
棋子.行动指标=True
Next
EndSub

Sub棋子_Click(IndexAsInteger)
棋子(Index).行动指标=False
Call行为模式改变(Index)
EndSub

Sub行为模式改变(Byval传入值)
'...............行为模式改变设定
棋子(传入值).行为模式=新行为模式
棋子(传入值).行动指标=True
EndSub

SubTimer_Timer()
DimIAslong
ForI=0toUBound(棋子)-1
If棋子(I).行动指标=TrueThen
Call棋子行动(棋子(I).行为模式)
EndIf
Next
EndSub

Sub棋子行动(ByVal传入值)
SelectCase传入值
Case敌A
敌A模式行动展开
Case敌B
敌B模式行动展开
.
.
Case我A
我A模式行动展开
Case我B
我B模式行动展开
.
.
EndSub

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

>※Origin:枫桥驿站◆From:140.135.19.207

小三撰写于文章<3Q8045$uvc@titan.cc.ntu.edu.tw>...
>※引述《penguinmax.bbs@bbs.ntu.edu.tw(inkfish)》之铭言:
>:玩过红色警戒这类"即时战略"的玩家都应该知道它的玩法
>:也就是我方可不断移动单位来部属或是作战同一时间内
>:电脑所控制的玩家也同时进行这两项动作问题来了
>:假如大家还没忘记的话当时红色警戒上市时还是80486CPU
>:加上DOS6.x的作业系统换句话说当时的DOS还不是一个多工的系统
>:但是红色警戒玩起来却煞有其事好像有多工的样子(战车可自由移动不须

>:电脑动玩才能动换言之没有回合的限制)所以请问一下要如何在一个没
有多工
>:的系统上模拟出一个多工的样子?
>:假如改在现在的多工作业平台如WIN95以上的系统要如何做到此一功能呢?
>:thread吗?还是....
>:请各位高手不吝赐教!
>:byPENGUINmax
>
>先宣告阵列
>dima(10,2)
>其中a(1,1),a(2,1),a(3,1),a(4,1......当作'移动时间值'
>而a(1,2),a(2,2),a(3,2),a(4,1......当作'时间经过累加器'
>
>例如:有一士兵,和一战车要做移动,我们把a(1,X)当作是士兵,a(2,X)当作是战车,
>假设我们给士兵的'移动时间值'5,给战车的'移动时间值'10(设士兵比战车
>移动还快),而我们同时将每个'时间经过累加器'(a(1,2),a(2,2),a(3,2...)
>加一,最后判断a(1,1)和a(1,2),a(2,1)和a(2,2),a(3,1....各是否相等,
>如果相等就是该单位要移动的时候啦...^^
>
>以上是小弟的想法不知是否有高手有别的or更特别or更好的想法可提供参考....->

Tags:即时 游戏 写法

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接