Buscar

APS-4-SEMESTRE 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Ciências da Computação 
 
 
 
“DESENVOLVIMENTO DE UM JOGO 
COM UTILIZAÇÃO DE INTERFACE 
GRÁFICA” 
 
 
Alunos: 
Oscar Luis Florencio Junior - RA:N342CE-3 
Eliezer de Moraes Murca - RA: N2577H-3 
João Vitor Alves Silva - RA: N368CB-8 
 
 
 
 
2 APS 
 
 
 
 
 
SUMÁRIO 
 
 
OBJETIVO E MOTIVAÇÃO DO TRABALHO .............. 3 – 4. 
INTRODUÇÃO ............................................................... 5. 
 
 
REGRAS DO JOGO (CONCEITOS GERAIS) ............... 5 – 6. 
 
PLANO DE DESENVOLVIMENTO DO JOGO ............... 6 – 7. 
 
 PROJETO DO PROGRAMA ......................................... 8. 
 
 
CÓDIGO FONTE DO JOGO ............................................ 9 – 21. 
 
 
FONTES/BIBLIOGRAFIA ................................................ 22 
 
IMAGENS DO JOGO ..................................................... 23 – 24. 
 
FICHAS APS .................................................................. 25 – 27. 
3 APS 
 
 
 
Objetivo do trabalho e Motivação do Trabalho 
 
 
 
Os jogos educativos são apresentados à humanidade desde que ela existe. O 
jogo esta presente na natureza humana, seja ela na infância ou na fase adulta. 
Brincar é do cotidiano de todas as crianças e adultos, e não tem uma data de 
início. 
Antigamente os jogos eram apresentados como forma de divertimento, mas 
algum tempo os jogos foram introduzidos para ajudar em abordagens como 
melhorar a concentração, habilidade motora e percepções de todos os 
sentidos, que são os jogos sensoriais, e porque não falarmos dos jogos que 
são ligados diretamente à educação, ou seja os jogos educativos. 
Os jogos educativos começaram a crescer dentro das escolas e também entre 
as famílias. Atualmente os jogos são divididos em varias categorias, 
dependendo da proposta do jogo. É importante que o jogo educativo chegue às 
crianças como uma proposta de brincadeira. A brincadeira com os jogos 
educativos precisa ser prazerosa; proposta e nunca imposta. 
Muitos jogos estão sendo deixado de lado com o advento da internet, porem é 
de extrema importância que a criança trabalhe o movimento e pensamento, 
através de jogos corporais, eletrônicos e sensoriais. O jogo é um instrumento 
de aprendizagem. A criança e o adulto aprende por aquilo que ela vive e não 
pelo que ela escuta. 
Porque voltado para o meio ambiente? 
No Brasil, para Dias (2004), a década de 1990 é a década das maiores 
transformações dessa temática. A nova mentalidade do Ministério da 
Educação, os surgimentos de centros de educação ambiental e encontros 
regionais e nacionais foram importantes para aproximar as discussões 
mundiais a respeito dos fundamentos de uma comprometida Educação 
4 APS 
 
 
 
Ambiental. A ECO-92 reforça as ideias da Conferência de Tbilisi e propõe a 
capacitação de educadores e a mobilização social acerca da problemática 
ambiental. Na Educação a maior contribuição se deu com a reforma curricular 
no ensino fundamental prevista nos Parâmetros Curriculares Nacionais (PCNs), 
o qual estabelece a Educação Ambiental como um tema transversal que preza 
pela interdisciplinaridade. 
 
 
 
A importância da educação ambiental 
A Educação Ambiental é necessária para indivíduos que ainda estão em 
processo de formação de valores, , pois pode contribuir para uma mudança ou 
o direcionamento dos valores, e consequentemente, dinamizar a reprodução de 
valores integrativos. A prática da necessita de projetos complementares e 
atividades didáticas de campo para atingir seus objetivos. Somente com estas 
atividades práticas serão valorizados conceitos importantes para uma 
cidadania ambientalmente responsável. 
 
 
O referido jogo tem por objetivo geral, ensinar de forma divertida o assunto 
reciclagem. Vemos no nosso cotidiano vários problemas neste sentido, papel 
que poderia ser reaproveitado, plástico que poderia retornar novamente a nós, 
e assim por diante, contudo, este reaproveitamento não acontece por falta de 
um descarte consciente. Ah, sem falar no descarte incorreto de eletrônicos, o 
que acaba então por poluir de forma inevitável o habitat natural do homem e 
dos animais, comprometendo assim o futuro da Terra. Jogo simples, fácil de 
ser jogado, mas quando colocado na prática no dia a dia, trás a certeza de uma 
missão, e porque não falar de uma responsabilidade comprida. 
5 APS 
 
 
 
 
 
 
 
INTRODUÇÃO 
Partindo do proposto pela Instituição, desenvolvemos um programa em JAVA 
com o intuito de demonstrar a vida em uma grande metrópole visando os 
parâmetros ambientais envolvidos. 
Desenvolvido em caráter educacional visando aumentar a percepção das 
pessoas aos problemas que são causados pelos cidadãos de grandes cidades 
pela negligencia e falta de informação em soluções inteligentes como coleta 
seletiva e reciclagem do lixo. 
Sentimos a responsabilidade social de provocar a mudança no pensamento e 
na cultura do nosso publico alvo, que é as pessoas compreendidas nas 
metrópoles e circunvizinhanças. 
Através da inclusão digital proporcionada pelo avanço da tecnologia, 
esperamos atingir um publico vasto e variado, com todas as idades e níveis 
sociais, uma vez que o problema atinge a todos. 
Como informação técnica, o software foi desenvolvido através da linguagem 
JAVA, como sugerido pela Instituição. 
 
 
Regras do jogo (conceitos gerais) 
 
 
- Acerta o número máximo de lixo exatamente na lixeira correta de acordo 
com o lixo que aparecer na tela no prazo de 1 (um) minuto. 
- O acerto do lixo corretamente na lixeira e o tipo do lixo ser correspondente ao 
tipo da lixeira soma 10 (dez) pontos à sua pontuação total. 
- O acerto do lixo corretamente na lixeira, mas e o tipo do lixo NÃO ser 
correspondente ao tipo da lixeira subtrai 15 (quinze) pontos à sua pontuação 
total. 
- O não acerto do lixo corretamente na boca da lixeira subtrai 15 (quinze) pontos 
à 
6 APS 
 
 
 
sua pontuação total. 
 
- O resultado da pontuação total no termino de 1 minuto for positiva ( maior que 
zero ), você recebe os parabéns e cumpre o objetivo do jogo. 
- O resultado da pontuação total no termino de 1 minuto for negativa ( menor ou 
igual a zero ), você recebe uma mensagem de fracasso. 
- A quantidade de lixos exibidas são ilimitadas. 
 
- O aparecimento de tipos de lixo e definida de forma aleatória pelo sistema do 
jogo, podendo ocorrer repetições seguidas do mesmo tipo de lixo, elevando o 
nível de dificuldade. 
- Após o termino dos 60 segundos não é possível mais jogar lixos nas lixeiras 
sendo que o mesmo não é mais exibido. 
- Você pode jogar quantas vezes quiser, não há limites de jogada, também 
poderá abandonar a partida quantas vezes quiser, não há limitações para 
abandono de jogo. 
Plano de desenvolvimento do jogo 
O plano de jogo foi elaborado em 4 fases, tendo como base a gerencia de 
desenvolvimentos de grandes jogos do mercado atual. 
1º Fase – Roteiro: 
Cada vez mais se assemelham a roteiros de filmes. Este é um item 
fundamental para o processo de criação e será o elemento crucial para 
convencer os investidores da potencialidade do nosso jogo. É nesse item que o 
jogo deve mostrar seu diferencial em relação aos outros. Chamam-se aos 
roteiros de jogos de roteiros interativos, pois diferentemente que os roteiros de 
filmes, devem ter espaço para interferência do usuário no desencadeamento da 
história. 
7 APS 
 
 
 
 
2º Fase - Game Design: 
Entende-se por game design a conceituação artística do jogo. Hoje em dia, 
dada a complexidade das histórias e dos cenários elaborados é importante que 
esta parte do documento seja escrita por um artista. Dentro deste item deverão 
ser expostos quais as principais características dos cenários, esboços de 
personagens, descrição das texturas fundamentais, mapas e descrições dos 
combates. (também denominado de level design). 
3º Fase - Game Play: 
Nesta parte do documento deve descrever-se como será a jogabilidade. 
PRINCIPAL ETAPA DEUM JOGO, Por jogabilidade entendem-se as regras do 
jogo e o balanceamento das regras (game balancing). Nesta descrição deve 
ficar claro que o jogo é divertido e irá proporcionar desafios interessantes. Esta 
parte do documento é muito importante para guiar os programadores 
principalmente na etapa de scripting. Uma mal elaboração dessa etapa pode 
influência seriamente em um mal desenvolvimento (bugs) e atrasos em todo o 
projeto. 
4º Fase - Interface Gráfica: 
Pode-se dividir a interface em in game e out game. A primeira consiste na 
instrumentação disponível durante o jogo e é responsável pela entrada de 
dados do jogador para a aplicação. A interface out game é a forma de 
apresentar a introdução do jogo, sua configuração, instruções, carregar o jogo, 
entre outras operações de suporte. Costuma-se dizer que a melhor interface é 
aquela que passa despercebida para o jogador, permitindo que o mesmo possa 
focar-se no desenrolar da história e das ações. Resumindo, o in game é a parte 
do jogo que se é jogável, a parte aonde você possui um tempo para atingir o 
objetivo que é fazer pontuação acertando corretamente o tipo de lixo em sua 
lixeira, já o out game é a nossa abertura do Marinho correndo e a tela onde 
você escolhe jogar ou sair do jogo. 
8 APS 
 
 
 
 
 
 
 
 
Projeto do programa 
O projeto foi simples, e consistiu na sequência das fases citadas no plano de 
desenvolvimento do jogo, após reunir todas as informações necessárias e 
deixar tudo definido do jogo, partimos para o desenvolvimento aonde usamos a 
ferramenta de desenvolvimento em JAVA chamada NETBEANS para criar os 
algoritmos e gerar a aplicação do jogo. Baseado em nosso conhecimento 
adquirido em boa parte nas aulas de LPOO e ALPOO, e também em alguns 
tutoriais na internet, conseguimos concluir com sucesso o que estava previsto e 
planejado dentro dos prazos estipulados. Nas primeiras horas de 
desenvolvimento foi um pouco complexa, iniciamos a parte visual para facilitar 
é ter visão de como o jogo se sairia com o decorrer do desenvolvimento, 
aplicando métodos e classe necessários de acordo com o caminhar da 
programação. 
Passamos por algumas dificuldades que devemos citar, esta no qual se refere 
ao manipulamento de áudio do jogo, inicialmente tentamos trabalhar com o 
formato de áudio em .MP3, foi um fracasso pois ainda não existem bibliotecas 
satisfatórias que possa trabalhar em conjunto com algoritmos de Buffer, que 
no caso os sistemas de Buffer são a peça chave para o funcionamento de todo 
o jogo. Passamos a fazer testes com o formato. OGG e também não obtemos 
sucesso, até então irmos direto ao formato. MIDI do qual o Java possui uma 
biblioteca nativa de suporte a esse formato, e também é o formato mais 
recomendado para pequenos jogos. 
Quanto ao resto foi bem produtivo o tempo, sem complicações, uso de cálculos 
simples, a maioria métodos nativos do próprio Java e claro um bom uso de 
belos gráficos para chamar a atenção do jogador. 
9 APS 
 
 
 
 
 
 
 
CÓDIGO FONTE DO JOGO 
 
 
10 APS 
 
 
 
Classe COISA: 
 
 
package meioambiente; 
 
public class Coisa { 
 private int id; 
 private int tipo; 
 
 public Coisa(){ 
 } 
 public Coisa(int id, int tipo){ 
 this.id = id; 
 this.tipo = tipo; 
 } 
 public int getId() { 
 return id; 
 } 
 
 public void setId(int id) { 
 this.id = id; 
 } 
 
 public int getTipo() { 
 return tipo; 
 } 
 
 public void setTipo(int tipo) { 
 this.tipo = tipo; 
 } 
 
}
11 APS 
 
 
 
Classe CRIAR COISAS: 
 
package meioambiente; 
 
import java.util.Random; 
 
public class CriarCoisas { 
 int id; 
 int tipo; 
 public int CriarId(){ 
 Random random = new Random(); 
 id = random.nextInt(12); 
 return id; 
 } 
 public int CriarTipo(int id){ 
 if (id ==0 | id == 1 | id == 2) { 
 this.tipo = 2; 
 } 
 else if(id == 3 | id == 4 | id == 5) { 
 this.tipo = 0; 
 } 
 else if(id == 6 | id == 7 | id == 8) { 
 this.tipo = 3; 
 } 
 else if(id == 9 | id == 10 | id == 11) { 
 this.tipo = 1; 
 } 
 return tipo; 
 } 
 
}
12 APS 
 
 
 
Classe MEIO AMBIENTE: 
 
 
package meioambiente; 
 
 
import javafx.animation.KeyFrame; 
import javafx.animation.Timeline; 
import javafx.application.Application; 
import javafx.geometry.Insets; 
import javafx.geometry.Pos; 
import javafx.scene.Scene; 
import javafx.scene.control.Button; 
import javafx.scene.control.Label; 
import javafx.scene.layout.BorderPane; 
import javafx.scene.layout.HBox; 
import javafx.scene.layout.VBox; 
import javafx.stage.Stage; 
import javafx.util.Duration; 
 
 
public class MeioAmbiente extends Application { 
 
 private final Label score = new Label(); 
 private final Label scoreFinal = new Label(); 
 private final Label temporizador = new Label(); 
 private final Label labelAjuda = new Label(); 
 private final Button lixo = new Button(); 
 private final Button item1 = new Button(); 
 private final Button item2 = new Button(); 
 private final Button item3 = new Button(); 
 private final Button item4 = new Button(); 
 private final Button item5 = new Button(); 
 private final Button botaoSom = new Button(); 
 private final Button botaoAjuda = new Button(); 
 int tipo = 8; 
 int j; 
 private int pontos = 0; 
 int segundos = 60; 
 CriarCoisas criar = new CriarCoisas(); 
 Sons som = new Sons(); 
 
 public void myCountdown() { 
 final Timeline timeline = new Timeline(new 
13 APS 
 
 
 
KeyFrame(Duration.millis(1000), 
 event -> { 
 temporizador.setText(segundos + ""); 
 segundos--; 
 } 
 )); 
 timeline.setCycleCount(segundos + 1); 
 timeline.setOnFinished(e -> {scoreFinal.setText(score.getText()); 
 pontos = 0; 
 score.setText(pontos + ""); 
 segundos = 60; 
 lixo.setId("inicio"); 
 tipo = 8; 
 lixo.setText(" Clique em\n uma lata\npara iniciar"); 
 }); 
 timeline.play(); 
 } 
 
 @Override 
 public void start(Stage primaryStage) { 
 BorderPane bpTop = new BorderPane(); 
 HBox hbSom = new HBox(botaoSom); 
 BorderPane bpScores = new BorderPane(); 
 bpScores.setCenter(score); 
 bpScores.setRight(scoreFinal); 
 HBox latas = new HBox(5,item1,item2,item3,item4 ); 
 VBox vbCenter = new VBox(25, temporizador, bpScores, lixo); 
 vbCenter.setAlignment(Pos.CENTER); 
 hbSom.setAlignment(Pos.CENTER_RIGHT); 
 bpTop.setTop(hbSom); 
 bpTop.setCenter(vbCenter); 
 
 
 
 VBox root = new VBox(150, bpTop, latas); 
 
 root.setPadding(new Insets(50)); 
 Scene scene = new Scene(root, 442,668); 
 primaryStage.setTitle("LixoCerto!"); 
 primaryStage.setScene(scene); 
 primaryStage.setResizable(false); 
 primaryStage.show(); 
 
scene.getStylesheets().addAll(this.getClass().getResource("Style.css"
14 APS 
 
 
 
).toExternalForm()); 
 temporizador.setId("labelScore"); 
 scoreFinal.setId("labelScoreFinal"); 
 
 
 
 if (segundos == 1) { 
 scoreFinal.setText(score.getText()); 
 segundos = 60; 
 lixo.setId("inicio"); 
 tipo = 8; 
 } 
 
 temporizador.setText("60"); 
 botaoSom.setId("botaoSomOn"); 
 som.BacktrackOn(false); 
 
 botaoSom.setPrefSize(25,25); 
 botaoSom.setOnAction(event ->{ 
 if ("botaoSomOn".equals(botaoSom.getId())) { 
 som.BacktrackOn(true);botaoSom.setId("botaoSomOff"); 
 }else{ 
 som.BacktrackOn(false); 
 botaoSom.setId("botaoSomOn"); 
 } 
 }); 
 
 lixo.setText(" Clique em\n uma lata\npara iniciar"); 
 lixo.setPrefSize(150,100); 
 lixo.setId("inicio"); 
 score.setId("labelScore"); 
 root.setId("root"); 
 //Botao item1 
 item1.setPrefSize(100,80); 
 item1.setId("botaoItem1"); 
 item1.setOnAction(event ->{ 
 if (tipo == 8) { 
 tipo = 0; 
 pontos = pontos - 10; 
 lixo.setText(""); 
 myCountdown(); 
 } 
 if (tipo == 0) { 
15 APS 
 
 
 
 pontos = pontos + 10; 
 score.setText(""+pontos); 
 som.BippCerto(); 
 } 
 else{ 
 pontos = pontos-15; 
 score.setText(""+pontos); 
 som.BippErrado(); 
 } 
 int j = criar.CriarId(); 
 lixo.setId(""+j); 
 tipo = criar.CriarTipo(j); 
 }); 
 
 //Botao item2 
 item2.setPrefSize(100,80); 
 item2.setId("botaoItem2"); 
 item2.setOnAction(event ->{ 
 if (tipo == 8) { 
 tipo = 1; 
 pontos = pontos - 10; 
 lixo.setText(""); 
 myCountdown(); 
 } 
 if (tipo == 1) { 
 pontos = pontos + 10; 
 score.setText(""+pontos); 
 som.BippCerto(); 
 } 
 else{ 
 pontos = pontos-15; 
 score.setText(""+pontos); 
 som.BippErrado(); 
 } 
 j = criar.CriarId(); 
 lixo.setId(""+j); 
 tipo = criar.CriarTipo(j); 
 }); 
 //Botao item3 
 item3.setPrefSize(100,80); 
 item3.setId("botaoItem3"); 
 item3.setOnAction(event ->{ 
 if (tipo == 8) { 
 tipo = 2; 
16 APS 
 
 
 
 pontos = pontos - 10; 
 lixo.setText(""); 
 myCountdown(); 
 } 
 if (tipo == 2) { 
 pontos = pontos + 10; 
 score.setText(""+pontos); 
 som.BippCerto(); 
 } 
 else{ 
 pontos = pontos-15; 
 score.setText(""+pontos); 
 som.BippErrado(); 
 } 
 j = criar.CriarId(); 
 lixo.setId(""+j); 
 tipo = criar.CriarTipo(j); 
 }); 
 //Botao item4 
 item4.setPrefSize(100,80); 
 item4.setId("botaoItem4"); 
 item4.setOnAction(event ->{ 
 if (tipo == 8) { 
 tipo = 3; 
 pontos = pontos - 10; 
 lixo.setText(""); 
 myCountdown(); 
 } 
 if (tipo == 3) { 
 pontos = pontos + 10; 
 score.setText(""+pontos); 
 som.BippCerto(); 
 } 
 else{ 
 pontos = pontos-15; 
 score.setText(""+pontos); 
 som.BippErrado(); 
 } 
 j = criar.CriarId(); 
 lixo.setId(""+j); 
 tipo = criar.CriarTipo(j); 
 }); 
 } 
 public static void main(String[] args) { 
17 APS 
 
 
 
 launch(args); 
 } 
} 
 
 
Classe SONS: 
 
package meioambiente; 
 
import java.io.File; 
import javafx.scene.media.Media; 
import javafx.scene.media.MediaPlayer; 
 
public class Sons { 
 String fileBT = new 
File("src/sons/backtrack.mp3").getAbsolutePath(); 
 
 String fileBE = new File("src/sons/beep-
10.mp3").getAbsolutePath(); 
 String fileBC = new File("src/sons/beep-
07.mp3").getAbsolutePath(); 
 private Media somBacktrack = new Media(new 
File(fileBT).toURI().toString()); 
 private Media somBippErrado = new Media(new 
File(fileBE).toURI().toString()); 
 private Media somBippCerto = new Media(new 
File(fileBC).toURI().toString()); 
 MediaPlayer mediaPlayer = new MediaPlayer(somBacktrack); 
 public void BippCerto(){ 
 MediaPlayer mediaPlayer1 = new MediaPlayer(somBippCerto); 
 mediaPlayer1.play(); 
 } 
 
public void BippErrado(){ 
 MediaPlayer mediaPlayer2 = new MediaPlayer(somBippErrado); 
 mediaPlayer2.play(); 
 } 
 
 public void BacktrackOn(boolean onOff){ 
 if (onOff == false) { 
 mediaPlayer.setCycleCount(MediaPlayer.INDEFINITE); 
 mediaPlayer.play(); 
 } 
18 APS 
 
 
 
 else 
 mediaPlayer.pause(); 
 } 
} 
 
 
 
 
 
 
CSS STYLE: 
 
#botaoItem1{ 
 -fx-background-image: url(../imgs/Thrash-can1.png); 
 -fx-background-size: 100%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: transparent; 
} 
 
#botaoItem2{ 
 -fx-background-image: url(../imgs/Thrash-can2.png); 
 -fx-background-size: 100%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: transparent; 
} 
 
#botaoItem3{ 
 -fx-background-image: url(../imgs/Thrash-can3.png); 
 -fx-background-size: 100%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: transparent; 
} 
 
#botaoItem4{ 
 -fx-background-image: url(../imgs/Thrash-can4.png); 
 -fx-background-size: 100%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: transparent; 
} 
 
19 APS 
 
 
 
#root{ 
 -fx-background-image: url(../imgs/images.png); 
 -fx-background-size: 452,678; 
 -fx-background-repeat: no-repeat; 
} 
 
#labelScore{ 
 -fx-font-size: 32px; 
 -fx-font-family: "Arial Black"; 
 -fx-fill: #818181; 
 -fx-effect: innershadow( three-pass-box , red , 9, 0.0 , 0 , 2 
); 
} 
#labelScoreFinal{ 
 -fx-font-size: 45px; 
 -fx-font-family: "Arial Black"; 
 -fx-fill: #818181; 
 -fx-effect: innershadow( three-pass-box , green , 9, 0.0 , 0 , 
2 ); 
} 
 
#botaoSomOn{ 
 -fx-background-image: url(../imgs/objetos/somOn.png); 
 -fx-background-size: 100%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: transparent; 
} 
#botaoSomOff{ 
 -fx-background-image: url(../imgs/objetos/somOff.png); 
 -fx-background-size: 100%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: transparent; 
} 
 
