Skip to content

Commit

Permalink
Merge pull request #12 from joao-victor-da-silva-cirilo/desenvolvimento
Browse files Browse the repository at this point in the history
Desenvolvimento
  • Loading branch information
jcirilo authored Jun 21, 2022
2 parents 5a3579b + ce8eff9 commit a13a777
Show file tree
Hide file tree
Showing 16 changed files with 37 additions and 19 deletions.
7 changes: 3 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# Default ignored files
/shelf/
.idea/workspace.xml
README.txt
/self/
/.idea/workspace.xml
/README.txt
21 changes: 15 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

## Sobre

Último projeto em grupo da turma de Linguagem de Programação - 1 2021.2 da Universidade Federal da Paraíba.
Último projeto em grupo da turma de Linguagem de Programação - 1 2021.2 da Universidade Federal da Paraíba.

O projeto consiste em desenvolver um jogo simples com interface gráfica utilizando conceitos de Programação Orientada à Objetos. O jogo escolhido pelo grupo foi um jogo de Damas e a Classe contendo o método principal é a `App.java` no diretório `./src/com/damas/App.java`
O projeto consiste em desenvolver um jogo simples com interface gráfica utilizando conceitos de Programação Orientada à Objetos. O jogo escolhido pelo grupo foi um jogo de Damas e a Classe contendo o método principal é a `App.java` no diretório `./src/com/damas/App.java`

Para abrir e rodar o executável `.jar` em sua máquina, você precisará ter instalado o **Java Runtime Environment**. Você pode baixa-lo pelo [site oficial do Java](https://www.java.com/en/download/manual.jsp).

### Regras do jogo

Expand All @@ -15,10 +17,17 @@ O projeto consiste em desenvolver um jogo simples com interface gráfica utiliza
- Pedras não podem voltar uma casa
- Pedras podem comer voltando
- O jogo acaba quando algum jogador fizer 12 pontos.
- O jogo acaba se depois de 20 jogadas ninguém ter comido alguma peça
- O jogador continua com a vez se, logo após marcar ponto, tiver outra peça para comer em alguma diagonal
- Bloqueio de casa se a regra acima for validada
- Sopro liberado
- O jogo acaba se depois de 20 jogadas ninguém ter comido alguma peça.
- Se após marcar um ponto, houver outra peça disponível para comer, o jogador é obrigado a comê-la.
- Sopro liberado.

### Controles e atalhos do jogo

Para movimentar a peça clique primeiro na casa de origem depois na casa de destino.

- "**Ctrl + I**" - Status do jogo.
- "**Ctrl + N**" - Novo jogo.
- "**Ctrl + S**" - Sair.

### Faltando

Expand Down
Binary file modified bin/production/com/damas/gui/CasaGUI$1.class
Binary file not shown.
Binary file modified bin/production/com/damas/gui/CasaGUI.class
Binary file not shown.
Binary file modified bin/production/com/damas/objetos/Jogo.class
Binary file not shown.
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added relases/jogo-de-damas-java.jar
Binary file not shown.
20 changes: 13 additions & 7 deletions src/com/damas/gui/CasaGUI.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;

import javax.swing.BorderFactory;
import javax.swing.Icon;
Expand All @@ -15,21 +16,26 @@
*
* @author Alan Moraes <alan@ci.ufpb.br>
* @author Leonardo Villeth <lvilleth@cc.ci.ufpb.br>
* @author João Victor da S. Cirilo {@link joao.cirilo@academico.ufpb.br}
*/
public class CasaGUI extends JButton {

// Constantes
public static final Color COR_CLARA = new Color(255, 255, 250);
public static final Color COR_ESCURA = new Color(87, 168, 124);
private static final Color COR_DESTAQUE = new Color(0, 1, 0, 0.4f);

// Icones das pecas
private static String dir = System.getProperty("user.dir");
private static final Icon PEDRA_BRANCA = new ImageIcon(dir + "./src/com/damas/gui/images/pedra_branca.png");
private static final Icon DAMA_BRANCA = new ImageIcon(dir + "./src/com/damas/gui/images/dama_branca.png");
private static final Icon PEDRA_VERMELHA = new ImageIcon(dir + "./src/com/damas/gui/images/pedra_vermelha.png");
private static final Icon DAMA_VERMELHA = new ImageIcon(dir + "./src/com/damas/gui/images/dama_vermelha.png");

private static final URL PEDRA_BRANCA_URL = CasaGUI.class.getResource("/resources/pedra_branca.png");
private static final URL DAMA_BRANCA_URL = CasaGUI.class.getResource("/resources/dama_branca.png");
private static final URL PEDRA_VERMELHA_URL = CasaGUI.class.getResource("/resources/pedra_vermelha.png");
private static final URL DAMA_VERMELHA_URL = CasaGUI.class.getResource("/resources/dama_vermelha.png");

private static final Icon PEDRA_BRANCA = new ImageIcon(PEDRA_BRANCA_URL);
private static final Icon DAMA_BRANCA = new ImageIcon(DAMA_BRANCA_URL);
private static final Icon PEDRA_VERMELHA = new ImageIcon(PEDRA_VERMELHA_URL);
private static final Icon DAMA_VERMELHA = new ImageIcon(DAMA_VERMELHA_URL);

// Cores das pecas
public static final int SEM_PECA = -1;
public static final int PECA_BRANCA = 0;
Expand Down
8 changes: 6 additions & 2 deletions src/com/damas/objetos/Jogo.java
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,12 @@ public void moverPeca(int origemX, int origemY, int destinoX, int destinoY) {
}
} else {
if ((origem.equals(casaBloqueadaOrigem))) {
casaBloqueadaOrigem = null;
moverPeca(origemX, origemY, destinoX, destinoY);
if(simularMovimentoEValidar(origem, destino)) {
if (pecasAComer.size() != 0) {
casaBloqueadaOrigem = null;
moverPeca(origemX, origemY, destinoX, destinoY);
}
}
}
}
}
Expand Down
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes

0 comments on commit a13a777

Please sign in to comment.