Commit 6eeeac4d authored by Chevrier Florine's avatar Chevrier Florine
Browse files

TP7 partie 1

parent 24c93b09
......@@ -5,8 +5,9 @@ import fr.insarouen.asi.prog.asiaventure.NomDEntiteDejaUtiliseDansLeMondeExcepti
import java.util.HashMap;
import java.util.Map;
import java.util.Iterator;
import java.io.Serializable;
public class Monde {
public class Monde implements Serializable {
private String nom;
private Map<String,Entite> tabEntites;
......
......@@ -27,22 +27,22 @@ public class Simulateur{
while (sc.hasNext()){
switch(sc.next()){
case "Monde":
construitMonde(sc);
construitMonde(sc.next());
break;
case "Piece":
construitPiece(sc);
construitPiece(sc.next());
break;
case "Porte":
construitPorte(sc);
construitPorte(sc.next(), sc.next(), sc.next());
break;
case "PorteSerrure":
construitPorteSerrure(sc);
construitPorteSerrure(sc.next(), sc.next(), sc.next());
break;
case "Clef":
construitClef(sc);
construitClef(sc.next(), sc.next());
break;
case "JoueurHumain":
construitJoueur(sc);
construitJoueur(sc.next(), sc.nextInt(), sc.nextInt(), sc.next());
break;
default:
sc.next();
......@@ -51,39 +51,37 @@ public class Simulateur{
}
}
private void construitMonde(Scanner sc){
this.monde = new Monde(sc.next());
public Simulateur(ObjectInputStream ois) throws java.io.IOException, java.lang.ClassNotFoundException{
this.monde = (Monde)ois.readObject();
}
private void construitPiece(Scanner sc) throws NomDEntiteDejaUtiliseDansLeMondeException, EntiteDejaDansUnAutreMondeException{
Piece piece = new Piece(sc.next(), this.monde);
private void construitMonde(String nomMonde){
this.monde = new Monde(nomMonde);
}
private void construitPorte(Scanner sc) throws NomDEntiteDejaUtiliseDansLeMondeException, EntiteDejaDansUnAutreMondeException{
String nomPorte = sc.next();
Piece pieceA = new Piece(sc.next(), this.monde);
Piece pieceB = new Piece(sc.next(), this.monde);
private void construitPiece(String nomPiece) throws NomDEntiteDejaUtiliseDansLeMondeException, EntiteDejaDansUnAutreMondeException{
Piece piece = new Piece(nomPiece, this.monde);
}
private void construitPorte(String nomPorte, String nomPieceA, String nomPieceB) throws NomDEntiteDejaUtiliseDansLeMondeException, EntiteDejaDansUnAutreMondeException{
Piece pieceA = (Piece)this.monde.getEntite(nomPieceA);
Piece pieceB = (Piece)this.monde.getEntite(nomPieceB);
Porte porte = new Porte(nomPorte, this.monde, pieceA, pieceB);
}
private void construitPorteSerrure(Scanner sc) throws NomDEntiteDejaUtiliseDansLeMondeException, EntiteDejaDansUnAutreMondeException{
String nomPorte,nomPieceA,nomPieceB;
private void construitPorteSerrure(String nomPorte, String nomPieceA, String nomPieceB) throws NomDEntiteDejaUtiliseDansLeMondeException, EntiteDejaDansUnAutreMondeException{
Serrure serrure = new Serrure(this.monde);
Piece pieceA, pieceB;
nomPorte = sc.next();
nomPieceA = sc.next();
nomPieceB = sc.next();
pieceA = (Piece)this.monde.getEntite(nomPieceA);
pieceB = (Piece)this.monde.getEntite(nomPieceB);
new Porte(nomPorte,this.monde,serrure,pieceA,pieceB);
}
private void construitClef(Scanner sc) throws NomDEntiteDejaUtiliseDansLeMondeException, EntiteDejaDansUnAutreMondeException{
String nomPorte = sc.next();
String nomPiece = sc.next();
private void construitClef(String nomPorte, String nomPiece) throws NomDEntiteDejaUtiliseDansLeMondeException, EntiteDejaDansUnAutreMondeException{
Piece piece;
Serrure serrure;
Porte porte;
......@@ -94,14 +92,16 @@ public class Simulateur{
piece.deposer(serrure.creerLaClef());
}
private void construitJoueur(Scanner sc) throws NomDEntiteDejaUtiliseDansLeMondeException, EntiteDejaDansUnAutreMondeException{
String nomHumain = sc.next();
String pv = sc.next();
String pf = sc.next();
String nomPiece = sc.next();
private void construitJoueur(String nomHumain, int pv, int pf, String nomPiece) throws NomDEntiteDejaUtiliseDansLeMondeException, EntiteDejaDansUnAutreMondeException{
Piece piece = (Piece)this.monde.getEntite(nomPiece);
new JoueurHumain(nomHumain,this.monde,Integer.parseInt(pv),Integer.parseInt(pf),piece);
new JoueurHumain(nomHumain,this.monde,pv,pf,piece);
}
public EtatDuJeu getEtatDuJeu(){
return this.etatDuJeu;
}
public void enregistrer(java.io.ObjectOutputStream oos) throws java.io.IOException{
oos.writeObject(this.monde);
}
}
package fr.insarouen.asi.prog.asiaventure.elements.vivants;
import fr.insarouen.asi.prog.asiaventure.elements.vivants.VivantException;
public class CommandeImpossiblePourLeVivantException extends VivantException{
//constructeurs
public CommandeImpossiblePourLeVivantException(){
}
public CommandeImpossiblePourLeVivantException(String msg){
super(msg);
}
}
......@@ -15,7 +15,7 @@ import fr.insarouen.asi.prog.asiaventure.elements.structure.PorteFermeException;
import fr.insarouen.asi.prog.asiaventure.elements.structure.PorteInexistanteDansLaPieceException;
import fr.insarouen.asi.prog.asiaventure.elements.ActivationException;
import fr.insarouen.asi.prog.asiaventure.elements.structure.VivantAbsentDeLaPieceException;
import java.io.*;
import java.io.Serializable;
import java.lang.reflect.*;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment