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
2111800

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.