Réalisation d'un Seriousgame en Java(Plague), petite question :)

Henley -  
 Henley -
Bonjour,
je dois réaliser un genre de plague inversé (un virus se répend et on doit gérer le vaccin, c'est un serious game un peu)
on nous a donné ça pour gérer l'affichage : GUI : http://pastebin.com/0Aq6RDY1
Affichage.java : http://pastebin.com/vUGwuaSB
mon sujet : http://image.noelshack.com/fichiers/...223-projet.png (si vous voulez jeter un p'tit n'oeil dessus)
j'ai actuellement ça : (j'ai pas fini tout tout dans les classes, vaccins etc j'vais ajouter au fur & à mesure)
Main :
import display.*;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import java.lang.IllegalArgumentException;
import java.util.ArrayList;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
     
public class projet
{
   
    //@param args
    
    public static void main(String[] args){
//création du tableau de vaccins :
        String r = "Test";
        Ville[] tableau = new Ville[6];
        Vaccin[] lestock = new Vaccin [100];

    //random ensuite un chiffre, qui correspond à une ville, pour savoir comment seront distribués les stocks etc (il faut remplir la classe après)

            //faire apparaitre une image
        Color fond = new Color (0.0f, 0.0f, 0.0f);
                //GUIEpidemie a = new GUIEpidemie ("teste", 640, 480, fond);

        try {
            GUIEpidemie b = new GUIEpidemie ("test2", "carte.jpg");
        } catch (IOException e) {
            System.out.println("ERROR");
        }
        displayMessage(e);
        System.out.println("Lel");


// DEBUT BOUCLE JEU A FAIRE

    }
}


Personne.java :
 import java.util.*;

abstract class Personne {

	boolean resistance;
	boolean resistancetotale;
	boolean vaccin;
	boolean infecte;
	String ville;
	int compARisque;
	int x;
	int y;
	int pdv;


public void sedeplacer (int px, int py){
	this.x = px;
	this.y = py;
}



}

// pour gerer la resistance a une maladie : faire une boucle qui va tourner et qui va faire descendre petit à petit la valeur de la resistance
//pareil pour savoir si qqun va tomber malade : faire un genre de rand qui va avoir une valeur plus ou moins elevee en fonction du compARisque et regarder le resultat

personormal.java :
import java.util.*;

public class personormal extends Personne {

	Random r = new Random();

	public personormal(boolean pResistance, boolean pResistancetotale, boolean pVaccin, String pVille, boolean pInfecte){
		resistance = pResistance; // resistance partielle
		resistancetotale = pResistancetotale;
		pVaccin = vaccin;
		ville = pVille;
		infecte = pInfecte;
		compARisque = 1 + r.nextInt(10 - 1); // tire un nombre au hasard pour definir le niveau de comportement a risque de 1 à 10
		x = 1 + r.nextInt(10 - 1);
		y = 1 + r.nextInt(10 - 1);
		pdv = 100;

	}


}

persomedical.java :
import java.util.*;

public class persomedical extends personormal {

	Vaccin vaccinpossede;
	Random r = new Random();

	public persomedical(boolean pResistance, boolean pResistancetotale, boolean pVaccin, String pVille, boolean pInfecte, Vaccin pVaccinpossede){
		super(pResistance, pResistancetotale, pVaccin, pVille, pInfecte);
		this.vaccinpossede = pVaccinpossede;
		compARisque = 1 + r.nextInt(10 - 1);
	}

	public void soigner(Personne p, Vaccin v) {
		int distx = Math.abs(p.x - this.x);
		int disty = Math.abs(p.y - this.y);

		if((distx >= 3) || (disty >= 3)){
			this.rejoindre(p);
		}
		this.x = p.x;
		this.y = p.y;
		p.infecte = false; // a changer evetuellement avec la classe Vaccin ?
		p.pdv = 100;
		p.resistancetotale = true;
		v.stocks = v.stocks - 1;
		}


	public void rejoindre(Personne p){
		int distx = Math.abs(p.x - this.x);
		int disty = Math.abs(p.y - this.y);
		if (distx > 30){ // si jamais il est à plus de 30, il va se déplacer du plus qu'il peut en un tour (donc de 30), sinon il va se déplacer de juste ce qu'il faut
			this.x = this.x+30; // REMPALCER EVENTUELLEMENT 30 PAR UN TRUC PLUS CREDIBLE PAR RAPPORT A LA TAILLE DE LA CARTE SI LES UNITES VONT TROP VITE OU PAS
		}
		if (disty > 30){
			this.y = this.y+30;
		}
		if (distx <= 30){
			this.x = this.x+distx;
		}
		if (disty <= 30){
			this.y = this.y+disty;
		}
	}

}

// savoir si CompARisque de population va etre reutilise ou non dans persomedical ?

// Note faire un abstract pour les maladies puis dire ensuite laquelle

Vaccin.java :
public class Vaccin {

	int stocks;
	Microbe m;
	Ville ville;

	public Vaccin (int pStocks, Microbe pMicrobe, Ville v){
		this.stocks = pStocks;
		this.m = pMicrobe;
		this.ville = v;
	}

	public void refillstocks(){
		this.stocks = this.stocks+200; //
	}

}

Microbe.java :
public class Microbe {
	protected String nom;
	protected int contagiosite;
	protected int letalite;
	protected int periodeinc;  // période d'incubation
	protected int periodeconta; // période de contamination;

	public Microbe(String pNom, int pContagiosite, int pLetalite, int pPeriodeinc, int pPeriodeconta){

		this.nom = pNom;
		this.contagiosite = pContagiosite;
		this.letalite = pLetalite;
		this.periodeinc = pPeriodeinc;
		this.periodeconta = pPeriodeconta;
	}


//GETTERS
	public String getnom(){return this.nom;}
	public int getconta(){return this.contagiosite;}
	public int getleta(){return this.letalite;}
	public int getperiodeinc(){return this.periodeinc;}
	public int getperiodeconta(){return this.periodeconta;}

//SETTERS
	public void setnom(String pNom){
		this.nom = pNom;}

	public void setconta(int pContagiosite){
		this.contagiosite = pContagiosite;}

	public void setleta(int pLetalite){
		this.letalite = pLetalite;}

	public void setperodeinc(int pPeriodeinc){
		this.periodeinc = pPeriodeinc;}
		
	public void setperiodeconta(int pPeriodeconta){
		this.periodeconta = pPeriodeconta;}
}

Ville.java :
public class Ville {

	String nom;
	int population;
	int x;
	int y;
	int taille;
	public Ville(String pNom, int pPopulation, int px, int py, int pTaille){
		this.nom = pNom;
		this.population = pPopulation;
		this.x = px;
		this.y = py;
		this.taille = pTaille;
	}

}


(j'pense pas que ça soit vraiment utile que j'mette tout mais c'est si jamais vous voulez voir un peu, et faites pas gaff aux commentaires c'est des mémos pour moi)
ma question en gros c'est que j'aimerais déjà afficher qq points sur la carte : et surtout, au niveau des coordonnées, comment je vais "lier" les coordonées que j'ai faites à celles de l'images ?
il faut que j'utilise les méthodes dans Affichage.java ?

psq quand je fais : displayMessage("test"); par ex, j'ai un cannot find symbol sur "displayMessage" (or j'ai pu utiliser le constructeur pour GUIEpidemie, il est dans la même classe donc c'est étrange)

merci de votre aide les gens ! : )
A voir également:

1 réponse

Henley
 
au c'est bon pour le displaymessage j'ai trouvé ahah

mais pour le reste je sais pas trop ?
0