Jogo de Personagem Simples

3 respostas
BrunnoFreires
[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]
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");
	}

}
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;
	}
	
	
}
package armas;

public interface Arma_IF {
	
	void  usarArma();

}
package armas;

public class Granada implements Arma_IF{

	
	public void usarArma() {
		System.out.println("usando a granada \n(BUMMMMMM)");
		
	}

}
package armas;

public class Revolver implements Arma_IF{

	
	public void usarArma() {
		System.out.println("atirando com revolver \n(POHW)");
	}
	
	

}
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();
	}
	
	
	

}
package personagem;

public class Genaral extends Personagem{

	
	public void desenhar() {
		System.out.println("desenhar general");
		
	}

}
package personagem;

public class Soldado extends Personagem{

	
	public void desenhar() {
		System.out.println("desenhar soldado \n");
	}

	
}
Estou postando o codigo e conto com ajuda de todos para me ajudar a resolver. para quando digita troca arma ele me mostre as armas, e trocar personagem me mostre quem tem criado

3 Respostas

R

teria que estudar o código com calma, ta muito dividido em classes. dá trabalho para montar o estudo aqui, tens tudo zipado?

meu site tem alguns jogos legais, inclusive com código, dá uma olhada…

é mais avançado que este, com gráficos…

memoria e poker

e neste link
http://www.raghyjose.net/programacao.php

bingo, sena, tabuleiro, etc…

valeu. escreva aí para comentar, tente instalar meus jogos e diga se conseguiu… imagens na pasta c://

[email removido]

felipebonezi

BrunnoFreires:
[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]

case 3:
if(p instanceof Genaral){
   p = new Soldado();
}				
break;


Não estaria faltando embaixo do ‘if’:

else if(p instanceof Soldado){ p = new Genaral(); } else System.out.println("Não foi criado nem Soldado nem General!");
Espero ter dado uma luz!

Abraço.

felipebonezi

public static Personagem trocarArmar(Personagem p){ switch (op) { ... } }
Aonde a variável op foi declarada? Não falta um ‘Scanner’?

Abraço.

Criado 24 de março de 2011
Ultima resposta 24 de mar. de 2011
Respostas 3
Participantes 3