Ajudaaa........................jogo da forca

PO estava tentandu criar jogos fiz o da velha… + nao to conseguindo fazer o da forca…
alguem sabe o codigo ??? se souberem por favor me mostrem como eh…agradeço desde ja !!

gostaria do jogo com algumas regras : 3 niveis , facil,medio e dificil

no facil o jogador podeiria errar o nº de vezes equivalente ao nº de letras da palavra
no medio ele erraria apenas 5 vezes
no dificil ele erraria apenas 3 vezes

vlw obrigado pela ajuda

tá… tenta assim…


mapeia uma palavra em um array e cada tecla que o jogador pressionar vc corre o array e ve se tá lá se tiver faz X se não tiver errou++, manja?

ou vc quer um código pronto? a semente esta ai acima em itálico!

Att
Ricoldi

PO eu entendi o q vc disse e estou fazendu assim…

  • e no meu codigo…naum estou conseguindu concluir…

po se vc puudesse me passar agradeceria…

posta sua duvida e seu código que fica mais fácil

ps: não esqueça de circundar com code e /code

Att
Ricoldi

PO falei aew em cima meu codigo ta incompleto…
po sou novo na programaçao em java…naum sei muito…por issu nao to conseguindo fazer a mairo parte…

se vc puder me ajudar…

tem msn ??? fica + facil…

Se você não sabe muito, está ai uma ótima oportunidade para aprender. :wink:

Se tu queres o código completo, esquece.
Ninguém aqui vai fazer o teu “dever de casa”.

Daniel_Furia, seguinte… como você é novo aqui no fórum eu vou tentar te explicar como é a idéia do fórum, pois ao meu ver parece que não entende o conceito da coisa:

1 ? Aqui não se pede códigos. Posta-se o código e/ou erro e o pessoal ajuda.
2 ? Msn acaba com a idéia do fórum pois imagina que todo mundo resolvesse seu problema com msn ai era mais fácil ter só um site com os endereços de msn dos usuários e não um fórum inteiro, isso aqui é para que alguém com este mesmo problema um dia mais a frente possa achar a resposta sem ter que perguntar novamente.

Eu to a fim de te ajudar, mas não vou postar código, não é muito de minha índole. Se quer aprender a pescar pelo menos tenha uma vara de pesca a mão.

Você é novo em java ou em programação em geral? Esta lógica é muito simples pode ser que esteja tendo problemas em conhecer as malicias do java, mas também não é nenhum fim do mundo.

Que parte conseguiu fazer? E que parte esta com problema?

Aguardo.

Att
Ricoldi

PO issu nauM eh dever d casa naUM…ja disse anteriormente q estava fazendu por vontade propria…

  • naum to conseguindu…

se puderem me ajudar ajudem, se naum naum precisem fikar me avisandu q naum faz trab, pq eu sei e mt dissu…

Daniel, pq suas frases são sempre começadas com PO?

Você não notou que está todo mundo querendo de ajudar? Eu sou um deles. Então, diz o que está dando erro, no que vc está com dúvida, e a gente te ajuda!!

Mas ninguém vai parar o que está fazendo só para desenvolver um joguinho de forca para você. :stuck_out_tongue:

Agora, vc pode tentar também esse outro fórum.
Lá é bem capaz que te ajudem no seu caso…

Outra coisa, pelo menos nos fóruns, use um português mais formal.

Quanto você paga?
Poco marrento o cara… po, po po.
E escreve direito… não direitu.

Eu fiz um programa assim…

