1. 设计思路
-
总的模块划分沿袭前几次的思路:设计
Creature
类作为所有生物的基类;设计Controller
作为战场的管理者与裁判人。Creature
分为守序阵营JusticeUnion
和混乱阵营EvilUnion
,用Creature
中的成员变量boolean justice
标记阵营。- 葫芦娃抽象为
Calabash
,小喽啰抽象为Monster
减少冗余的操作,用序号标记同类不同个体。
-
将葫芦娃抽象为地图上独立行动的线程,为保证线程同步的安全问题,采用较为极端的同步方式,每个线程申请到共享的
controller
后加锁,此时其余线程实际上没有机会在地图上移动,但是由于处理时间较短,可以做到视觉上的“敌进我退,敌退我打”。 -
Controller
类是整个程序中最重要的部分,由Main
声明并初始化,作为程序的入口与管理者,也是联系图形界面和内部实现的纽带,其中代码较多,分功能模块介绍: