[list]Tenho que fazer o seguinte jogo mais estou com umas pequenas complicações, quando executo ele e solicito para trocar personagem nao me mostra a opcao pra eu escolher qual personagem, e tb na arma.[/list]
[code]package apresentação;
public class Menu {
public void menu(){
System.out.println("Escolha uma das Opcoes \n" +
"1 - Criar Soldado \n" +
"2 - Criar General \n" +
"3 - Trocar Personagem \n" +
"4 - Atirar \n" +
"5 - Trocar Arma \n" +
"6 - Encerar");
}
}
[/code]
[code]package apresentação;
import java.util.Scanner;
import armas.Basuca;
import personagem.*;
public class UsePersonagem {
public static void main(String[] args) {
Menu menu = new Menu();
Personagem p = null;
Scanner teclado = new Scanner(System.in);
int opcao = 0;
while(opcao != 6){
menu.menu();
opcao = teclado.nextInt();
switch (opcao) {
case 1:
p = new Soldado();
p.desenhar();
break;
case 2:
p = new Genaral();
p.desenhar();
break;
case 3:
if(p instanceof Genaral){
p = new Soldado();
}
break;
case 4:
break;
case 5:
p = trocarArmar(p);
break;
case 6:
System.out.println("Sistema Encerrado \n");
break;
default:
System.out.println("Opção Invalida \n");
break;
}
}
}
public static Personagem trocarArmar(Personagem p){
switch (op) {
case 1:
p.setArma(new Basuca());
break;
default:
break;
}
return p;
}
}
[/code]
[code]package armas;
public interface Arma_IF {
void usarArma();
}
[/code]
[code]package armas;
public class Granada implements Arma_IF{
public void usarArma() {
System.out.println("usando a granada \n(BUMMMMMM)");
}
}
[/code]
[code]package armas;
public class Revolver implements Arma_IF{
public void usarArma() {
System.out.println("atirando com revolver \n(POHW)");
}
}
[/code]
[code]package personagem;
import armas.Arma_IF;
public abstract class Personagem {
public abstract void desenhar();
Arma_IF arma;
public void falar(){
System.out.println("personagem falando");
}
public void setArma(Arma_IF arma){
this.arma = arma;
}
public void arma(){
this.arma.usarArma();
}
}
[/code]
[code]package personagem;
public class Genaral extends Personagem{
public void desenhar() {
System.out.println("desenhar general");
}
}
[/code]
[code]package personagem;
public class Soldado extends Personagem{
public void desenhar() {
System.out.println("desenhar soldado \n");
}
}
[/code]