Advertisement
pongfactory

mid_ui_v1

Sep 7th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.54 KB | None | 0 0
  1. package uiRender;
  2.  
  3. import javafx.application.Application;
  4. import javafx.stage.Stage;
  5. import javafx.scene.Scene;
  6. import javafx.scene.Group;
  7. import javafx.scene.canvas.Canvas;
  8. import javafx.scene.canvas.GraphicsContext;
  9. import javafx.scene.control.Button;
  10. import javafx.scene.image.Image;
  11. import javafx.scene.input.MouseEvent;
  12. import javafx.scene.layout.StackPane;
  13. import javafx.scene.paint.Color;
  14. import javafx.scene.text.Font;
  15. import javafx.scene.text.FontWeight;
  16. import javafx.animation.Timeline;
  17.  
  18. import javafx.scene.shape.Line;
  19.  
  20. import java.util.ArrayList;
  21.  
  22. import javafx.animation.KeyFrame;
  23. import javafx.util.Duration;
  24. import javafx.event.EventHandler;
  25. import javafx.event.ActionEvent;
  26.  
  27. public class userInterface extends Application {
  28.     public static void main(String[] args) {
  29.         launch(args);
  30.     }
  31.  
  32.     @Override
  33.     public void start(Stage theStage) {
  34.         theStage.setTitle("2110215 PROG METH Midterm | 2016-1");
  35.  
  36.         Group root = new Group();
  37.         Scene theScene = new Scene(root);
  38.         theStage.setScene(theScene);
  39.  
  40.         Canvas canvas = new Canvas(1024, 768);
  41.         root.getChildren().add(canvas);
  42.  
  43.         GraphicsContext gc = canvas.getGraphicsContext2D();
  44.         Circle targetBuy1 = new Circle(40, 18, 70);
  45.         Circle targetBuy2 = new Circle(40 + 100, 18, 70);
  46.         Circle targetBuy3 = new Circle(40 + 200, 18, 70);
  47.  
  48.         Image enermy = new Image("enermy.png");
  49.         Image tools1 = new Image("tools1.png");
  50.         Image tools2 = new Image("tools2.png");
  51.         Image tools3 = new Image("tools3.png");
  52.         Image buytools1 = new Image("tools1.png");
  53.         Image buytools2 = new Image("tools2.png");
  54.         Image buytools3 = new Image("tools3.png");
  55.         Image moneyS = new Image("money.png");
  56.         Image space = new Image("bg.gif");
  57.         // gc.drawImage(space, 0, 0);
  58.  
  59.         IntValue time = new IntValue(0);
  60.         IntValue time2 = new IntValue(0);
  61.         IntValue time3 = new IntValue(0);
  62.         IntValue timeBuy1 = new IntValue(0);
  63.         IntValue timeBuy2 = new IntValue(0);
  64.         IntValue timeBuy3 = new IntValue(0);
  65.  
  66.         Timeline gameLoop = new Timeline();
  67.         gameLoop.setCycleCount(Timeline.INDEFINITE);
  68.  
  69.         final long timeStart = System.currentTimeMillis();
  70.  
  71.         KeyFrame kf = new KeyFrame(Duration.seconds(0.017), // 60 FPS
  72.                 new EventHandler<ActionEvent>() {
  73.                     public void handle(ActionEvent ae) {
  74.                         // final Scene scene = new Scene(space,1024, 768,
  75.                         // Color.BEIGE);
  76.                         // time.value = 0;
  77.                         // for (int i = 1; i < 15; i++) {
  78.                         int i = 0;
  79.                         // int tempItemOne1, tempItemOne2, tempItemOne3,
  80.                         // tempItemOne4, tempItemOne5;
  81.                         double t = (System.currentTimeMillis() - timeStart) / 1000.0;
  82.                         time.value = (int) t;
  83.                         time2.value = time.value + 1;
  84.                         time3.value = time.value + 2;
  85.  
  86.                         // Clear the canvas
  87.                         gc.clearRect(0, 0, 1024, 768);
  88.  
  89.                         // background image clears canvas
  90.                         gc.drawImage(space, 0, 0);
  91.                        
  92.                         if(time.value > 20){
  93.                             String resourceText = "Game Over";
  94.                             gc.fillText(resourceText, 1024 / 2 - 120, 768 / 2);
  95.                             gc.strokeText(resourceText, 1024 / 2 - 120, 768 / 2);
  96.                         }
  97.                         if (time.value == 1 | time.value == 2 | time.value == 3) {
  98.                             String resourceText = "Start Game";
  99.                             gc.fillText(resourceText, 1024 / 2 - 120, 768 / 2);
  100.                             gc.strokeText(resourceText, 1024 / 2 - 120, 768 / 2);
  101.                         }
  102.  
  103.                         gc.drawImage(tools2, 470, 700);
  104.                         gc.drawImage(tools2, 470, 700 - 70);
  105.                         gc.drawImage(tools2, 470, 700 - 70 - 70);
  106.                         gc.drawImage(tools2, 470, 700 - 70 - 70 - 70);
  107.  
  108.                         gc.drawImage(tools1, 370, 700);
  109.                         // gc.drawImage(tools1, 370, 700 - 70);
  110.                         // gc.drawImage(tools1, 370, 700 - 70 - 70);
  111.                         // gc.drawImage(tools1, 370, 700 - 70 - 70 - 70);
  112.                         // gc.drawImage(tools1, 370, 700 - 70 - 70 - 70 - 70);
  113.  
  114.                         gc.drawImage(tools3, 570, 700);
  115.                         gc.drawImage(tools3, 570, 700 - 70);
  116.  
  117.                         gc.drawImage(buytools1, 10, 10);
  118.                         gc.drawImage(moneyS, 40, 18);
  119.                         gc.drawImage(buytools2, 110, 10);
  120.                         gc.drawImage(moneyS, 40 + 100, 18);
  121.                         gc.drawImage(buytools3, 210, 10);
  122.                         gc.drawImage(moneyS, 40 + 200, 18);
  123.  
  124.                         if (time.value > 1) {
  125.                             double x = (200) + 140 * Math.sin(t);
  126.                             double y = (140 + (i + 1) * 2) + 30 * Math.cos(t);
  127.                             gc.drawImage(enermy, x, y);
  128.                             if (time.value > 3) {
  129.                                 gc.setStroke(Color.RED);
  130.                                 gc.setLineWidth(5);
  131.                                 gc.strokeLine(x + 30, y + 20, 370 + 50, 700 + 40);
  132.                             }
  133.                         }
  134.  
  135.                         if (time.value > 4) {
  136.                             double x2 = (600) + 140 * Math.sin(t);
  137.                             double y2 = (140 + (i + 1) * 2) + 30 * Math.cos(t);
  138.                             gc.drawImage(enermy, x2, y2);
  139.                             if (time.value > 6) {
  140.                                 gc.setStroke(Color.GREEN);
  141.                                 gc.setLineWidth(5);
  142.                                 gc.strokeLine(x2 + 30, y2 + 20, 370 + 50, 700 + 40);
  143.                             }
  144.                         }
  145.  
  146.                         if (time.value > 7) {
  147.                             double x3 = (600 + 55) + 140 * Math.cos(t);
  148.                             double y3 = (140 + (i + 1) * 2) + 30 * Math.sin(t);
  149.                             gc.drawImage(enermy, x3, y3);
  150.                             if (time.value > 9) {
  151.                                 gc.setStroke(Color.BLUE);
  152.                                 gc.setLineWidth(5);
  153.                                 gc.strokeLine(x3 + 30, y3 + 20, 370 + 50, 700 + 40);
  154.                             }
  155.                         }
  156.  
  157.                         if (time.value > 10) {
  158.                             double x4 = (200 + 55) + 140 * Math.cos(t);
  159.                             double y4 = (140 + (i + 1) * 2) + 30 * Math.sin(t);
  160.                             gc.drawImage(enermy, x4, y4);
  161.                             if (time.value > 11) {
  162.                                 gc.setStroke(Color.PINK);
  163.                                 gc.setLineWidth(5);
  164.                                 gc.strokeLine(x4 + 30, y4 + 20, 370 + 50, 700 + 40);
  165.                             }
  166.                         }
  167.  
  168.                         theScene.setOnMouseClicked(new EventHandler<MouseEvent>() {
  169.                             public void handle(MouseEvent e) {
  170.                                 // int itemOne;
  171.                                 if (targetBuy1.containsPoint(e.getX(), e.getY())) {
  172.                                     timeBuy1.value++;
  173.                                     // gc.drawImage(tools1, 370, 700 - 70);
  174.                                 }
  175.                                 if (timeBuy1.value == 6) {
  176.                                     timeBuy1.value = 1;
  177.                                 }
  178.                                 if (targetBuy2.containsPoint(e.getX(), e.getY())) {
  179.                                     timeBuy2.value++;
  180.                                     // gc.drawImage(tools1, 370, 700 - 70);
  181.                                 }
  182.                                 if (timeBuy2.value == 6) {
  183.                                     timeBuy2.value = 1;
  184.                                 }
  185.                                 if (targetBuy3.containsPoint(e.getX(), e.getY())) {
  186.                                     timeBuy3.value++;
  187.                                     // gc.drawImage(tools1, 370, 700 - 70);
  188.                                 }
  189.                                 if (timeBuy3.value == 6) {
  190.                                     timeBuy3.value = 1;
  191.                                 }
  192.  
  193.                                 System.out.println("You buy tools1 = " + timeBuy1.value);
  194.                                 System.out.println("You buy tools2 = " + timeBuy2.value);
  195.                                 System.out.println("You buy tools3 = " + timeBuy3.value);
  196.                             }
  197.                         });
  198.  
  199.                         // System.out.println("ItemOne1 = " + ItemOne1);
  200.  
  201.                         Font theFont = Font.font("Helvetica", FontWeight.BOLD, 50);
  202.                         gc.setFont(theFont);
  203.                         gc.setStroke(Color.BLACK);
  204.                         gc.setLineWidth(1);
  205.                         gc.setFill(Color.RED);
  206.  
  207.                         String resourceText = "Money: " + time3.value;
  208.                         gc.fillText(resourceText, 750 - 30, 56);
  209.                         gc.strokeText(resourceText, 750 - 30, 56);
  210.  
  211.                         String timeText = "Time: " + time.value;
  212.                         gc.fillText(timeText, 490 - 30, 56);
  213.                         gc.strokeText(timeText, 490 - 30, 56);
  214.  
  215.                         /*
  216.                          * gc.setStroke(Color.RED); gc.setLineWidth(5);
  217.                          * gc.strokeLine(x + 30, y + 20, 370 + 50, 700 + 40);
  218.                          *
  219.                          * gc.setStroke(Color.GREEN); gc.setLineWidth(5);
  220.                          * gc.strokeLine(x2 + 30, y2 + 20, 370 + 50, 700 + 40);
  221.                          *
  222.                          * gc.setStroke(Color.BLUE); gc.setLineWidth(5);
  223.                          * gc.strokeLine(x3 + 30, y3 + 20, 370 + 50, 700 + 40);
  224.                          *
  225.                          * gc.setStroke(Color.PINK); gc.setLineWidth(5);
  226.                          * gc.strokeLine(x4 + 30, y4 + 20, 370 + 50, 700 + 40);
  227.                          */
  228.  
  229.                     }
  230.  
  231.                 });
  232.  
  233.         gameLoop.getKeyFrames().add(kf);
  234.         gameLoop.play();
  235.  
  236.         theStage.show();
  237.     }
  238.  
  239. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement