martaczaska

Etapinio_3

Jan 6th, 2020
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.42 KB | None | 0 0
  1. package com.company;
  2.  
  3. import javax.imageio.ImageIO;
  4. import javax.swing.*;
  5. import java.awt.*;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.awt.event.KeyAdapter;
  9. import java.awt.event.KeyEvent;
  10. import java.awt.image.BufferedImage;
  11. import java.io.File;
  12. import java.io.FileNotFoundException;
  13. import java.io.IOException;
  14. import java.util.Scanner;
  15. import java.util.Timer;
  16. import java.util.TimerTask;
  17.  
  18. public class Etap_3 extends JPanel implements ActionListener {
  19.  
  20.     public int time = 0;
  21.     static int suma_pkt = 0;
  22.     static String slowo = "";
  23.     JButton menu;
  24.  
  25.     public BufferedImage tlo_3;
  26.     static JTextField jt_pole = new JTextField();
  27.     static JLabel label_zebrane = new JLabel();
  28.     JLabel label_napis = new JLabel("Zebrane litery:");
  29.  
  30.     static JLabel label_timer_2 = new JLabel();
  31.    
  32.     Timer timer = new Timer();
  33.     TimerTask odlicz = new odliczanie();
  34.  
  35.     public Etap_3(){
  36.         setLayout(null);
  37.  
  38.         menu = new JButton("MENU");
  39.         menu.addActionListener(this);
  40.         menu.setBounds(20, 30, 200, 60 );
  41.         menu.setBackground(Color.white);
  42.         menu.setFont(new Font("Cambria", Font.BOLD, 20));
  43.         add(menu);
  44.  
  45.         File zdjecie_tlo = new File("zdjecia/tlo_GRA_3.png");
  46.  
  47.         try{ tlo_3 = ImageIO.read(zdjecie_tlo); }
  48.         catch(IOException e){ System.err.println("Blad odczytu obrazków"); }
  49.  
  50.  
  51.         label_timer_2.setBounds(750, 88, 220, 50);
  52.         label_timer_2.setFont(new Font("Cambria", Font.BOLD, 35));
  53.  
  54.         jt_pole.setBounds(320, 650, 370, 70);
  55.         jt_pole.setFont(new Font("Cambria", Font.BOLD, 40));
  56.         add(jt_pole);
  57.  
  58.         System.out.println("Jestem już na 3 etapie!");
  59.  
  60.         label_napis.setBounds(280, 200, 700, 100);
  61.         label_napis.setFont(new Font("Cambria", Font.BOLD, 70));
  62.  
  63.         label_zebrane.setBounds(300, 350, 700, 100);
  64.         label_zebrane.setFont(new Font("Cambria", Font.BOLD, 30));
  65.         label_zebrane.setText(Etap_1.sklejka);
  66.  
  67.         add(label_timer_2);
  68.         add(label_napis);
  69.         add(label_zebrane);
  70.  
  71.  
  72.         timer.schedule(odlicz, 0, 1000);
  73.  
  74.         jt_pole.addKeyListener(new KeyAdapter(){
  75.             public void keyPressed(KeyEvent pr){
  76.                 if (pr.getKeyCode() == KeyEvent.VK_ENTER) {
  77.                     if(Poziomy.czas != time) {
  78.                         slowo = jt_pole.getText();
  79.                         sprawdzanie();
  80.                         jt_pole.setText("");
  81.                     }
  82.                     /*else if(Poziomy.czas == time){
  83.                         sprawdz_ile_pkt();
  84.                     }*/
  85.  
  86.                 }
  87.             }
  88.         });
  89.  
  90.     }
  91.  
  92.     public static void sprawdzanie(){
  93.         try{
  94.             Scanner odczyt = new Scanner(new File("slownik.txt"));
  95.             while (odczyt.hasNextLine()) {
  96.                 String linia = odczyt.nextLine();
  97.  
  98.                 if(linia.contains(slowo)){
  99.                     suma_pkt ++;
  100.                     break;
  101.                 }
  102.  
  103.             }
  104.             System.out.println("Zdobyłeś " + suma_pkt + " punktów.");
  105.         }
  106.         catch(FileNotFoundException e){
  107.             System.out.println("Przykro mi, problem z plikiem.");
  108.         }
  109.  
  110.     }
  111.  
  112.     public class odliczanie extends TimerTask {
  113.  
  114.         public void run() {
  115.             ++time;
  116.             label_timer_2.setText(String.valueOf(Poziomy.czas - time));
  117.             if(Poziomy.czas == time ){
  118.                 timer.cancel();
  119.                 sprawdz_ile_pkt();
  120.             }
  121.  
  122.         }
  123.     }
  124.  
  125.     public void sprawdz_ile_pkt(){
  126.         if(suma_pkt > 5){
  127.             ImageIcon maksio = new ImageIcon("zdjecia/maksio_1.jpg");
  128.             JOptionPane.showMessageDialog(null, "YAY! Udało ci się, udało Ci się uzbierać karmę dla piesków!\n Maksio jest bardzo szczęśliwy", "Brawo!", JOptionPane.INFORMATION_MESSAGE, maksio);
  129.             System.exit(0);
  130.         }
  131.         else if(suma_pkt <= 5){
  132.             ImageIcon maksio = new ImageIcon("zdjecia/maksio_smutny.jpg");
  133.             JOptionPane.showMessageDialog(null, "Niestety nie udało ci się uzbierać wystarczającej ilości punktów,\n aby zdobyć karmę dla psów.\n Spróbuj jeszcze raz, następnym razem może ci się udać!", "Niestety, nie udało się...", JOptionPane.INFORMATION_MESSAGE, maksio);
  134.             System.exit(0);
  135.         }
  136.     }
  137.  
  138.     public void actionPerformed(ActionEvent f){
  139.         Object klik = f.getSource();
  140.  
  141.         if(klik == menu){
  142.  
  143.             Object[] wybor = {"TAK, chcę iść do Menu", "NIE"};
  144.  
  145.             int n = JOptionPane.showOptionDialog(null,
  146.                     "Czy chcesz przejść do Menu? Wtedy twoje postępy w grze zostaną usunięte.",
  147.                     "MENU",
  148.                     JOptionPane.YES_NO_OPTION,
  149.                     JOptionPane.QUESTION_MESSAGE,
  150.                     null,
  151.                     wybor
  152.                     ,wybor[0]);
  153.             if(n == 0){
  154.                 Poziomy.timer.cancel();
  155.                 Etap_1.sB.delete(0, Etap_1.sB.length());
  156.  
  157.                 Okno.karty.add( new Menu(), "menu");
  158.                 CardLayout CL_menu =(CardLayout)(Projekt.noweOkno.karty.getLayout());
  159.                 CL_menu.show(Projekt.noweOkno.karty, "menu");
  160.             }
  161.            
  162.         }
  163.  
  164.     }
  165.  
  166.     public void paintComponent(Graphics graphic) {
  167.         Graphics2D g2d = (Graphics2D) graphic;
  168.         g2d.drawImage(tlo_3, 0, 0, this);
  169.     }
  170. }
Advertisement
Add Comment
Please, Sign In to add comment