-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsoldier.pde
30 lines (23 loc) · 944 Bytes
/
soldier.pde
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Soldier extends Human {
final HumanCode type = HumanCode.SOLDIER;
Soldier(Cell initialLocation, Building buildingAssignment, PlayerState ownerState) {
super(initialLocation, buildingAssignment, ownerState);
this.moveSpeed = 0.15;
Task[] seekItems = new Task[2];
seekItems[0] = new TargetEnemy(this.blackboard, 50);
seekItems[1] = new AttackEnemy(this.blackboard);
seekItems[2] = new Move(this.blackboard);
Task seekSequence = new Sequence(this.blackboard, seekItems);
Task[] wanderSequence = new Task[2];
wanderSequence[0] = new Wander(this.blackboard, 50);
wanderSequence[1] = new Move(this.blackboard);
Sequence wander = new Sequence(this.blackboard, wanderSequence);
Task[] patrolItems = new Task[2];
patrolItems[0] = seekSequence;
patrolItems[1] = wander;
this.btree = new Selector(this.blackboard, patrolItems);
}
}
enum CombatMode {
OFFENSIVE, DEFENSIVE;
}