半吊子
日历
网志分类
· 所有网志 (82)
站内搜索
友情链接
· 歪酷博客
· 我的歪酷 非非共享界

订阅 RSS

0069845

歪酷博客

« 上一篇: 我也BT一把——C语言版双节棍 下一篇: 当一个妇科医生(2)——战争模型算法的初步探讨 »
天地间有我 @ 2004-07-31 16:04

     站长给我新的开发任务了,但我似乎有点进度缓慢。我脑子中一直在转一个和这次开发任务无关的东西,以至于这几天“一事无成”——Blog两天没更新了。

     还是想再说几句,我现在的确不怎么玩游戏。我玩游戏的日子是97,98两年。我接触过的都是现在流行游戏的爷爷。虽然,我现在不会享受C4的来的轰然效果,不会理解“山丘”飞锤的威力无限……但我可以说一句,这都是我玩剩下的。当年,我玩DOOM的时候,CS一行代码还没开发呢;我玩C&C的时候,暴雪还只能机械的模仿WESTWOOD。我不是怀旧主义者,但我忽然觉得,玩游戏有点索然无味。那次,在【C/C++值班室】聊天的时候,有位同志说了一句:

程序员玩游戏,就像妇科医生做爱一样没有趣味。

     在会心一笑之后,我还真是同意这个观点。

     现在想想,为什么我不去当一个妇科医生呢。而我这个医生是赤脚医生。因此有了此文:
   
     这也是一个系列,不过他的速度会比较慢,在这个系列中,我将试图去阐述我自己对一些游戏设计理解,首先声明我没有看过一本游戏设计方面的书。本人的技术水平也是很有限度的,所以,可能有些地方漏洞百出,还要请大家指正。

     好了,说说我下面的这个东西,这是一个思路,一个即时战略游戏(Real Time Strategy)中最基础的士兵移动的算法思路。
     1.这叫棋子操纵模式。
     2.回合制采用单方棋子操纵模式,也就是敌方棋子由电脑操纵,使用者棋子由使用者操纵。
     3.即时制采用双方棋子操纵模式,也就是双方棋子都由电脑操作,只是电脑允许使用者改变我方棋子行为模式而已。
     4.我们可以这么想,电脑由一个时间器(Timer) 隔一段时间去动一下敌我双方的所有棋子,也就是说使用者如果不动作,其实就是看电脑自己在下棋。
     5.但一旦使用者指定某棋子时,该棋子移动指标就被标为 False ,如此电脑在每一棋步中碰到该棋子就不会对它有所动作,但其他棋子则继续动作,直到使用者设定完该棋子行动方式后,行动指标恢复为 True ,意思就是继续交还电脑控管。

我用一个最简单的Visual Basic模型来具体说明:

Type 棋子模式
       行动指标 As Boolean
       行为模式 As SomeValue
End Type

注释:假设有十颗棋子

Dim 棋子(9) AS 棋子模式
Sub Form_Load()
       Dim I As Long

       棋子(0).行为模式=敌A
       棋子(1).行为模式=敌B
       .
       .
       棋子(5).行为模式=我A
       棋子(6).行为模式=我B
       .
       .
       For I=0 To Ubound(棋子)-1
               棋子.行动指标=True
       Next
End Sub

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

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

Sub Timer_Timer()
       Dim I As long
       For I=0 to UBound(棋子)-1
               If 棋子(I).行动指标=True Then
                       Call 棋子行动 (棋子(I).行为模式)
               End If
       Next
End Sub

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

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

最新评论


威尔森

2004-07-31 21:22

居然连我都看得懂,我真是天才阿^_^



阿宏

2004-08-01 01:32

居然连我都看不懂,我真是天才中的天才啊


2004-08-01 22:24 网址: http://lyre.ycool.com/

呵呵,这个我深有体会,跟程序打交道的人眼中的游戏已经毫无趣味可言,一眼洞穿。真的就像是妇产科医生做爱,本来神秘刺激的地方都已经看透了看麻木了,还有什么乐趣可言。所以我已经好久不玩了,实在是因为无趣。


评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定