Hallo ihr Lieben
Am Montag muss unser Spiel programmiert sein..
Ich habe hier jetzt drei Codes, kann mir jemand erklären was da Zeile für Zeile passiert ??
Es geht ums bestehen oder nicht bestehen..
Ich wäre euch sehr sehr dankbar!
LG Lena
1. Client.java
2.DemoThread.java
3. Server.java
Am Montag muss unser Spiel programmiert sein..
Ich habe hier jetzt drei Codes, kann mir jemand erklären was da Zeile für Zeile passiert ??
Es geht ums bestehen oder nicht bestehen..
Ich wäre euch sehr sehr dankbar!
LG Lena
1. Client.java
Java:
import java.net.*;
import java.io.*;
import java.util.*;
public class Client {
BufferedReader br;
int status;
/**
* @param args
*/
Client() throws IOException {
Socket server = new Socket ("192.168.05.1", 4088);
InputStream input = server.getInputStream();
OutputStream output = server.getOutputStream();
br = new BufferedReader( new InputStreamReader(System.in));
status = 0;
while (status == 0) {
System.out.println("Geben Sie bitte 5 verschiedene Zahlen zwischen 0 und 36 ein.");
int zahl1 = 100;
while (!korrekteEingabe(zahl1)) {
System.out.print("Zahl1: ");
zahl1 = Integer.parseInt( br.readLine() );
}
output.write( zahl1 );
output.flush();
int zahl2 = 100;
while (!korrekteEingabe(zahl2)) {
System.out.print("Zahl2: ");
zahl2 = Integer.parseInt( br.readLine() );
}
output.write( zahl2 );
output.flush();
int zahl3 = 100;
while (!korrekteEingabe(zahl3)) {
System.out.print("Zahl3: ");
zahl3 = Integer.parseInt( br.readLine() );
}
output.write( zahl3 );
output.flush();
int zahl4 = 100;
while (!korrekteEingabe(zahl4)) {
System.out.print("Zahl4: ");
zahl4 = Integer.parseInt( br.readLine() );
}
output.write( zahl4 );
output.flush();
int zahl5 = 100;
while (!korrekteEingabe(zahl5)) {
System.out.print("Zahl5: ");
zahl5 = Integer.parseInt( br.readLine() );
}
output.write( zahl5 );
output.flush();
status = input.read();
if(status == 0)
System.out.println("Nicht getroffen. Weiter gehts...");
else
System.out.println("Treffer. Sie haben gewonnen.");
int zufall = input.read();
System.out.println("Die Zahl ist: " + zufall);
}
server.close();
input.close();
output.close();
}
public boolean korrekteEingabe(int zahl) {
for(int i = 0; i <= 36; i++) {
if(zahl == i)
return true;
}
return false;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Client client = new Client ();
} catch (IOException e){
System.out.print(e);
}
}
}
2.DemoThread.java
Java:
import java.net.*;
import java.io.*;
import java.util.Random;
public class DemoThread extends Thread {
Socket client;
InputStream input;
OutputStream output;
int status;
public DemoThread(Socket client){
this.client = client;
}
public void run() {
try{
InputStream input = client.getInputStream();
OutputStream output = client.getOutputStream();
status = 0;
while(status == 0) {
int zahl1 = input.read();
int zahl2 = input.read();
int zahl3 = input.read();
int zahl4 = input.read();
int zahl5 = input.read();
Random r = new Random();
int zufall = r.nextInt(37);
if(zahl1 == zufall || zahl2 == zufall || zahl3 == zufall || zahl4 == zufall || zahl5 == zufall){
output.write(1);
status = 1;
}
else{
output.write(0);
status = 0;
}
output.write(zufall);
output.flush();
}
input.close();
output.close();
client.close();
}
catch(Exception e){}
}
}
3. Server.java
Java:
import java.net.*;
import java.io.*;
public class Server {
public static void main(String args[]) throws IOException {
ServerSocket server = null;
Socket client1 = null;
try {
server = new ServerSocket(4088);
} catch(IOException e) {
System.err.println("Could not listen on port: 4088.");
System.exit(-1);
}
while (true) {
if (client1 == null) {
client1 = server.accept();
}
if (client1 != null) {
new DemoThread(client1).start();
client1 = null;
}
} //end while
} //end main
}