1 package cz.cuni.amis.pogamut.ut2004.bot.command;
2
3 import java.util.logging.Logger;
4
5 import cz.cuni.amis.pogamut.base3d.worldview.object.ILocated;
6 import cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004Bot;
7 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.Jump;
8 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.Move;
9 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.Rotate;
10 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.SetWalk;
11 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.Stop;
12 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.TurnTo;
13 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Item;
14 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Player;
15
16
17
18
19
20
21
22 public class SimpleLocomotion extends BotCommands {
23
24
25
26
27
28
29
30
31
32 public void moveTo(ILocated location) {
33 Move move = new Move().setFirstLocation(location.getLocation());
34 agent.getAct().act(move);
35 }
36
37
38
39
40
41
42
43
44 public void stopMovement() {
45 agent.getAct().act(new Stop());
46 }
47
48
49
50
51
52
53
54
55
56
57 public void turnTo(ILocated location) {
58 TurnTo turnTo = new TurnTo();
59 turnTo.setLocation(location.getLocation());
60 agent.getAct().act(turnTo);
61 }
62
63
64
65
66
67
68
69
70 public void turnTo(Player player) {
71 TurnTo turnTo = new TurnTo();
72 turnTo.setTarget(player.getId());
73 agent.getAct().act(turnTo);
74 }
75
76
77
78
79
80
81
82 public void turnTo(Item item) {
83 TurnTo turnTo = new TurnTo();
84 turnTo.setTarget(item.getId());
85 agent.getAct().act(turnTo);
86 }
87
88
89
90
91
92
93
94
95
96
97
98 public void turnHorizontal(int amount) {
99 Rotate rotate = new Rotate();
100
101 rotate.setAmount(amount * 65535 / 360);
102 agent.getAct().act(rotate);
103 }
104
105
106
107
108
109
110
111
112
113
114
115 public void turnVertical(int amount) {
116 Rotate rotate = new Rotate();
117
118 rotate.setAmount(amount * 65535 / 360);
119 rotate.setAxis("Vertical");
120 agent.getAct().act(rotate);
121 }
122
123
124
125
126 public void jump() {
127 agent.getAct().act(new Jump());
128 }
129
130
131
132
133
134
135
136 public void setWalk() {
137 agent.getAct().act(new SetWalk().setWalk(true));
138 }
139
140
141
142
143
144
145
146 public void setRun() {
147 agent.getAct().act(new SetWalk().setWalk(false));
148 }
149
150
151
152
153
154
155
156
157
158 public SimpleLocomotion(UT2004Bot agent, Logger log) {
159 super(agent, log);
160 }
161 }