import java.awt.*; import java.applet.*; import java.awt.event.*; import com.genuts.gameui.*; public class DisplayRobot extends Applet { PlayField playfield = null; public void init() { setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); setBackground(new Color(0xE0E0E0)); // Load Images Image backgroundImage = getImage(getCodeBase(), "background.jpg"); Image groundTileImage = getImage(getCodeBase(), "groundTile.gif"); Image jetHorizontalLeftImage = getImage(getCodeBase(), "jet-horizontal-left.gif"); Image jetHorizontalRightImage = getImage(getCodeBase(), "jet-horizontal-right.gif"); Image jetUpLeftImage = getImage(getCodeBase(), "jet-up-left.gif"); Image jetUpRightImage = getImage(getCodeBase(), "jet-up-right.gif"); Image robotWalkLeftImage = getImage(getCodeBase(), "robot-walk-left.gif"); Image robotWalkRightImage = getImage(getCodeBase(), "robot-walk-right.gif"); MediaTracker tracker = new MediaTracker(this); tracker.addImage(backgroundImage, 0); tracker.addImage(groundTileImage, 0); tracker.addImage(jetHorizontalLeftImage, 0); tracker.addImage(jetHorizontalRightImage, 0); tracker.addImage(jetUpLeftImage, 0); tracker.addImage(jetUpRightImage, 0); tracker.addImage(robotWalkLeftImage, 0); tracker.addImage(robotWalkRightImage, 0); try { tracker.waitForID(0); } catch (InterruptedException e) { System.out.println("Loading interrupted"); } // Init the playfield playfield = new PlayField(512, 352); playfield.setBackgroundImage(backgroundImage); // Constructs the playfield background int[][] cells = {{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1}, {1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1}, {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1}, {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1}, {1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1}, {1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}; for (int y = cells.length - 1; y >= 0; y--) { for (int x = 0; x < cells[y].length; x++) { if (cells[y][x] != 0) { Sprite sprite = new GroundTile(new Sprite(groundTileImage)); sprite.setPosition(x*32, y*32); sprite.setId(cells[y][x]); playfield.addSprite(sprite); } } } // Construct the robot // The robot goes to the right AnimatedSprite robotWalkRight = new AnimatedSprite(robotWalkRightImage, 8, 1, 2); AnimatedSprite jetHRight = new AnimatedSprite(jetHorizontalRightImage, 2, 1, 1); AnimatedSprite jetURight = new AnimatedSprite(jetUpRightImage, 2, 1, 1); RobotSprite robotRight = new RobotSprite(robotWalkRight, jetHRight, -34, 13, jetURight, -7, 24); // The robot goes to the left AnimatedSprite robotWalkLeft = new AnimatedSprite(robotWalkLeftImage, 8, 1, 2); AnimatedSprite jetHLeft = new AnimatedSprite(jetHorizontalLeftImage, 2, 1, 1); AnimatedSprite jetULeft = new AnimatedSprite(jetUpLeftImage, 2, 1, 1); RobotSprite robotLeft = new RobotSprite(robotWalkLeft, jetHLeft, 39, 13, jetULeft, 33, 23); // The robot DummyRobot robot = new DummyRobot(robotRight, robotLeft); robot.setPosition(2*32, 2*32); playfield.addSprite(new RobotControler(robot)); add(playfield); } public void start() { playfield.setPause(false); playfield.requestFocus(); } public void stop() { if (playfield != null) { playfield.stop(); } } }