All pastes #442205 Raw Edit

Mine

public java v1 · immutable
·published 2007-04-16 02:16 UTC
rendered paste body
import java.io.*;import java.net.*;import javax.swing.*;import com.sun.corba.se.impl.orbutil.ObjectWriter;import java.util.ArrayList;import java.util.Collections;import java.io.Serializable;public class Serveur {	static ArrayList<Partie> lesParties;	static PrintWriter pw[]= new PrintWriter[2];	static BufferedReader br[]= new BufferedReader[2];	static Socket soc[]= new Socket[2];	public static void main(String[] args) {		//déclarations 			ServerSocket ss;		//ObjectOutputStream oos[]=new ObjectOutputStream[2] ;		Joueur lesJoueurs[];		Joueur unJoueur;		int nbJoueur= 2;		boolean partieEnCours=true;		int nbCoupJouer=0;		//creation d'objets nécessaires		try{//CREATION DU SERVEUR			ss = new ServerSocket(3000,2); 			while(true){				//Initialise les données				Partie nouvPartie;				nbCoupJouer=0;				lesJoueurs =new Joueur[2];				//START//				for(int i=0;i<nbJoueur;i++){					//CREATION DES SOCKETS					soc[i] = ss.accept(); 	   						pw[i] = new PrintWriter(new BufferedWriter(new OutputStreamWriter(soc[i].getOutputStream())), true);					br[i] = new BufferedReader(new InputStreamReader(soc[i].getInputStream( ) ) );					//oos[i]= new ObjectOutputStream(soc[i].getOutputStream());//SI I==0 ALORS C'EST LE PREMIER JOUEURS !					if (i==0){// PREND LE NOM, LE PTICH DANS LE TABLEAU ET LUI DONNE SON INDEX JOUEUR, VU QUIL EST FIRST						// SON INDEX C 1						unJoueur= new Joueur(br[i].readLine());						lesJoueurs[i]= unJoueur;						lesJoueurs[i].setNoJoueur(i+1);					}else{// DEUXIEME JOUEUR, PAREIL QUE LE PREMIER						unJoueur= new Joueur(br[i].readLine());						lesJoueurs[i]= unJoueur;						lesJoueurs[i].setNoJoueur(i+1);						//Donne les noms de leur adversaire aux joueurs						pw[i-1].println(lesJoueurs[i].getNomJoueur());						pw[i].println(lesJoueurs[i-1].getNomJoueur());						//Donne leur numéro de joueur, celui-ci defini qui						//commence la partie						//PREND LE TABLEAU DE JOUEURS ET LANCE UN TRUC QUI ENVOIT LE NO DE JOUEUR						// le ""+ au debut c'est une convertion integer, CF Andrei Moldoveanu, le skillé						for (Joueur j :lesJoueurs){							for (int x = 0;x<nbJoueur;x++){								pw[x].println(""+j.getNoJoueur());							}						}						//ICI COMMENCE LA PARTIE ! LA SUITE NEST PAS IMPORTANT POUR L'INSTANT						do{							for(int z=nbJoueur-1;0<z;z--){								pw[z].println(br[z-1].readLine());									pw[z-1].println(br[z].readLine());								nbCoupJouer++;							}						}while(partieEnCours);						try{							nouvPartie = new Partie(lesJoueurs[i-1].getNomJoueur(),lesJoueurs[i].getNomJoueur(),br[i].readLine(),nbCoupJouer);							//	oos[i].writeObject(lesParties);						}catch(Partie.ScoreImpossible err){							System.out.println("Exception ScoreImpossible: le score n'est pas possible.");						}					}					//communication et traitement : Prend le nom et l'envoie aux client + le jeton					//fermetures					/*for(int i=0;i<2;i++){					soc[i].close();				}*/					//ss.close(); -- Boucle infini, donc on ne ferme pas le serveur.				}			}		}catch (ConnectException e){			System.out.println(e.toString()+ " Erreur de communication, connection refusée.");		}catch (IOException e){			System.out.println(e.toString()+ " Erreur de communication, côté serveur.");			System.exit(0);		}	}}