Java :: Aufgabe #99 :: Lösung #4

10 Lösungen Lösungen öffentlich
#99

Stein, Papier, Schere, Echse, Spock

Anfänger - Java von Energy - 24.09.2015 um 15:22 Uhr
Programmiere das Spiel Stein, Papier, Schere, Echse, Spock, sodass man selbst eine Figur auswählen kann und der Computer eine zufällige Figur auswählt. Ermittele dann, wer diese Partie gewonnen hat.
#4
vote_ok
von Wingman (210 Punkte) - 07.12.2015 um 18:32 Uhr
Quellcode ausblenden Java-Code
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
public class KKK extends JFrame implements ActionListener {    
    JPanel p = new JPanel();
    JButton[] b = new JButton[5];
    JLabel l = new JLabel();
    String[] wahl = {"Schere","Stein","Papier","Echse","Spock"};
    Random r = new Random();
    HashMap <String, Integer> gw = new HashMap<String, Integer>();
    int uw;
    int cw;
    public void main(){
        this.setSize(500,500);
        this.setLocation(200,200);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
        this.add(p);
        p.add(l);
        l.setText("Wählen sie  aus was sie nehmen möchten");
        for (int i  = 0; i < 5; i++){
            String bname = wahl[i];
            gw.put(bname, i + 1);
            b[i] = new JButton(bname);            
            p.add(b[i]);
            b[i].addActionListener(this);
        }  
    }
    public void actionPerformed(ActionEvent ae){
        Object o = ae.getSource();
        JButton h = (JButton)o;
        String btext = h.getText();
        uw = gw.get(btext);
        cw = 1 + r.nextInt(5);
        ergebnis();
    }
    public void ergebnis(){
        switch(uw){
            case 1:
            if(cw == uw){
                l.setText("Unentschieden");
                break;
            }
            else if(cw > 2 && cw < 5){
                l.setText("Du hast gewonnen");
            }
            else{
                l.setText("Du hast verloren");
            }
            case 2:
            if(cw == uw){
                l.setText("Unentschieden");
                break;
            }
            else if(cw == 3 || cw == 4){
                l.setText("Du hast gewonnen");
            }
            else{
                l.setText("Du hast verloren");
            }
            case 3:
            if(cw == uw){
                l.setText("Unentschieden");
                break;
            }
            else if(cw == 2 || cw == 5){
                l.setText("Du hast gewonnen");
            }
            else{
                l.setText("Du hast verloren");
            }
            case 4:
            if(cw == uw){
                l.setText("Unentschieden");
                break;
            }
            else if(cw > 2){
                l.setText("Du hast gewonnen");
            }
            else{
                l.setText("Du hast verloren");
            }
            case 5:
            if(cw == uw){
                l.setText("Unentschieden");
                break;
            }
            else if(cw < 3){
                l.setText("Du hast gewonnen");
            }
            else{
                l.setText("Du hast verloren");
            }
        }
    }
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben