Web Images Videos Maps News Shopping Gmail more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Group info
Members: 718
Language: English
Group categories:
Computers > Programming
More group info »
Recent pages and files
battle field - rule    
这个世界是由一个非常简单的规则构成的,规则越简单,组合越丰富

恶狼战役 - ErlBattleRule - ecug - Google Code
http://code.google.com/p/ecug/wiki/ErlBattleRule

主战场规则:

战场空间:

        战场由一个 10 × 10 的格子构成  (1,1)  - (10,10)


时间规则:
       战场上每个动作都由一个基本的时间序列构成。 为了人好理解, 我们称之为 “秒” , 其实运算时系统并不会按照秒来运算。所谓秒指的是一个最小的时间基准。
  • 向前移动一格:2秒
  • 转方向:1 秒
  • 向后退一格:   4秒
  • 发动一次攻击:2秒


战场规则
  • 每个格子只能站一个战士, 如果向一个已经有人的格子移动,则移动失败
  • 只能朝前移动, 朝后移动, 不能横向移动
  • 不能移出边界
  • 移动和转身都是在时间结束时生效
  • 动作指令排序执行, 不能取消。 也就是说如果子进程在极短时间内发出前进,后退,转向等各种动作, 系统会排序执行;直到全部完成, 中间不能取消动作(这点未来看是否优化,放宽,暂时先这样)
  • 战士起始血为100, 减到0 则死亡
  • 战士只能攻击正前方一格的对手,不能攻击左,右,后的对手
  • 战士遭到正前方攻击,损伤 10, 如果侧方受到攻击,损伤 +50%;  如果后方遭到攻击,损伤 +100%
  • 攻击是向正前方的一个格子发起的。 伤害在发起攻击2秒后开始生效; 此时如果对方还在被攻击的格子里, 攻击生效。否则攻击无效; 也可能正好有人撞进来,就会被“误伤”; 也就是说攻击不是针对人的,是针对自己前方的一个格子。 
  • 如果攻击目标站立的是自己人, 则攻击无效
  • 对方全部被杀后,算胜利

基准时间表:
  • 就一个字段,表明当前的时间;
  • 时间是一个相对于战场启动基准时间 0 的一个时间描述; 主系统按照一个循环 1 秒 的速度进行运算。

战士状态表:
  • 阵营:      蓝,红;  (两个独立的 protected ETS 表)
  • 战士编号   1 - 10   (死亡后,从表中删除)
  • 位置 (x, y)
  • 血量  1 - 100
  • 面朝的方向  (N, S, W, E)
  • 当前动作 (无动作,  前进, 后退, 转向左边,转向右边, 转向后面, 攻击)
  • 当前动作生效时间 
决策子进程的接口消息:
  • 指令格式:  战士编号, 动作指令(参照上面), 动作识别号(子系统自己发的一个号)
  • 反馈消息格式: 动作识别号, 是否成功
Version: 
Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google