public class Forca extends java.applet.Applet {
String[] listaPalavras =
{“PETROLEO”, “PESTANA”, “PESTILENTO”, “PETELECO”, “REBOQUE”, “CADAFALSO”,
“CADEIRA”, “COLA”, “REBENTO”, “DEFUMADO”, “DISCURSO”, “ELETRODOMESTICO”,
“ELETRONICA”, “ENGRENAGEM”, “ESFOMEADO”, “FERRALHEIRO”, “FERROVIA”,
“FERTIL”, “FORTALEZA”, “FORTIFICANTE”, “OFICINA”, “ORNAMENTO”, “PALAVRA”,
“PREOCUPACAO”, “RADIOLOGIA”, “RADIOGRAFIA”, “GRANJA”, “GRANULADO”, “INDUZIDO”,
“IMBATIVEL”, “INDUSTRIA”, “INTERNACIONAL”, “LABIRINTO”, “LOBISOMEM”,
“LOCOMOTIVA”, “TESOURA”, “MASSAGISTA”, “MATADOURO”, “MOCHILA”, “NOROESTE”,
“NITROGLICERINA”, “HELICOPTERO”, “CAPITALISMO”, “SOFTWARE”, “ENGENHARIA”,
“NOROESTE”, “AUTENTICO”, “LINUX”, “PROCESSADOR”, “QUARENTENA”, “MEDICINA”,
“HOLOCAUSTO”, “RADIOGRAFIA”, “XAROPE”, “ZAROLHO”, “ZOOLOGICO”, “HEREDITARIO”,
“EXTASE”, “EXTRAVIO”, “DUODENO”, “ECOLOGISTA”, “TURISMO”, “TRAFICANTE”,
“CONSELHO”, “BAIXISTA”, “AVESTRUZ”, “QUIMICA”, “BOTANICA”, “RESPECTIVO”,
“SAXOFONE”, “TABERNA”, “OCULTO”, “TRIGONOMETRIA”, “ZODIACO”, “JUSTAPOSTO”,
“HIDRAULICO”, “HEXAGONO”, “MINEIRO”, “FRENETICO”, “EXPLOSIVEL”, "EXORCISTA
"};

char[] letrasAlfabeto = {‘A’,‘B’,‘C’,‘D’,‘E’,‘F’,‘G’,‘H’,‘I’,‘J’,‘K’,
‘L’,‘M’,‘N’,‘O’,‘P’,‘Q’,‘R’,‘S’,‘T’,‘U’,‘V’,‘W’,‘X’,‘Y’,‘Z’};
char[] letrasNaoSelecionadas = new char[26];
char[] palavra;
char[] letrasAdivinhadas_X_Posicao;
int tentativasErradas;
String resultado;
boolean novoJogo = false;

public void init() {
requestFocus();
}

public void start() {

for(int i = 0; i < letrasNaoSelecionadas.length; i++)
letrasNaoSelecionadas[i] = letrasAlfabeto[i];

palavra = sorteiaPalavra();

letrasAdivinhadas_X_Posicao = new char[palavra.length];
for(int i = 0; i < letrasAdivinhadas_X_Posicao.length; i++)
letrasAdivinhadas_X_Posicao[i] = ‘0’;

tentativasErradas = 0;

novoJogo = false;
resultado = “”;

repaint();
}

public void paint(Graphics g) {

setBackground(Color.white);

g.setFont(letras);

g.fillRect(20, 20, 110, 10);
g.fillRect(20, 20, 10, 185);
g.fillRect(122, 30, 8, 22);
g.fillRect(10, 195, 30, 10);

if(tentativasErradas > 0) {
g.fillRect(113, 52, 25, 28);
g.fillRect(122, 80, 8, 7);
g.setColor(Color.white);
g.fillRect(118, 58, 4, 5);
g.fillRect(129, 58, 4, 5);
g.fillRect(121, 70, 9, 4);
g.setColor(Color.black);
}

if(tentativasErradas > 1)
g.fillRect(106, 87, 39, 50);

if(tentativasErradas > 2) {
g.fillRect(102, 87, 6, 6);
g.fillRect(98, 93, 12, 6);
g.fillRect(92, 99, 12, 6);
g.fillRect(87, 105, 11, 10);
g.fillRect(92, 115, 12, 6);
g.fillRect(98, 121, 12, 6);
}

if(tentativasErradas > 3) {
g.fillRect(141, 87, 6, 6);
g.fillRect(142, 93, 12, 6);
g.fillRect(147, 99, 12, 6);
g.fillRect(152, 105, 11, 10);
g.fillRect(147, 115, 12, 6);
g.fillRect(142, 121, 12, 6);
}

if(tentativasErradas > 4) {
g.fillRect(106, 137, 14, 13);
g.fillRect(106, 150, 10, 10);
g.fillRect(106, 160, 7, 10);
g.fillRect(100, 170, 13, 5);
}

if(tentativasErradas > 5) {
g.fillRect(131, 137, 14, 13);
g.fillRect(135, 150, 10, 13);
g.fillRect(138, 160, 7, 10);
g.fillRect(138, 170, 13, 5);
}

for(int i = 0; i < palavra.length; i++) {
if(letrasAdivinhadas_X_Posicao[i] != ‘0’)
g.drawString(String.valueOf(letrasAdivinhadas_X_Posicao[i]), 191 + i * 30, 52);
g.fillRect(190 + i * 30, 58, 20, 4);
}

int x_LetrasNaoUtilizadas = 190;
int i;
for(i = 0; i < letrasNaoSelecionadas.length / 2; i++) {
if(letrasNaoSelecionadas[i] != ‘0’ )
g.drawString(String.valueOf(letrasNaoSelecionadas[i]), x_LetrasNaoUtilizadas, 137);
x_LetrasNaoUtilizadas += 25;
}
for(x_LetrasNaoUtilizadas = 192; i < letrasNaoSelecionadas.length; i++) {
if(letrasNaoSelecionadas[i] != ‘0’ )
g.drawString(String.valueOf(letrasNaoSelecionadas[i]), x_LetrasNaoUtilizadas, 160);
x_LetrasNaoUtilizadas += 25;
}

g.setFont(mensagens);
g.drawString("–== Tecle a letra que corresponde a seu palpite ==–", 165, 190);

g.drawString(resultado, 200, 220);

if(novoJogo)
g.drawString(“Iniciar novo jogo ? (S/N)”, 260, 250);
}

public char[] sorteiaPalavra() {
int indicePalavra;
String palavraSorteada;

indicePalavra = (int) (Math.random() * listaPalavras.length);

palavraSorteada = listaPalavras[indicePalavra];

return palavraSorteada.toCharArray();
}

public boolean keyDown(Event evt, int key) {

if(novoJogo && (key == 83 | key == 115)) {
start();
return true;
}

if(key >= 65 && key <= 90) {
verificaPalpite((char) key);
return true;
}

if(key >= 97 && key <= 122) {
verificaPalpite((char) (key-32));
return true;
}

return false;
}

public void verificaPalpite(char letra_teclada) {

boolean achouLetra = false;
int indiceBusca = 0;
while(!achouLetra && indiceBusca < letrasNaoSelecionadas.length) {
if(letrasNaoSelecionadas[indiceBusca] == letra_teclada) {
letrasNaoSelecionadas[indiceBusca] = ‘0’;
achouLetra = true;
}
indiceBusca++;
}

if(!achouLetra)
return;

boolean palpiteCorreto = false;
for(int i = 0; i < palavra.length; i++) {
if(palavra[i] == letra_teclada) {
letrasAdivinhadas_X_Posicao[i] = letra_teclada;
palpiteCorreto = true;
}
}

if(palpiteCorreto == false) {
tentativasErradas++;
}

verificaFimJogo();

repaint();
}

public void verificaFimJogo() {

if(tentativasErradas == 6) {
resultado = " Que Deus perdoe seus pecados !!!";
novoJogo = true;
}

else {
boolean temZero = false;
for(int i = 0; i < letrasAdivinhadas_X_Posicao.length; i++)
if(letrasAdivinhadas_X_Posicao[i] == ‘0’)
temZero = true;
if(!temZero) {
resultado = “PARABENS !!! Voce descobriu a palavra !”;
novoJogo = true;
}
}
}
}

soh q agora keria por nos tres niveis como falei no 1º post…sera q alguem me ajuga agora !!!

Por favor.
Use as tegs codigo .
Fica mais legivel

Seu codigo é esse aqui:

public class Forca extends java.applet.Applet { 
String[] listaPalavras = 
{"PETROLEO", "PESTANA", "PESTILENTO", "PETELECO", "REBOQUE", "CADAFALSO", 
"CADEIRA", "COLA", "REBENTO", "DEFUMADO", "DISCURSO", "ELETRODOMESTICO", 
"ELETRONICA", "ENGRENAGEM", "ESFOMEADO", "FERRALHEIRO", "FERROVIA", 
"FERTIL", "FORTALEZA", "FORTIFICANTE", "OFICINA", "ORNAMENTO", "PALAVRA", 
"PREOCUPACAO", "RADIOLOGIA", "RADIOGRAFIA", "GRANJA", "GRANULADO", "INDUZIDO", 
"IMBATIVEL", "INDUSTRIA", "INTERNACIONAL", "LABIRINTO", "LOBISOMEM", 
"LOCOMOTIVA", "TESOURA", "MASSAGISTA", "MATADOURO", "MOCHILA", "NOROESTE", 
"NITROGLICERINA", "HELICOPTERO", "CAPITALISMO", "SOFTWARE", "ENGENHARIA", 
"NOROESTE", "AUTENTICO", "LINUX", "PROCESSADOR", "QUARENTENA", "MEDICINA", 
"HOLOCAUSTO", "RADIOGRAFIA", "XAROPE", "ZAROLHO", "ZOOLOGICO", "HEREDITARIO", 
"EXTASE", "EXTRAVIO", "DUODENO", "ECOLOGISTA", "TURISMO", "TRAFICANTE", 
"CONSELHO", "BAIXISTA", "AVESTRUZ", "QUIMICA", "BOTANICA", "RESPECTIVO", 
"SAXOFONE", "TABERNA", "OCULTO", "TRIGONOMETRIA", "ZODIACO", "JUSTAPOSTO", 
"HIDRAULICO", "HEXAGONO", "MINEIRO", "FRENETICO", "EXPLOSIVEL", "EXORCISTA 
"}; 

char[] letrasAlfabeto = {'A','B','C','D','E','F','G','H','I','J','K', 
'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; 
char[] letrasNaoSelecionadas = new char[26]; 
char[] palavra; 
char[] letrasAdivinhadas_X_Posicao; 
int tentativasErradas; 
String resultado; 
boolean novoJogo = false; 

public void init() { 
requestFocus(); 
} 

public void start() { 

for(int i = 0; i < letrasNaoSelecionadas.length; i++) 
letrasNaoSelecionadas[i] = letrasAlfabeto[i]; 

palavra = sorteiaPalavra(); 

letrasAdivinhadas_X_Posicao = new char[palavra.length]; 
for(int i = 0; i < letrasAdivinhadas_X_Posicao.length; i++) 
letrasAdivinhadas_X_Posicao[i] = '0'; 


tentativasErradas = 0; 


novoJogo = false; 
resultado = ""; 

repaint(); 
} 


public void paint(Graphics g) { 

setBackground(Color.white); 

g.setFont(letras); 


g.fillRect(20, 20, 110, 10); 
g.fillRect(20, 20, 10, 185); 
g.fillRect(122, 30, 8, 22); 
g.fillRect(10, 195, 30, 10); 


if(tentativasErradas > 0) { 
g.fillRect(113, 52, 25, 2; 
g.fillRect(122, 80, 8, 7); 
g.setColor(Color.white); 
g.fillRect(118, 58, 4, 5); 
g.fillRect(129, 58, 4, 5); 
g.fillRect(121, 70, 9, 4); 
g.setColor(Color.black); 
} 

if(tentativasErradas > 1) 
g.fillRect(106, 87, 39, 50); 


if(tentativasErradas > 2) { 
g.fillRect(102, 87, 6, 6); 
g.fillRect(98, 93, 12, 6); 
g.fillRect(92, 99, 12, 6); 
g.fillRect(87, 105, 11, 10); 
g.fillRect(92, 115, 12, 6); 
g.fillRect(98, 121, 12, 6); 
} 


if(tentativasErradas > 3) { 
g.fillRect(141, 87, 6, 6); 
g.fillRect(142, 93, 12, 6); 
g.fillRect(147, 99, 12, 6); 
g.fillRect(152, 105, 11, 10); 
g.fillRect(147, 115, 12, 6); 
g.fillRect(142, 121, 12, 6); 
} 


if(tentativasErradas > 4) { 
g.fillRect(106, 137, 14, 13); 
g.fillRect(106, 150, 10, 10); 
g.fillRect(106, 160, 7, 10); 
g.fillRect(100, 170, 13, 5); 
} 


if(tentativasErradas > 5) { 
g.fillRect(131, 137, 14, 13); 
g.fillRect(135, 150, 10, 13); 
g.fillRect(138, 160, 7, 10); 
g.fillRect(138, 170, 13, 5); 
} 

for(int i = 0; i < palavra.length; i++) { 
if(letrasAdivinhadas_X_Posicao[i] != '0') 
g.drawString(String.valueOf(letrasAdivinhadas_X_Posicao[i]), 191 + i * 30, 52); 
g.fillRect(190 + i * 30, 58, 20, 4); 
} 


int x_LetrasNaoUtilizadas = 190; 
int i; 
for(i = 0; i < letrasNaoSelecionadas.length / 2; i++) { 
if(letrasNaoSelecionadas[i] != '0' ) 
g.drawString(String.valueOf(letrasNaoSelecionadas[i]), x_LetrasNaoUtilizadas, 137); 
x_LetrasNaoUtilizadas += 25; 
} 
for(x_LetrasNaoUtilizadas = 192; i < letrasNaoSelecionadas.length; i++) { 
if(letrasNaoSelecionadas[i] != '0' ) 
g.drawString(String.valueOf(letrasNaoSelecionadas[i]), x_LetrasNaoUtilizadas, 160); 
x_LetrasNaoUtilizadas += 25; 
} 


g.setFont(mensagens); 
g.drawString("--== Tecle a letra que corresponde a seu palpite ==--", 165, 190); 


g.drawString(resultado, 200, 220); 


if(novoJogo) 
g.drawString("Iniciar novo jogo ? (S/N)", 260, 250); 
} 


public char[] sorteiaPalavra() { 
int indicePalavra; 
String palavraSorteada; 


indicePalavra = (int) (Math.random() * listaPalavras.length); 


palavraSorteada = listaPalavras[indicePalavra]; 


return palavraSorteada.toCharArray(); 
} 


public boolean keyDown(Event evt, int key) { 

if(novoJogo && (key == 83 | key == 115)) { 
start(); 
return true; 
} 


if(key >= 65 && key <= 90) { 
verificaPalpite((char) key); 
return true; 
} 

if(key >= 97 && key <= 122) { 
verificaPalpite((char) (key-32)); 
return true; 
} 

return false; 
} 


public void verificaPalpite(char letra_teclada) { 

boolean achouLetra = false; 
int indiceBusca = 0; 
while(!achouLetra && indiceBusca < letrasNaoSelecionadas.length) { 
if(letrasNaoSelecionadas[indiceBusca] == letra_teclada) { 
letrasNaoSelecionadas[indiceBusca] = '0'; 
achouLetra = true; 
} 
indiceBusca++; 
} 



if(!achouLetra) 
return; 


boolean palpiteCorreto = false; 
for(int i = 0; i < palavra.length; i++) { 
if(palavra[i] == letra_teclada) { 
letrasAdivinhadas_X_Posicao[i] = letra_teclada; 
palpiteCorreto = true; 
} 
} 

if(palpiteCorreto == false) { 
tentativasErradas++; 
} 


verificaFimJogo(); 


repaint(); 
} 


public void verificaFimJogo() { 

if(tentativasErradas == 6) { 
resultado = " Que Deus perdoe seus pecados !!!"; 
novoJogo = true; 
} 

else { 
boolean temZero = false; 
for(int i = 0; i < letrasAdivinhadas_X_Posicao.length; i++) 
if(letrasAdivinhadas_X_Posicao[i] == '0') 
temZero = true; 
if(!temZero) { 
resultado = "PARABENS !!! Voce descobriu a palavra !"; 
novoJogo = true; 
} 
} 
} 
}

po eu tbm sou iniciante em java e no meu curso faço esses programinhas . tentei fazer mas tah dando sempre um erro ,Se for possivel alguem postar esse codigo pronto pra ser testado eu agradeceria, ateh pq sempre q eu faço dah um erro (simples).
por issu pesso a ajuda de vcs tbm , eu sei q muitos vao dizer q naum podem postar o codigo mas a minha intençao e unicamente aprender e colocar algumas particularidades nele se for possivel.

PO sera q alguem pode fazer os niveeis pra mim eu nauM sei…soh conesegui dakele modo…

Estamos perdidos…

[quote=henrigunner]po eu tbm sou iniciante em java e no meu curso faço esses programinhas . tentei fazer mas tah dando sempre um erro ,Se for possivel alguem postar esse codigo pronto pra ser testado eu agradeceria, ateh pq sempre q eu faço dah um erro (simples).
por issu pesso a ajuda de vcs tbm , eu sei q muitos vao dizer q naum podem postar o codigo mas a minha intençao e unicamente aprender e colocar algumas particularidades nele se for possivel.[/quote]
Meio dificil…

+ Meio dificil…

Galera antes de estudar a programação estudem os conceitos de OO
http://www.google.com.br/search?hl=pt-BR&client=firefox-a&rls=org.mozilla:pt-BR:official&hs=p13&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=orienta%C3%A7%C3%A3o+a+objetos&spell=1
é só uma dica!

E leiam a sessão de foruns e artigos
http://www.guj.com.br/artigos.jsp


Att
Ricoldi

Vocês também podem estudar alguns códigos prontos, como o “Genius for Dummies”, que coloquei na PDJ:
http://www.programadoresdejogos.com/osgames/

Ou esse ótimo tutorial aqui:
http://www.cokeandcode.com/spaceinvaderstutorial

Ou ainda esse livro:
http://fivedots.coe.psu.ac.th/~ad/jg/

Você fez? Ou ele fez?
http://forum.imasters.uol.com.br/index.php?showtopic=172813

Não copie códigos da Internet em seus trabalhos acadêmicos. Estude, aprenda.
Eu costumo a zerar meus alunos que copiam e assumem a autoria de terceiros…

Não só é extremamente pouco profissional, como também é crime.

Você fez? Ou ele fez?
http://forum.imasters.uol.com.br/index.php?showtopic=172813

Não copie códigos da Internet em seus trabalhos acadêmicos. Estude, aprenda.
Eu costumo a zerar meus alunos que copiam e assumem a autoria de terceiros…

Não só é extremamente pouco profissional, como também é crime.[/quote]

Huummm… ficou feio agora hein Garoto “PO”