# TippSpiel für Bundesliga programieren



## Guest (27. Jan 2009)

Hi @ all,
habe folgendes Problem und zwar möchte ich ein kleines Fussball Tippspiel programieren. Wollte erst so eine Client-Server Anwendung programieren aber da glaub ich übertrifft dieses überweiten meine Programierkenntnisse da ich leider noch anfänger bin. Habe jetzt ein kleines Programm geschrieben, was sogesehen ein Spieltag simuliert. Habe eine Klasse TippSpieler geschreiben was ein Objekt mit Namen des Spielers erstellt:

```
package tippspiel;
import java.io.*;

public class TippSpieler implements Serializable {
    int richtig;
    int falsch;
    int tendenz;
    int[] heim = new int[9];
    int[] aus = new int[9];
    String name;

    public TippSpieler(String n) {
        name = n;
        richtig = 0;
        falsch = 0;
        tendenz = 0;
    }

    public void gibPunkte() {
        System.out.println("Die Anzahl der Richtigen Punkte: " + richtig);
        System.out.println("Die Anzahl der Tendenz Punkte: " + tendenz);
        System.out.println("Die Anzahl der Falschen Punkte: " + falsch);
    }

    public void setzeTip(String datum) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        for(int i=0 ; i<9 ; i++) {
        System.out.print("Heim: ");
        heim[i] = Integer.parseInt(in.readLine());
        System.out.print("Auswährts: ");
        aus[i] = Integer.parseInt(in.readLine());
        }
    }

    public int pruefe(Spielplan t1) {
        for(int i=0 ; i<8 ; i++) {
        if(t1.heim[i] == heim[i] && t1.aus[i] == aus[i]) return richtig++;
            if(t1.heim[i] >= heim[i] && t1.aus[i] >= aus[i]
                    || t1.heim[i] <= heim[i] && t1.aus[i] <= aus[i] ) return tendenz++;
                        else return falsch++;
            }
        return 0;
    }

    public void einlesen(TippSpieler n) throws IOException {
        ObjectInputStream objIn = new ObjectInputStream(new BufferedInputStream(new FileInputStream("test.ser")));
        objIn.readObject(n);
        objIn.close();
    }

    public void speichern(TippSpieler n) throws IOException {
        ObjectOutputStream objOut = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream("Tipp.ser")));
        objOut.writeObject(n);
        objOut.close();
    }
}
```

So jedoch klappt es noch nicht so ganz mit dem Objekten in einer Datei speichern.
Es soll nämlich dann die vorhanden Ergebnisse übernehmen die man schon eingetippt hat.

Hier die Main:

```
package tippspiel;
import java.io.*;
import java.util.Date;
import java.text.SimpleDateFormat;

import javax.swing.*;


public class Main extends JFrame {

    public static void main(String[] args) throws IOException {
        String datum,name;
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

        SimpleDateFormat sd = new SimpleDateFormat("dd.MM.yyyy");
        datum = sd.format(new Date()).toString();
        System.out.println("Wir haben den: " + datum);

        System.out.print("Bitte geben Sie ihren Namen ein: ");
        name =  in.readLine();

        TippSpieler x1 = new TippSpieler(name);

        Spielplan t1 = new Spielplan(1);

        System.out.println("Bitte geben Sie ihre Tips ab:");
        x1.setzeTip(datum);

        System.out.println("Die Punkte von: " + x1.name);
        x1.gibPunkte();
        //System.out.println(x2.name);
        //x2.gibPunkte();
        System.out.println("---------------------------");
        x1.pruefe(t1);
        x1.gibPunkte();
        x1.speichern(x1);
              
       
    }
}
```

und die Klasse Spielplan:

```
package tippspiel;
import java.io.*;
public class Spielplan {
    int tag;
    int heim[] = new int[9];
    int aus[] = new int[9];

    public Spielplan(int t) {
        tag = t;
    }

    public void ergebnis() throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Die richtigen Ergebnisse bitte eingeben: ");
        for(int i=0 ; i<8 ; i++) {
            System.out.print("Heim: ");
            heim[i] = Integer.parseInt(in.readLine());
            System.out.print("Auswährts: ");
            aus[i] = Integer.parseInt(in.readLine());
        }
    }
}
```

Das Programm sollte nachher auf ne Webserver gespeichert sein und dann per Anmeldung dann einloggen und die Tips abgeben. Hoffe ihr versteht so grob was ich hier versuche *g*.

So meine Frage ist eigentlich wie kann ich ein Objekt am Anfang erstellen und wenn man dann zB. den Namen eingibt und er schon vorhanden ist das es dann die Tips und so eingelesen werden.
PS: Meine Tendenz ist glaub ich auch noch nicht so richtig aber denke das kriegt man schon hin.

Danke schonmal im vorraus.


----------



## Ebenius (27. Jan 2009)

Anonymous hat gesagt.:
			
		

> [...]
> 
> 
> 
> ...


Die einlesen()-Methode speichert und liest nicht ein.



			
				Anonymous hat gesagt.:
			
		

> So meine Frage ist eigentlich wie kann ich ein Objekt am Anfang erstellen und wenn man dann zB. den Namen eingibt und er schon vorhanden ist das es dann die Tips und so eingelesen werden.


:shock: Mach da mal Deutsch draus!

Ebenius


----------



## Guest (27. Jan 2009)

Also, ich möchte sogesehen Accounts anlegen können.
Sagen wir die Person x legt sich ein Account an, tippt den ersten Spieltag. Dann soll mein Programm das Speichern und wenn man sich dann nächsten Tag zum Beispiel die Person x wieder einloggt sollen die Tips erscheinen.


----------



## ARadauer (28. Jan 2009)

das willst du mit einer datenbank machen? ja kein problem
schon mal was mit jdbc gemacht? gibt es konkrete probleme oder fragen?


----------



## Todo (28. Jan 2009)

HI,
ne habe noch nichts davon gehört.
Habe nur Java und C Kenntnisse.

Ja meine Frage ist eigentlich wie man ein erstelltes Objekt, in meinen Fall ein Tippspieler, zuerst erstellen kann und das Objekt dann speichern kann. Dann wollte ich ein Namen einlesen, und falls er dann schon exestiert als Objekt, das man die gespeicherten Daten wieder lädt. Hoffe ihr versteht was ich meine ^^.

mh...irgendwie war ich vorher gar nicht angemeldet ^^.


----------

