import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class SteenSchaarPapierEinde extends JFrame implements ActionListener {

    private JButton steen, schaar, papier;
    private JTextField textField;
    private Random random;

    public static void main(String[] args) {
        SteenSchaarPapierEinde demo = new SteenSchaarPapierEinde();
        demo.setSize(300,100);
        demo.createGUI();
        demo.show();
    }

    private void createGUI() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        Container window = getContentPane();
        window.setLayout(new FlowLayout());

        steen = new JButton("Steen");
        window.add(steen);
        steen.addActionListener(this);

        schaar = new JButton("Schaar");
        window.add(schaar);
        schaar.addActionListener(this);
        
        papier = new JButton("Papier");
        window.add(papier);
        papier.addActionListener(this);

        textField = new JTextField(20);
        window.add(textField);
        
        random = new Random();
    }

    public void actionPerformed(ActionEvent event) {
        
        //de keuze van de speler en computer komen in de 
        //variabelen speler en computer terecht
        String speler,computer = "";
        
        //we genereren een willekeurig getal
        //het getal krijgt de waarde 1,2 of 3
        int getal;
        getal = random.nextInt(3) + 1;
        
        //we zetten het random getal om naar 
        //de woorden steen, schaar en papier
                
        switch (getal) {
        	
        	case 1: 
        		computer = "steen";
        		break;
        	case 2:
        		computer = "schaar";
        		break;
        	case 3:
        		computer = "papier";
        		break;    	       	       	        	        	
        }
        
        //we kijken op welke knop de gebruiker
        //heeft geklikt. Afhankelijk van de knop
        //stoppen we de woorden steen, schaar en papier
        //in de variabele speler
        
        Object source = event.getSource();
        
        if (source == steen) {
            speler = "steen";
        }
        else if (source == schaar){
            speler = "schaar";
        } else {
        	speler = "papier";
        }
        
        //we kijken wie er heeft gewonnen
        
        //gebruik een if-statement om te kijken
        //of de speler en de computer hetzelfde 
        //hebben gekozen
        if (speler.equals(computer)) {
        	
        	textField.setText("gelijk");
        }
        
        //steen wint van schaar
        //werkt dit uit met een If-statement.
        //De speler heeft steen gekozen.
        //De computer heeft schaar gekozen.
        
        if (speler.equals("steen") && computer.equals("schaar")) {
        	
        	textField.setText("Speler wint!");
        }
        
        if (speler.equals("schaar") && computer.equals("steen")) {
        	
        	textField.setText("Computer wint!");
        }
        
        if (speler.equals("steen") && computer.equals("papier")) {
        	
        	textField.setText("Computer wint!");
        }
        
        if (speler.equals("blad") && computer.equals("steen")) {
        	
        	textField.setText("Speler wint!");
        }
        
        if (speler.equals("blad") && computer.equals("schaar")) {
        	
        	textField.setText("Computer wint!");
        }
        
        if (speler.equals("schaar") && computer.equals("papier")) {
        	
        	textField.setText("Computer wint!");
        }
        
        
    }
}

