agente mm8
06-11-2008, 18:08
SCUSATE TITOLO SBAGLIATO
_____________________________________
Salve a tutti! Mi è venuta l'idea di creare un simulatore di combattimenti: per ora non ha grafica, il giocatore può scegliere se attaccare, lanciare una magia (max. 5 magie), curarsi (max 3 volte), e scappare, quindi abbandonare la partita.
Vi posto il codice:
package combatsimulator;
/**
* @author agente mm8
*/
import java.util.Scanner;
import java.util.Random;
public class Main{
public static int magie, cure, livello;
public static int magie2, cure2; //per avversario
public static Scanner sc;
public static int MyLife, YourLife;
public static boolean turno;
public static void main(String args[]) {
sc = new Scanner(System.in);
magie = 5;
cure = 3;
livello = 1;
magie2 = 5;
cure2 = 3;
MyLife = 100;
YourLife = 100;
turno = true;
System.out.println("Created by Michele Marolla");
System.out.println("**********************************");
System.out.println(" Benvenuto in Combat Simulator");
System.out.println("**********************************");
System.out.println();
System.out.println("Livello: " + String.valueOf(livello));
informazioni();
System.out.println("Scrivi la tua scelta:\n1) Attacca\n2)Lancia Magia\n3) Usa pozione curativa\n4) Scappa");
while(MyLife > 0 && turno == true){
input();
avversario();
informazioni();
}
}
public static void informazioni(){
System.out.println();
System.out.println("Vita: " + String.valueOf(MyLife));
System.out.println("Vita Avversario: " + String.valueOf(YourLife));
System.out.println("Magie Disponibili: " + String.valueOf(magie));
System.out.println("Pozioni Curative Rimaste: " + String.valueOf(cure));
System.out.println();
}
public static void input(){
if(turno){
int scelta = sc.nextInt();
if(scelta == 1){
System.out.println("Giocatore attacca");
YourLife -= 10;
turno = false;
}else if(scelta == 2){
if(magie > 0){
System.out.println("Giocatore lancia magia");
YourLife -= 25;
magie--;
turno = false;
}
}else if(scelta == 3){
if(cure > 0){
System.out.println("Giocatore usa pozione curativa");
MyLife += 30;
cure--;
turno = false;
}
}else if(scelta == 4){
System.out.println("Mi dispiace, hai perso!");
System.out.println("Premere invio per uscire");
String x = sc.next();
System.exit(0);
}else{
System.out.println("Comando non riconosciuto: riprovare");
input();
}
}
}
public static void avversario(){
Random r = new Random();
int scelta = r.nextInt(2) + 1;
if(scelta == 1){
System.out.println("Avversario attacca");
MyLife -= 10;
turno = true;
}else if(scelta == 2){
if(magie2 > 0){
System.out.println("Avversario lancia magia");
MyLife -= 25;
magie2--;
turno = true;
}else{avversario();}
}else if(scelta == 3){
if(cure2 > 0){
System.out.println("Avversario usa pozione curatrice");
YourLife += 30;
cure--;
turno = true;
}else{avversario();}
}
}
}
Ho inserito il while per evitare che il metodo input() andasse avanti senza che il giocatore avesse inserito la scelta, ma ancora ora...
Come posso fare???:confused:
_____________________________________
Salve a tutti! Mi è venuta l'idea di creare un simulatore di combattimenti: per ora non ha grafica, il giocatore può scegliere se attaccare, lanciare una magia (max. 5 magie), curarsi (max 3 volte), e scappare, quindi abbandonare la partita.
Vi posto il codice:
package combatsimulator;
/**
* @author agente mm8
*/
import java.util.Scanner;
import java.util.Random;
public class Main{
public static int magie, cure, livello;
public static int magie2, cure2; //per avversario
public static Scanner sc;
public static int MyLife, YourLife;
public static boolean turno;
public static void main(String args[]) {
sc = new Scanner(System.in);
magie = 5;
cure = 3;
livello = 1;
magie2 = 5;
cure2 = 3;
MyLife = 100;
YourLife = 100;
turno = true;
System.out.println("Created by Michele Marolla");
System.out.println("**********************************");
System.out.println(" Benvenuto in Combat Simulator");
System.out.println("**********************************");
System.out.println();
System.out.println("Livello: " + String.valueOf(livello));
informazioni();
System.out.println("Scrivi la tua scelta:\n1) Attacca\n2)Lancia Magia\n3) Usa pozione curativa\n4) Scappa");
while(MyLife > 0 && turno == true){
input();
avversario();
informazioni();
}
}
public static void informazioni(){
System.out.println();
System.out.println("Vita: " + String.valueOf(MyLife));
System.out.println("Vita Avversario: " + String.valueOf(YourLife));
System.out.println("Magie Disponibili: " + String.valueOf(magie));
System.out.println("Pozioni Curative Rimaste: " + String.valueOf(cure));
System.out.println();
}
public static void input(){
if(turno){
int scelta = sc.nextInt();
if(scelta == 1){
System.out.println("Giocatore attacca");
YourLife -= 10;
turno = false;
}else if(scelta == 2){
if(magie > 0){
System.out.println("Giocatore lancia magia");
YourLife -= 25;
magie--;
turno = false;
}
}else if(scelta == 3){
if(cure > 0){
System.out.println("Giocatore usa pozione curativa");
MyLife += 30;
cure--;
turno = false;
}
}else if(scelta == 4){
System.out.println("Mi dispiace, hai perso!");
System.out.println("Premere invio per uscire");
String x = sc.next();
System.exit(0);
}else{
System.out.println("Comando non riconosciuto: riprovare");
input();
}
}
}
public static void avversario(){
Random r = new Random();
int scelta = r.nextInt(2) + 1;
if(scelta == 1){
System.out.println("Avversario attacca");
MyLife -= 10;
turno = true;
}else if(scelta == 2){
if(magie2 > 0){
System.out.println("Avversario lancia magia");
MyLife -= 25;
magie2--;
turno = true;
}else{avversario();}
}else if(scelta == 3){
if(cure2 > 0){
System.out.println("Avversario usa pozione curatrice");
YourLife += 30;
cure--;
turno = true;
}else{avversario();}
}
}
}
Ho inserito il while per evitare che il metodo input() andasse avanti senza che il giocatore avesse inserito la scelta, ma ancora ora...
Come posso fare???:confused: