# netzwerkfähiges spiel!



## gammlaa (27. Mrz 2004)

hallo leude
ich habe schick schnack schnuck programmiert und jetzt wollte ich versuchen das proggi netzwerkfähig zu machen so das 2 rechner gegen einander antreten! aber ich komm da einfach nicht weiter! ich würde mich freuen wenn mir da einer von euch helfen könnte!

hier meine bisherigen ergebnisse!


*Das Spiel*

```
package SchnickSchnackSchnuck;

import java.io.*;

public class Spiel {
Spieler A,B;
String ZugA, ZugB;
int ZaehlerA, ZaehlerB;
int Rundenzahl, benoetigtePunkte;
int aktRunde;

public Spiel(){
 A = new Spieler("Favorit");
 B = new Spieler("Reaktion");
}

public synchronized void FuehreAus(){
 ZaehlerA = 0;
 ZaehlerB = 0;
 Rundenzahl = 20;
 benoetigtePunkte = 5;
 ZugA = "";
 ZugB = "";

for (aktRunde=1; (ZaehlerA < benoetigtePunkte) && (ZaehlerB < benoetigtePunkte) && (aktRunde < Rundenzahl+1); aktRunde = aktRunde+1){
  ZugA = A.gibZug();
  ZugB = B.gibZug();
  if ((ZugA.equals("Schere"))&(ZugB.equals("Papier")))
      {ZaehlerA = ZaehlerA + 1;};
  if ((ZugA.equals("Schere"))&(ZugB.equals("Stein")))
      {ZaehlerB = ZaehlerB + 1;};
  if ((ZugA.equals("Schere"))&(ZugB.equals("Brunnen")))
      {ZaehlerB = ZaehlerB + 1;};
  if ((ZugA.equals("Stein"))&(ZugB.equals("Brunnen")))
      {ZaehlerB = ZaehlerB + 1;};
  if ((ZugA.equals("Stein"))&(ZugB.equals("Papier")))
      {ZaehlerB = ZaehlerB + 1;};
  if ((ZugA.equals("Stein"))&(ZugB.equals("Schere")))
      {ZaehlerA = ZaehlerA + 1;};
  if ((ZugA.equals("Papier"))&(ZugB.equals("Brunnen")))
      {ZaehlerA = ZaehlerA + 1;};
  if ((ZugA.equals("Papier"))&(ZugB.equals("Stein")))
      {ZaehlerA = ZaehlerA + 1;};
  if ((ZugA.equals("Papier"))&(ZugB.equals("Schere")))
      {ZaehlerB = ZaehlerB + 1;};
  if ((ZugA.equals("Brunnen"))&(ZugB.equals("Stein")))
      {ZaehlerA = ZaehlerA + 1;};
  if ((ZugA.equals("Brunnen"))&(ZugB.equals("Schere")))
      {ZaehlerA = ZaehlerA + 1;};
  if ((ZugA.equals("Brunnen"))&(ZugB.equals("Papier")))
      {ZaehlerB = ZaehlerB + 1;};

// Rückgabe an Spieler
  A.nimmZug(ZugB);
  B.nimmZug(ZugA);

//Ausgabe der Zwischenergebnisse
  System.out.println ("SpielerA:"+"     SpielerB:");
  System.out.println (ZugA+"         "+ZugB);
  System.out.println (ZaehlerA+"             "+ZaehlerB);
  System.out.println ("");

  // Siegerehrung
  if (ZaehlerA == benoetigtePunkte) {System.out.println ("SpielerA hat gewonnen");};
  if (ZaehlerB == benoetigtePunkte) {System.out.println ("SpielerB hat gewonnen");};

  System.out.println ("----------------------------");

  try {wait(2000);} catch (Exception e) {};
   }
  }
 }




[b]Die Klasse Spieler[/b]

package SchnickSchnackSchnuck;

public class Spieler {
  String Strategie, letzterGegnerZug;

public Spieler(String Wunschstrategie) {
  Strategie = Wunschstrategie;
  letzterGegnerZug = "";
  }

public void nimmZug (String aktZug){
  letzterGegnerZug  = aktZug;
  }

public String gibZug(){
 String Ausgabe = "";
 if (Strategie.equals ("Reaktion")) Ausgabe = gibZugReaktion();
 if (Strategie.equals ("Zufall")) Ausgabe = gibZugZufall();
 if (Strategie.equals ("Favorit")) Ausgabe = gibZugFavorit();
 return Ausgabe;
 }

public String gibZugReaktion  (){

int Zug;
String Ausgabe = "";
 double Zwischenergebnis;
 Zwischenergebnis = Math.random()*4+1;
 Zug = (int) Zwischenergebnis;
 if ( Zug == 1) Ausgabe = "Brunnen";
 if ( Zug == 2) Ausgabe = "Stein";
 if ( Zug == 3) Ausgabe = "Schere";
 if ( Zug == 4) Ausgabe = "Papier";

 if (letzterGegnerZug.equals ("Stein") ){Ausgabe="Brunnen";}
 if (letzterGegnerZug.equals ("Schere") ){Ausgabe="Papier";}
 if (letzterGegnerZug.equals ("Papier") ){Ausgabe="Stein";}
 if (letzterGegnerZug.equals ("Brunnen") ){Ausgabe="Schere";}
return Ausgabe;

}

public String gibZugZufall() {
 String Ausgabe="";
 int Zug;
 double Zwischenergebnis;
 Zwischenergebnis = Math.random()*4+1;
 Zug = (int) Zwischenergebnis;
 if ( Zug == 1) Ausgabe = "Brunnen";
 if ( Zug == 2) Ausgabe = "Stein";
 if ( Zug == 3) Ausgabe = "Schere";
 if ( Zug == 4) Ausgabe = "Papier";
 return Ausgabe;
}

public String gibZugFavorit() {
 String Ausgabe="";
 int Zug;
 double Zwischenergebnis;
 Zwischenergebnis = Math.random()*99+1;
 Zug = (int) Zwischenergebnis;
 if (( Zug >  0) && (Zug < 70) )  Ausgabe = "Brunnen";
 if (( Zug > 70) && (Zug < 80) )  Ausgabe = "Stein";
 if (( Zug > 80) && (Zug < 90) )  Ausgabe = "Schere";
 if (( Zug > 90) && (Zug < 100))  Ausgabe = "Papier";
 return Ausgabe;
 }
}
```
vielen dank im voraus!


----------



## silvioz (1. Apr 2004)

könntest du bitte die main-methode dazuposten

(zwecks verwendung deiner einzelnen methoden)

mfg
silvioz


----------



## Guest (2. Apr 2004)

das ist der letzte code von meinem spiel! 

```
package SchnickSchnackSchnuck;

public class SpielStart {

  public static void main(String[] args) {
    Spiel SSS = new Spiel();
    SSS.FuehreAus();
   }
  private boolean invokedStandalone = false;
}
```


----------



## Guest (4. Apr 2004)

du koenntest es mit RMI probieren. Ist nicht besonders schwer und hier beschrieben:
http://java.sun.com/developer/onlineTraining/rmi/RMI.html


----------