#inicio{ 
 -fx-background-color: transparent; 
 -fx-font-size: 12px; 
 -fx-font-family: "Arial Black"; 
 -fx-fill: #818181; 
 -fx-effect: innershadow( three-pass-box , red , 9, 0.0 , 0 , 2 
20 APS 
 
 
 
); 
} 
 #0{ 
 -fx-background-image: url(../imgs/objetos/0.png); 
 -fx-background-size: 75%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: white; 
 -fx-background-position: center; 
 } 
 #1{ 
 -fx-background-image: url(../imgs/objetos/1.png); 
 -fx-background-size: 50%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: white; 
 -fx-background-position: center; 
 } 
 #2{ 
 -fx-background-image: url(../imgs/objetos/2.png); 
 -fx-background-size: 50%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: white; 
 -fx-background-position: center; 
 } 
 #3{ 
 -fx-background-image: url(../imgs/objetos/3.png); 
 -fx-background-size: 50%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: white; 
 -fx-background-position: center; 
 } 
 #4{ 
 -fx-background-image: url(../imgs/objetos/4.png); 
 -fx-background-size: 75%; 
 -fx-background-repeat:no-repeat; 
 -fx-background-color: white; 
 -fx-background-position: center; 
 } 
 #5{ 
 -fx-background-image: url(../imgs/objetos/5.png); 
21 APS 
 
 
 
 -fx-background-size: 50%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: white; 
 -fx-background-position: center; 
 } 
 #6{ 
 -fx-background-image: url(../imgs/objetos/6.png); 
 -fx-background-size: 70%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: white; 
 -fx-background-position: center; 
 } 
 #7{ 
 -fx-background-image: url(../imgs/objetos/7.png); 
 -fx-background-size: 50%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: white; 
 -fx-background-position: center; 
 } 
 #8{ 
 -fx-background-image: url(../imgs/objetos/8.png); 
 -fx-background-size: 50%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: white; 
 -fx-background-position: center; 
 } 
 #9{ 
 -fx-background-image: url(../imgs/objetos/9.png); 
 -fx-background-size: 50%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: white; 
 -fx-background-position: center; 
 } 
 #10{ 
 -fx-background-image: url(../imgs/objetos/10.png); 
 -fx-background-size: 50%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: white; 
 -fx-background-position: center; 
22 APS 
 
 
 
 } 
 #11{ 
 -fx-background-image: url(../imgs/objetos/11.png); 
 -fx-background-size: 50%; 
 -fx-background-repeat: no-repeat; 
 -fx-background-color: white; 
 -fx-background-position: center; 
} 
 
 
 
 
 
 
 
 
 
 
 
 
FONTES/BIBLIOGRAFIA 
 
 
Game: 
http://www.lwjgl.org/
 
http://docs.oracle.com/javase/7/docs/api/index-files/index-
1.html http://seumestredaweb.blogspot.com.br/2012/06/java-games-2d-
tutor-1.html 
 
http://desenvolvimentodejogos.wikidot.com/ 
 
http://beatnupproject.nostaljia.eng.br/como-criar-um-enredo/ 
 
http://www.selectgame.com.br/iniciando-em-desenvolvimento-de-jogos-parte-1/ 
 
 
 
Áudio: 
 
 
http://soundimage.org/wp-content/uploads/2017/10/Monkey-Island-Puzzler.mp3 - 
Som de Fundo (Background) 
 
 
https://www.soundjay.com/beep-
sounds-3.html - 
Som dos botões (Beeps) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
http://www.lwjgl.org/
http://www.lwjgl.org/
http://docs.oracle.com/javase/7/docs/api/index-files/index-1.html
http://docs.oracle.com/javase/7/docs/api/index-files/index-1.html
http://seumestredaweb.blogspot.com.br/2012/06/java-games-2d-tutor-1.html
http://seumestredaweb.blogspot.com.br/2012/06/java-games-2d-tutor-1.html
http://desenvolvimentodejogos.wikidot.com/
http://beatnupproject.nostaljia.eng.br/como-criar-um-enredo/
http://www.selectgame.com.br/iniciando-em-desenvolvimento-de-jogos-parte-1/
23 APS 
 
 
 
 
 
 
 
Imagens do Jogo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24 APS 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25 APS 
 
 
 
 
FICHAS APS 
 
26 APS 
 
 
 
 
 
 
 
 
 
 
27 APS 
 
 
 
 
 
 
 
 
 
	Objetivo do trabalho e Motivação do Trabalho

Continue navegando