• Catania / Scienze MM. FF. NN. / Informatica
  • prima implementazione gioco delle creature

brad13-votailprof
brad13-votailprof - Ominide - 0 Punti
Rispondi Cita Salva
import javax.swing.*;



abstract class creatura

{

//campi di istanza

protected int magia,

forza;





//metodo costruttore

public creatura(int unaMagia,int unaForza)

{magia=unaMagia;

forza=unaForza;

}



public int getMagia()

{return magia;}



public int getForza()

{return forza;}





}







class strega extends creatura

{

//costruttore

public strega()

{super((int)(Math.random()*11),0);

}





}





class gigante extends creatura

{

//costruttore

public gigante()

{super(0,(int)(Math.random()*11));

}





}





class supereroe extends creatura

{ //campi di classe

private static int stregheUccise=0,

gigantiUccisi=0,

numeroCreature=0;





//costruttore

public supereroe()

{super((int)(Math.random()*11),(int)(Math.random()*11));

}







public static int getStregheUccise()

{return stregheUccise;}





public static int getGigantiUccisi()

{return gigantiUccisi;}



public static int getNumeroCreature()

{return numeroCreature;}





public static void setNumeroCreature()

{numeroCreature++;}











public boolean combatti(creatura unaCreatura)

{ this.setNumeroCreature();



JOptionPane.showMessageDialog(null,"Il nostro supereroe e´ pronto al "+this.getNumeroCreature()+"scontro\n";);







/*"in caso di vittoria"*/



if((unaCreatura instanceof strega)&&(this.getMagia()>unaCreatura.getMagia()))

{JOptionPane.showMessageDialog(null,"Supereroe batte Strega: "+this.getMagia()+"-"+unaCreatura.getMagia()+"!!!";);

stregheUccise++;

return true;

}

else if((unaCreatura instanceof gigante)&&(this.getForza()>unaCreatura.getForza()))

{JOptionPane.showMessageDialog(null,"Supereroe batte Gigante: "+this.getForza()+"-"+unaCreatura.getForza()+"!!!";);

gigantiUccisi++;

return true;

}







else return false;





}





public void statistiche(creatura unaCreatura)

{ if(unaCreatura instanceof strega)

JOptionPane.showMessageDialog(null,"Oh ****!!!!Strega batte Supereroe: "+unaCreatura.getMagia()+"-"+this.getMagia()+"!!!";);



else JOptionPane.showMessageDialog(null,"Oh ****!!!!Gigante batte Supereroe: "+unaCreatura.getForza()+"-"+this.getForza()+"!!!";);



System.out.println("Il nostro supereroe, dopo aver lottato contro "+this.getNumeroCreature()+" esce a testa alta con il seguente risultato:\nStreghe uccise: "+this.getStregheUccise()+"\nGiganti uccisi: "+this.getGigantiUccisi());

}







}







public class giocoCreature

{

public static void main(String[]args)

{

supereroe ago=new supereroe();



/*dichiara un oggetto di tipo "creatura"*/

creatura unaCreatura=null;



do{

/*creazione di creature casuali*/

switch((int)(Math.random()*2))

{case 0:{unaCreatura=new strega();break;}

case 1:{unaCreatura=new gigante();break;}

}



}

while(ago.combatti(unaCreatura));



ago.statistiche(unaCreatura);

System.exit(0);

}

}
Come guadagno Punti nel Forum? Leggi la guida completa
In evidenza
Classifica Mensile
Vincitori di novembre
Vincitori di novembre

Come partecipare? | Classifica Community

Community Live

Partecipa alla Community e scala la classifica

Vai al Forum | Invia appunti | Vai alla classifica

anny=)

anny=) Moderatore 30557 Punti

VIP
Registrati via email