/* Kevin Fleming Final Exam Due5/11/98 Tortoise and the Hare with a twist */ import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Race extends Applet { private Image turtle, hare, finish, victor; private int sleepTime = 100; private int count, hareX, turtleX, test = 1, num = 0, running, winner = 0; private Label title; public void init() { turtle = getImage(getDocumentBase(), "wile0.jpg"); hare = getImage(getDocumentBase(), "rr0.jpg"); finish = getImage(getDocumentBase(), "finish.jpg"); title = new Label("Not Your Ordinary Tortoise and the Hare!"); add(title); } public void start() { count = 0; hareX = 1; turtleX = 1; running = 0; winner = 0; } public void move() { if(turtleX < 450 && hareX < 450) { if(test > 0) { num = 0; test *= -1; } else { num = 1; test *= -1; } turtle = getImage(getDocumentBase(), "wile"+ num + ".jpg"); hare = getImage(getDocumentBase(), "rr" + num + ".jpg"); int h = (int)((Math.random()) * 10 + 1); int t = (int)((Math.random()) * 10 + 1); if(h == 1) hareX += -12; else if(h > 1 && h < 4) hareX += 0; else if(h > 3 && h < 6) hareX += 9; else if(h > 5 && h < 9) hareX += 1; else if(h > 11 && h < 8) hareX += 2; if(t > 0 && t < 6) turtleX += 3; else if(t > 5 && t < 8) turtleX += -6; else if(t > 7) turtleX += 1; } else { if(hareX > 450) { showStatus("Yeah!! Roadrunner Wins!"); victor = getImage(getDocumentBase(), "winnerRR.jpg"); } else if(turtleX > 450) { showStatus("Boo!! Wiley Coyote Wins!"); victor = getImage(getDocumentBase(), "winnerWiley.jpg"); } running = 1; winner = 1; } } public void paint(Graphics g) { if(running == 0) { g.drawImage(finish, 475, 0, this); g.drawImage(hare, hareX, 60, this); g.drawImage(turtle, turtleX, 160, this); try{ Thread.sleep(sleepTime); } catch(InterruptedException e) { showStatus(e.toString()); } move(); repaint(); } else stop(); if(winner == 1) g.drawImage(victor, 75, 0, this); else showStatus("GO!!!"); } }