Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package peakrobots.ilkin;
- import robocode.AdvancedRobot;
- import java.awt.event.KeyEvent;
- public class TankTrainer extends AdvancedRobot {
- enum State {
- STEADY, AHEAD, LEFT, RIGHT
- }
- private State state = State.STEADY;
- private int numKeyPressed = 0;
- @Override
- public void run() {
- while (true) {
- switch (state) {
- case STEADY:
- setStop();
- break;
- case AHEAD:
- setAhead(10000);
- break;
- case LEFT:
- setTurnLeft(10000);
- break;
- case RIGHT:
- setTurnRight(10000);
- break;
- }
- execute();
- }
- }
- @Override
- public void onKeyPressed(KeyEvent e) {
- numKeyPressed ++;
- switch (e.getKeyCode()) {
- case KeyEvent.VK_LEFT : state = State.LEFT; break;
- case KeyEvent.VK_RIGHT : state = State.RIGHT; break;
- case KeyEvent.VK_UP : state = State.AHEAD; break;
- case KeyEvent.VK_SPACE : setFire(1); break;
- }
- }
- @Override
- public void onKeyReleased(KeyEvent e) {
- numKeyPressed --;
- if (numKeyPressed == 0) {
- state = State.STEADY;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement