Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*; // Using AWT's Graphics and Color
- import javax.swing.*; // Using Swing's components and containers
- import java.util.Timer;
- import java.util.TimerTask;
- public class start extends JFrame {
- public static final int CANVAS_WIDTH = 1300;
- public static final int CANVAS_HEIGHT = 500;
- int[][] pos = {
- {20, 300},
- {40, 270},
- {60, 240}
- };
- boolean gone1 = false;
- boolean gone2 = false;
- boolean gone3 = false;
- boolean gone4 = false;
- boolean gone5 = false;
- boolean gone6 = false;
- boolean gone7 = false;
- boolean gone8 = false;
- boolean gone9 = false;
- boolean gone10 = false;
- boolean gone11 = false;
- boolean gone12 = false;
- boolean gone13 = false;
- boolean gone14 = false;
- boolean gone15 = false;
- boolean gone16 = false;
- boolean gone17 = false;
- boolean gone18 = false;
- boolean gone19 = false;
- boolean gone20 = false;
- Timer timer = new Timer();
- private DrawCanvas canvas;
- public static void main(String[] args) {
- // Run the GUI codes on the Event-Dispatching thread for thread safety
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- new start(); // Let the constructor do the job
- }
- });
- }
- public start() {
- canvas = new DrawCanvas(); // Construct the drawing canvas
- canvas.setPos(pos);
- canvas.setPreferredSize(new Dimension(CANVAS_WIDTH, CANVAS_HEIGHT));
- // Set the Drawing JPanel as the JFrame's content-pane
- Container cp = getContentPane();
- cp.add(canvas);
- // or "setContentPane(canvas);"
- setDefaultCloseOperation(EXIT_ON_CLOSE); // Handle the CLOSE button
- pack(); // Either pack() the components; or setSize()
- setTitle("Hanoi"); // "super" JFrame sets the title
- setVisible(true); // "super" JFrame show
- timer.scheduleAtFixedRate(new TimerTask() {
- @Override
- public void run() {
- if (!gone1 && pos[2][1] > 150) pos[2][1] -= 1; //góra mały
- else if (!gone1 && pos[2][0] < 860) {//prwo mały
- pos[2][0] += 2;
- if (pos[2][0] == 860) gone1 = true;
- } else if (!gone2 && pos[2][1] < 300) {//dół maly
- pos[2][1] += 1;
- if (pos[2][1] == 300) gone2 = true;
- } else if (!gone3 && pos[1][1] > 150) {//góra średni
- pos[1][1] -= 1;
- if (pos[1][1] == 150) gone3 = true;
- } else if (!gone4 && pos[1][0] < 440) {//prawo średni
- pos[1][0] += 2;
- if (pos[1][0] == 440) gone4 = true;
- } else if (!gone5 && pos[1][1] < 300) {//dół średni
- pos[1][1] += 1;
- if (pos[1][1] == 300) gone5 = true;
- } else if (!gone6 && pos[2][1] > 150) {//góra mały
- pos[2][1] -= 1; //góra mały
- if (pos[2][1] == 150) gone6 = true;
- } else if (!gone7 && pos[2][0] > 460) {//lewo mały
- pos[2][0] -= 2;
- if (pos[2][0] == 460) gone7 = true;
- } else if (!gone8 && pos[2][1] < 270) {//dół maly
- pos[2][1] += 1;
- if (pos[2][1] == 270) gone8 = true;
- } else if (!gone9 && pos[0][1] > 150) {
- pos[0][1] -= 1;
- if (pos[0][1] == 150) gone9 = true;
- } else if (!gone10 && pos[0][0] < 820) {
- pos[0][0] += 2;
- if (pos[0][0] == 820) gone10 = true;
- } else if (!gone11 && pos[0][1] < 300) {
- pos[0][1] += 1;
- if (pos[0][1] == 300) gone11 = true;
- } else if (!gone12 && pos[2][1] > 150) {//góra mały
- pos[2][1] -= 1; //góra mały
- if (pos[2][1] == 150) gone12 = true;
- } else if (!gone13 && pos[2][0] > 60) {//lewo mały
- pos[2][0] -= 2;
- if (pos[2][0] == 60) gone13 = true;
- } else if (!gone14 && pos[2][1] < 300) {//dół maly
- pos[2][1] += 1;
- if (pos[2][1] == 300) gone14 = true;
- } else if (!gone15 && pos[1][1] > 150) {//góra średni
- pos[1][1] -= 1;
- if (pos[1][1] == 150) gone15 = true;
- } else if (!gone16 && pos[1][0] < 840) {//prawo średni
- pos[1][0] += 2;
- if (pos[1][0] == 840) gone16 = true;
- } else if (!gone17 && pos[1][1] < 270) {//dół średni
- pos[1][1] += 1;
- if (pos[1][1] == 270) gone17 = true;
- } else if (!gone18 && pos[2][1] > 150) {
- pos[2][1] -= 1; //góra mały
- if(pos[2][1] == 150) gone18 = true;
- } else if (!gone19 && pos[2][0] < 860) {//prwo mały
- pos[2][0] += 2;
- if (pos[2][0] == 860) gone19 = true;
- } else if (!gone20 && pos[2][1] < 240) {//dół maly
- pos[2][1] += 1;
- if (pos[2][1] == 240) gone20 = true;
- }
- canvas.revalidate(pos);
- canvas.repaint();
- }
- }, 1, 1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement