Skip to content

Commit

Permalink
Adicionado COmentários
Browse files Browse the repository at this point in the history
  • Loading branch information
IZIDIOZZ committed May 15, 2021
1 parent 7e7c6f6 commit fd43634
Show file tree
Hide file tree
Showing 18 changed files with 77 additions and 15 deletions.
3 changes: 3 additions & 0 deletions bin/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
/Models/
/Controllers/
/Classes/
/Enumerations/
/Views/
/assets/
Binary file modified bin/Classes/Helper.class
Binary file not shown.
Binary file modified bin/Controllers/BatalhaController.class
Binary file not shown.
Binary file modified bin/Controllers/CreditosController.class
Binary file not shown.
Binary file modified bin/Controllers/DificuldadeController$1.class
Binary file not shown.
Binary file modified bin/Controllers/DificuldadeController.class
Binary file not shown.
Binary file modified bin/Controllers/MenuController.class
Binary file not shown.
Binary file modified bin/Controllers/RegrasController.class
Binary file not shown.
Binary file modified bin/Main.class
Binary file not shown.
4 changes: 2 additions & 2 deletions bin/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -442,9 +442,9 @@
}
],
"configuracaoJogo": {
"versao": "v1.1.0",
"dificuldadeJogo": "dificil",
"quantidadeMaximaPerguntas": 10,
"quantidadeMaximaInimigos": 10
"quantidadeMaximaInimigos": 10,
"versao": "v1.1.0"
}
}
24 changes: 19 additions & 5 deletions src/Classes/Helper.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,41 +18,55 @@
import javafx.scene.paint.Color;
import javafx.stage.Stage;

/*Essa classe é usada para literalmente SALVAR o programa abstraindo
* aqui os métodos gerais que serão usados por todo o projeto
*/
public class Helper {


//Método responsável por Navegar entre as páginas
public void NavegarEntrePagina(ActionEvent event,String destino) throws IOException {
Scene pagina = new Scene(FXMLLoader.load(getClass().getResource(destino)));
Stage app_stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
app_stage.setScene(pagina);
app_stage.show();
}

/*Método reposnável por executar sons com base no caminho passado
* recebe também um valor boleano que verifica se é loop ou não e o volume do som*/
public void ExecutaSom(SoundsEnum caminho, boolean deveSerLoop, Double volume) {
//Cria um objeto do Tipo AudioClip e passa o caminho para ele
AudioClip audio = new AudioClip(getClass().getResource(caminho.getSom()).toExternalForm());

//se o boleano for verdadeiro, define o som como infinito
if(deveSerLoop) audio.setCycleCount(javafx.scene.media.AudioClip.INDEFINITE);

//define o volume do som e executa da play
audio.setVolume(volume);
audio.play();
}

public static void SomDeClique() {
new Helper().ExecutaSom(SoundsEnum.CLIQUE_BOTAO,false,1D);
}

//Usa o método de executar Som num método estático para ser chamado direto
public static void Reproduzir(SoundsEnum som) {
new Helper().ExecutaSom(som,false,1D);
}

public static void PintaBotao(Label btn,Color cor) {
//Seta uma nova cor para o botão
btn.setBackground(new Background(new BackgroundFill(cor, new CornerRadii(0), Insets.EMPTY)));
}

public static void ResetaCoresBotao(List<Label> listaButoes) {
for(Label btn: listaButoes) { PintaBotao(btn, Color.rgb(219, 219, 219));}
}

//define a versão do Jogo na Label
public static void SetaVersaoJogo(Label labelVersao) throws IOException {
RPG versao = new RPG();

//Pega a versão do jogo que está no JSON
versao = ConfiguracaoJogo.ConfiguraJogo();

//passa para a label o valor
labelVersao.setText(versao.getConfiguracaoJogo().getVersao());
}

Expand Down
5 changes: 2 additions & 3 deletions src/Controllers/BatalhaController.java
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ public void SelecionaResposta(MouseEvent event) {

if(respostaSelecionada.isRespostaCorreta()) {
inimigos.get(0).SofrerDano(jogador);

AtualizaPersonagem(inimigos.get(0),
lblNumeroVidaInimigo,
prgVidaInimigo,
Expand Down Expand Up @@ -370,8 +370,7 @@ void AtualizaPersonagem(Personagem personagem,
nomePersonagem.setText(personagem.getNome());
barraVida.setProgress((double)(personagem.getVida()/(double)personagem.getVidaBase()));
textoVida.setText(String.valueOf(personagem.getVida()));
poderAtaque.setText(String.valueOf(personagem.getPoderAtaque()));

poderAtaque.setText(String.valueOf(personagem.getPoderAtaque()));
}

@FXML
Expand Down
5 changes: 4 additions & 1 deletion src/Controllers/CreditosController.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,16 @@ public class CreditosController {
private Button btnVoltar;

@FXML
private Label lblVersaoJogo;
private Label lblVersaoJogo;

//volta para a View Anterior
@FXML
public void voltarMenuView(ActionEvent event) throws Exception {
Helper.Reproduzir(SoundsEnum.CLIQUE_BOTAO_VOLTAR);
new Helper().NavegarEntrePagina(event, "../Views/MenuView.fxml");
}

//seta a Versão do jogo para a Label de versão
@FXML
public void initialize() throws Exception {
Helper.SetaVersaoJogo(lblVersaoJogo);
Expand Down
25 changes: 25 additions & 0 deletions src/Controllers/DificuldadeController.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,24 @@ public class DificuldadeController {
private Label btnDificuldadeDificil;
List<Label> listaBotoes;

/*Esse método é chamado sempre um dos 3 botoes de dificuldade é pressionado.
* Quando isso ocorre, o botão pressionado retorna o valor da dificuldade clicada
* e atualiza o valor no arquivo JSON.*/
@FXML
public void alteraDificuldadeJogo(MouseEvent event) throws IOException {
Helper.Reproduzir(SoundsEnum.CLIQUE_BOTAO_DIFICULDADE);

//converte explicitamente o parâmetro do evento uma Label para ser acessível
Label btn = (Label) event.getSource();

/*Chama o método de configuração de dificuldade que atualiza o
JSON com uma dificuldade(String) passada.*/
ConfiguracaoJogo.ConfiguraDificuldade(btn.getAccessibleText());

//Reseta as Labels com as cores padrões
listaBotoes.forEach(x -> x.setStyle("-fx-background-color: #C8C9CB;"));

//Pinta a Label selecionada
PintaBotaoSelecionado();
}

Expand All @@ -50,16 +62,29 @@ public void voltarMenuView(ActionEvent event) throws Exception {
@SuppressWarnings("serial")
@FXML
public void initialize() throws Exception {

//Instancia uma lista de botões quando é iniciado a View
listaBotoes = new ArrayList<Label>(){{add(btnDificuldadeFacil);}
{add(btnDificuldadeMedio);}
{add(btnDificuldadeDificil);}};

//Pinta o botão com a dificuldade selecionada
PintaBotaoSelecionado();
Helper.SetaVersaoJogo(lblVersaoJogo);
}

//Esse método pinta a label que tiver o valor igual a dificuldade que está no JSON
public void PintaBotaoSelecionado() throws IOException {

/*Cria um objeto do Tipo RPG que é um modelo e
* passa para ele um objeto convertido através do JSON */
RPG base = ConfiguracaoJogo.ConfiguraJogo();

//Acessa a dificuldade do Objeto e passa para uma variável String
String config = base.getConfiguracaoJogo().getDificuldadeJogo();

/*Percorre a lista de botões e verifica se o AcessibleText (propriedade do botão)
* é igual ao valor da dificuldade do JSON */
for(Label lbl: listaBotoes) {
if(lbl.getAccessibleText().equals(config)) {
lbl.setStyle("-fx-background-color: #7AC043;");
Expand Down
12 changes: 11 additions & 1 deletion src/Controllers/MenuController.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@

public class MenuController {


/*propriedades que representam os Nodes que existe no arquivo da View,
* através delas pode-se manipular os valores do componentes.
*/
@FXML
private Pane pnlGeneral;

Expand All @@ -36,9 +38,14 @@ public class MenuController {
private Label lblVersaoJogo;


//Métodos para acessar as opções na View de Menu
@FXML
public void dificuldadeView(ActionEvent event) throws IOException{

//reproduz o som de Clique usando o método da classe Helper com o Enum de sons como parâmetro.
Helper.Reproduzir(SoundsEnum.CLIQUE_BOTAO);

//Navega para a View passada como parâmetro
new Helper().NavegarEntrePagina(event,"../Views/DificuldadeView.fxml");
}

Expand Down Expand Up @@ -66,6 +73,9 @@ public void BatalhaView(ActionEvent event) throws IOException {
new Helper().NavegarEntrePagina(event,"../Views/BatalhaView.fxml");
}

/*O Initialize é um método que é executado sempre após o carregamento dos Nodes(componente)
Nesse caso logo após da Label de versão ser carregada na View será passado o valor da versão
contido no arquivo json*/
@FXML
public void initialize() throws Exception {
Helper.SetaVersaoJogo(lblVersaoJogo);
Expand Down
3 changes: 3 additions & 0 deletions src/Controllers/RegrasController.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@ public class RegrasController {
@FXML
private Label lblVersaoJogo;

//método para voltar para a tela anterior
@FXML
public void voltarMenuView(ActionEvent event) throws Exception {
Helper.Reproduzir(SoundsEnum.CLIQUE_BOTAO_VOLTAR);
new Helper().NavegarEntrePagina(event, "../Views/MenuView.fxml");
}

//seta a Versão do jogo para a Label de versão
@FXML
public void initialize() throws Exception {
Helper.SetaVersaoJogo(lblVersaoJogo);
Expand Down
9 changes: 7 additions & 2 deletions src/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,23 @@ public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{

new Helper().ExecutaSom(SoundsEnum.MUSICA_MENU,true,0.3D);
//inicia o jogo executando método que irá tocar o som do menu inicial
new Helper().ExecutaSom(SoundsEnum.MUSICA_MENU,true,0.3D);

//Carrega a view inicial do Menu num Node Pai e define as configurações de tamanho, titulo e icone.
FXMLLoader loader = new FXMLLoader(this.getClass().getResource("Views/MenuView.fxml"));
Parent root = loader.load();
primaryStage.setTitle("RPG");
primaryStage.setTitle("Dev-Quest");
primaryStage.setScene(new Scene(root, 1028, 682));
primaryStage.setResizable(false);
primaryStage.getIcons().add(new Image("/assets/icon-app-pixel.jpg"));

//Exibe a View
primaryStage.show();
}

public static void main(String[] args) {
//método responsável por iniciar o Jogo
launch(args);
}
}
2 changes: 1 addition & 1 deletion src/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@
}
],
"configuracaoJogo": {
"dificuldadeJogo": "facil",
"dificuldadeJogo": "dificil",
"quantidadeMaximaPerguntas": 10,
"quantidadeMaximaInimigos": 10,
"versao": "v1.1.0"
Expand Down

0 comments on commit fd43634

Please sign in to comment.