# Java Programm für Schule



## mjavagoni (13. Jun 2016)

Hallo Zusammen,

Zuerstmal zur Bezahlung: Siehe unten!
Zu meiner Person: Momentan in einer Ausbildung zum Informatiker EFZ Richtung Systemtechniker.
Wir müssen in der Schule im ersten Lehrjahr (in dem ich mich gerade befinde) ein Würfelspiel in Eclipse programmieren.

Könnte mir einer helfen? Ich müsste es am Donnerstag abgeben. Wäre sehr dankbar

Aufgabe


Die Böse Eins für zwei Spieler programmieren.

Jeder Spieler darf max. fünfmal würfeln. Die Augenzahlen aus den einzelnen Würfen werden addiert. Wirft man jedoch eine Eins, werden die Augen der jeweiligen Runde ungültig. Wer als erster 100 Punkte hat, geht als Sieger hervor.


Zusätzlich : 

Erstellen sie ein Klassendiagramm (UML) über alle Klassen ihres Projekts.


----

Ich würde demjenigen, der mir den Code bis am 15.06.2016 schreibt und mir schickt 100 Euro für seine Arbeit zahlen...

Freundliche Grüsse
Lucas


----------



## Tobse (13. Jun 2016)

Hast eine PM.


----------



## T_T (13. Jun 2016)

100 € ?


----------



## mjavagoni (13. Jun 2016)

Habe leider schon jemanden gefunden


----------



## luc4jr0 (13. Jun 2016)

Ich bräuchte genau das selbe. Ich biete 20 Euro. Bitte PN


----------



## Cromewell (13. Jun 2016)

Habe das Programm mal geschrieben, falls du noch Hilfe brauchst...


----------



## küng_ (15. Jun 2016)

Cromewell, ich währe sehr erfreut, wenn Du mir deine Lösung per PN Schicken könntest.
Gruss


----------



## Xyz1 (18. Jun 2016)

So könntest du anfangen:

```
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication;

import java.io.*;
import java.util.*;

/**
* @author DerWissende
*/
public class BoeseEins {

    public static void main(String[] args) throws IOException, InterruptedException {
        BoeseEins boeseEins = new BoeseEins();
    }

    private final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    private int index = 0;
    private final BoeseEinsSpieler[] spieler;
    private final Random wuerfel = new Random();

    public BoeseEins() throws IOException, InterruptedException {
        int i = readInt(
                "Bitte die Anzahl der Spieler");
        spieler = new BoeseEinsSpieler[i];
        for (int j = 0; j < spieler.length; j++) {
            spieler[j] = new BoeseEinsSpieler();
        }

        play();
    }

    private int next() {
        return 1 + wuerfel.nextInt(6);
    }

    private void play() throws InterruptedException {
        System.out.println("Der Spieler ist dran: " + index);
        final BoeseEinsSpieler spieler1 = spieler[index];
        System.out.println("Die Runde ist dran: " + spieler1.index);
        int i = 0;
        for (; i < 5; i++) {
            System.out.println("Der Wurf ist dran: " + i);
            int r = next();
            System.out.println("Es wurde gewuerfel: " + r);
            if (r == 1) {
                System.out.println("Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!");
                i = 5;
            } else {
                spieler1.wuerfe[i] = r;
            }
        }
        if (i == 5) {
            int sum = 0;
            for (int r : spieler1.wuerfe) {
                sum += r;
            }
            System.out.println("Die Summe betraegt: " + sum);
            spieler1.punkte += sum;
        }
        System.out.println("Insgesamt hat der Spieler Punkte: " + spieler1.punkte);
        if (spieler1.punkte >= 100) {
            System.out.println("Der Spieler hat gewonnen!!!!!");
            return;
        }
        spieler1.index++;
        index = (index + 1) % spieler.length;
        System.out.println("--- --- ---");
        Thread.sleep(15000);
        play();
    }

    private int readInt(String msg) throws IOException {
        System.out.println(msg + ":");
        String s = br.readLine();
        try {
            int i = Integer.parseInt(s);
            return i;
        } catch (NumberFormatException nfe) {
            return readInt(msg);
        }
    }

}

class BoeseEinsSpieler {

    int punkte = 0;
    int index = 0;
    int[] wuerfe = new int[5];

}
```

Ich hab es nur einmal durchlaufen lassen - und bisher keine Fehler entdeckt,


Spoiler: Ausgabe:





```
run:
Bitte die Anzahl der Spieler:
2
Der Spieler ist dran: 0
Die Runde ist dran: 0
Der Wurf ist dran: 0
Es wurde gewuerfel: 4
Der Wurf ist dran: 1
Es wurde gewuerfel: 5
Der Wurf ist dran: 2
Es wurde gewuerfel: 1
Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!
Insgesamt hat der Spieler Punkte: 0
--- --- ---
Der Spieler ist dran: 1
Die Runde ist dran: 0
Der Wurf ist dran: 0
Es wurde gewuerfel: 4
Der Wurf ist dran: 1
Es wurde gewuerfel: 2
Der Wurf ist dran: 2
Es wurde gewuerfel: 1
Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!
Insgesamt hat der Spieler Punkte: 0
--- --- ---
Der Spieler ist dran: 0
Die Runde ist dran: 1
Der Wurf ist dran: 0
Es wurde gewuerfel: 5
Der Wurf ist dran: 1
Es wurde gewuerfel: 6
Der Wurf ist dran: 2
Es wurde gewuerfel: 3
Der Wurf ist dran: 3
Es wurde gewuerfel: 5
Der Wurf ist dran: 4
Es wurde gewuerfel: 3
Die Summe betraegt: 22
Insgesamt hat der Spieler Punkte: 22
--- --- ---
Der Spieler ist dran: 1
Die Runde ist dran: 1
Der Wurf ist dran: 0
Es wurde gewuerfel: 1
Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!
Insgesamt hat der Spieler Punkte: 0
--- --- ---
Der Spieler ist dran: 0
Die Runde ist dran: 2
Der Wurf ist dran: 0
Es wurde gewuerfel: 1
Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!
Insgesamt hat der Spieler Punkte: 22
--- --- ---
Der Spieler ist dran: 1
Die Runde ist dran: 2
Der Wurf ist dran: 0
Es wurde gewuerfel: 2
Der Wurf ist dran: 1
Es wurde gewuerfel: 1
Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!
Insgesamt hat der Spieler Punkte: 0
--- --- ---
Der Spieler ist dran: 0
Die Runde ist dran: 3
Der Wurf ist dran: 0
Es wurde gewuerfel: 4
Der Wurf ist dran: 1
Es wurde gewuerfel: 1
Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!
Insgesamt hat der Spieler Punkte: 22
--- --- ---
Der Spieler ist dran: 1
Die Runde ist dran: 3
Der Wurf ist dran: 0
Es wurde gewuerfel: 2
Der Wurf ist dran: 1
Es wurde gewuerfel: 2
Der Wurf ist dran: 2
Es wurde gewuerfel: 4
Der Wurf ist dran: 3
Es wurde gewuerfel: 5
Der Wurf ist dran: 4
Es wurde gewuerfel: 4
Die Summe betraegt: 17
Insgesamt hat der Spieler Punkte: 17
--- --- ---
Der Spieler ist dran: 0
Die Runde ist dran: 4
Der Wurf ist dran: 0
Es wurde gewuerfel: 1
Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!
Insgesamt hat der Spieler Punkte: 22
--- --- ---
Der Spieler ist dran: 1
Die Runde ist dran: 4
Der Wurf ist dran: 0
Es wurde gewuerfel: 2
Der Wurf ist dran: 1
Es wurde gewuerfel: 4
Der Wurf ist dran: 2
Es wurde gewuerfel: 6
Der Wurf ist dran: 3
Es wurde gewuerfel: 6
Der Wurf ist dran: 4
Es wurde gewuerfel: 4
Die Summe betraegt: 22
Insgesamt hat der Spieler Punkte: 39
--- --- ---
Der Spieler ist dran: 0
Die Runde ist dran: 5
Der Wurf ist dran: 0
Es wurde gewuerfel: 1
Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!
Insgesamt hat der Spieler Punkte: 22
--- --- ---
Der Spieler ist dran: 1
Die Runde ist dran: 5
Der Wurf ist dran: 0
Es wurde gewuerfel: 3
Der Wurf ist dran: 1
Es wurde gewuerfel: 3
Der Wurf ist dran: 2
Es wurde gewuerfel: 3
Der Wurf ist dran: 3
Es wurde gewuerfel: 2
Der Wurf ist dran: 4
Es wurde gewuerfel: 4
Die Summe betraegt: 15
Insgesamt hat der Spieler Punkte: 54
--- --- ---
Der Spieler ist dran: 0
Die Runde ist dran: 6
Der Wurf ist dran: 0
Es wurde gewuerfel: 1
Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!
Insgesamt hat der Spieler Punkte: 22
--- --- ---
Der Spieler ist dran: 1
Die Runde ist dran: 6
Der Wurf ist dran: 0
Es wurde gewuerfel: 5
Der Wurf ist dran: 1
Es wurde gewuerfel: 5
Der Wurf ist dran: 2
Es wurde gewuerfel: 5
Der Wurf ist dran: 3
Es wurde gewuerfel: 4
Der Wurf ist dran: 4
Es wurde gewuerfel: 5
Die Summe betraegt: 24
Insgesamt hat der Spieler Punkte: 78
--- --- ---
Der Spieler ist dran: 0
Die Runde ist dran: 7
Der Wurf ist dran: 0
Es wurde gewuerfel: 5
Der Wurf ist dran: 1
Es wurde gewuerfel: 6
Der Wurf ist dran: 2
Es wurde gewuerfel: 4
Der Wurf ist dran: 3
Es wurde gewuerfel: 3
Der Wurf ist dran: 4
Es wurde gewuerfel: 5
Die Summe betraegt: 23
Insgesamt hat der Spieler Punkte: 45
--- --- ---
Der Spieler ist dran: 1
Die Runde ist dran: 7
Der Wurf ist dran: 0
Es wurde gewuerfel: 1
Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!
Insgesamt hat der Spieler Punkte: 78
--- --- ---
Der Spieler ist dran: 0
Die Runde ist dran: 8
Der Wurf ist dran: 0
Es wurde gewuerfel: 1
Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!
Insgesamt hat der Spieler Punkte: 45
--- --- ---
Der Spieler ist dran: 1
Die Runde ist dran: 8
Der Wurf ist dran: 0
Es wurde gewuerfel: 5
Der Wurf ist dran: 1
Es wurde gewuerfel: 5
Der Wurf ist dran: 2
Es wurde gewuerfel: 6
Der Wurf ist dran: 3
Es wurde gewuerfel: 6
Der Wurf ist dran: 4
Es wurde gewuerfel: 1
Es wurde eine Eins gewuerfelt, die Runde ist ungueltig!!!!!
Insgesamt hat der Spieler Punkte: 78
--- --- ---
Der Spieler ist dran: 0
Die Runde ist dran: 9
Der Wurf ist dran: 0
Es wurde gewuerfel: 5
Der Wurf ist dran: 1
Es wurde gewuerfel: 5
Der Wurf ist dran: 2
Es wurde gewuerfel: 2
Der Wurf ist dran: 3
Es wurde gewuerfel: 2
Der Wurf ist dran: 4
Es wurde gewuerfel: 2
Die Summe betraegt: 16
Insgesamt hat der Spieler Punkte: 61
--- --- ---
Der Spieler ist dran: 1
Die Runde ist dran: 9
Der Wurf ist dran: 0
Es wurde gewuerfel: 4
Der Wurf ist dran: 1
Es wurde gewuerfel: 2
Der Wurf ist dran: 2
Es wurde gewuerfel: 5
Der Wurf ist dran: 3
Es wurde gewuerfel: 5
Der Wurf ist dran: 4
Es wurde gewuerfel: 6
Die Summe betraegt: 22
Insgesamt hat der Spieler Punkte: 100
Der Spieler hat gewonnen!!!!!
BUILD SUCCESSFUL (total time: 4 minutes 51 seconds)
```




Eventuell mal schauen, 1.) Methoden einführen, 2.) Wer fängt an?, 3.) Ausgabe so "leserlich"?.

Grüße

Achso, 5 EUR wäre mir das schon wert...


----------



## Cromewell (18. Jun 2016)

http://puu.sh/ptjOg/28bf5c64b4.jar
Ich hatte das zur Verfügung gestellt - plötzlich melden sie sich nicht mehr (nach schreiben und nachdem ich ihnen das Programm gegeben habe x)).


----------



## Xyz1 (18. Jun 2016)

@Cromewell : Würd sagen, du wurdest ausgenutzt... :/


----------



## Cromewell (18. Jun 2016)

DerWissende hat gesagt.:


> Würd sagen, du wurdest ausgenutzt... :/


Ich glaube auch x) 
Naja, es war eine Übung - und die Moral von der Geschicht': Vertraue niemandem


----------



## Meniskusschaden (18. Jun 2016)

Na ja, dieser Thread scheint doch von Beginn an auf Schummelei ausgelegt gewesen zu sein. Da hätte ich jetzt in ethischer Hinsicht keine allzu große Erwartungshaltung aufgebaut.


----------



## Cromewell (19. Jun 2016)

Meniskusschaden hat gesagt.:


> Da hätte ich jetzt in ethischer Hinsicht keine allzu große Erwartungshaltung aufgebaut.


Ich habe es mir auch schon fast gedacht - aber etwas Geld dazu zu verdienen klang sehr verlockend 
Ich frage mich, was mit den 100€ "versprechen" passiert ist ^^


----------



## Tobse (19. Jun 2016)

Cromewell hat gesagt.:


> Ich frage mich, was mit den 100€ "versprechen" passiert ist ^^


Ich glaube ich sollte an dieser Stelle ehrlich sein: der TE wurde auch ein bisschen verarscht: er hat jetzt Code, der ihn durch die Prüfung gebracht hat und ich habe 100€ mehr. ( )
Sie haben wohl gemerkt, dass der angebotene Preis zu hoch war.


----------



## Xyz1 (19. Jun 2016)

Tut mir leid, wenn ihr verarscht wurdet. Meins kann er so nicht abgeben, weil es Softwaretechnisch Schrott ist.

----

Ich hab es (noch) nicht stochastisch durchgerechnet, aber derjenige, der Anfängt, hätte rechnerisch 'nen kleinen Vorteil, 100 oder mehr früher zu erreichen - oder?

Weiterhin gibt es noch zwei Variationen des Spiels "Böse Eins"... Es kann beliebig oft gewürfelt werden - wenn keine Eins fällt - und Zeit und/oder "Durchläufe" können begrenzt/reglementiert werden...

Beide Varianten hab ich nicht umgesetzt, dafür beliebig viele Spieler.

Der Benutzer sollte aber zur Interaktioneingabe aufgefordert werden, wenn "er" würfeln soll.


----------



## Cromewell (19. Jun 2016)

DerWissende hat gesagt.:


> Ich hab es (noch) nicht stochastisch durchgerechnet, aber derjenige, der Anfängt, hätte rechnerisch 'nen kleinen Vorteil, 100 oder mehr früher zu erreichen - oder?


Jap, ist ja bei vielen Spielen so. 


DerWissende hat gesagt.:


> Weiterhin gibt es noch zwei Variationen des Spiels "Böse Eins"... Es kann beliebig oft gewürfelt werden - wenn keine Eins fällt - und Zeit und/oder "Durchläufe" können begrenzt/reglementiert werden...


Der TE meinte ja, das es max. 5 Versuche gibt, bevor die Runde zu ende ist.

Achso, und zu dem Abgeben - die mussten es wohl schon am 15. abgeben


----------



## Tobse (19. Jun 2016)

DerWissende hat gesagt.:


> Ich hab es (noch) nicht stochastisch durchgerechnet, aber derjenige, der Anfängt, hätte rechnerisch 'nen kleinen Vorteil, 100 oder mehr früher zu erreichen - oder?


Sehe ich wie Cromewell. Wenn der zweite Spieler nicht auchnoch ein Untentschieden rausholen kann wenn der Erste die 100 knackt hat der 1. einen Vorteil.



Cromewell hat gesagt.:


> Achso, und zu dem Abgeben - die mussten es wohl schon am 15. abgeben


Das wird ein weiterer Grund sein, warum der TE und sein Mitschüler kein Interesse an diesem Thread mehr haben...


----------



## Xyz1 (19. Jun 2016)

Man könnte ja ein Trinkspiel draus machen  .


----------

