Duvida sobre jogo em clipper
Moderador: Moderadores
-
Arthur.HVT
- Usuário Nível 1

- Mensagens: 13
- Registrado em: 02 Fev 2008 02:55
- Localização: Aqui.
Duvida sobre jogo em clipper
Ola. Vi o jogo da forca feito aqui no pctoledo, e resolvi fazer um tambem, porem com recursos a mais. Guardarei as palavras com suas respectivas dicas no banco de dados, e fiz com que o usuario poderia adicionar suas proprias palavras. Ja fiz tambem um recebimento aleatorio de palavras(no caso do jogo da forca feito aqui, as palavras tem a mesma sequencia.). Minha duvida é apenas de como conseguir fazer o programa colocar cada letra em seu lugar e como saber que o usuario conseguiu adiconar todas as letras, para mostrar a mensagem de que ganhou. Se puderem talvez disponibilizar o codigo fonte deste jogo da forca feito, ou entao me dessem ideias agradeceria muito.
Seja bem-vindo.
De imediato consigo pensar apenas numa matriz de duas dimensões, redimencionável. No início do jogo, quando o programa escolher a palavra, cria-se tantas "lacunas" quanto for o tamanho desta. E a matriz é criada com esse tamanho. Cada elemento desta será uma outra matriz de dois elementos apenas. No primeiro elemento, a letra correta. No segundo, uma marca qualquer para identificar que a letra foi encontrada. Conforme ele escolher uma letra, uma rotina simples "varre" a matriz em busca de alguma coincidência. Se encontrar, preenche-se o segundo elemento. Uma outra rotina verifica se ainda há "lacunas". Se não houver, fim.
De imediato consigo pensar apenas numa matriz de duas dimensões, redimencionável. No início do jogo, quando o programa escolher a palavra, cria-se tantas "lacunas" quanto for o tamanho desta. E a matriz é criada com esse tamanho. Cada elemento desta será uma outra matriz de dois elementos apenas. No primeiro elemento, a letra correta. No segundo, uma marca qualquer para identificar que a letra foi encontrada. Conforme ele escolher uma letra, uma rotina simples "varre" a matriz em busca de alguma coincidência. Se encontrar, preenche-se o segundo elemento. Uma outra rotina verifica se ainda há "lacunas". Se não houver, fim.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
Arthur.HVT
- Usuário Nível 1

- Mensagens: 13
- Registrado em: 02 Fev 2008 02:55
- Localização: Aqui.
-
Arthur.HVT
- Usuário Nível 1

- Mensagens: 13
- Registrado em: 02 Fev 2008 02:55
- Localização: Aqui.
Quando digo lacunas, me refiro tanto ao efeito visual (as posições no vídeo) quanto às lacunas da matriz de checagem.
Para fazer as letras ficarem nos seus lugares você terá de montar um procedimento com base na posição (o número de ordem do...) elemento encontrado na matriz. Se o camarada informar "A" e existir essa letra na quinta posição da matriz, digamos, você terá de calcular a coluna do vídeo onde se encontra a quinta letra e lá imprimir a letra "A".
Esse é o tipo de programa em que você tem que aprender a calcular posicionamento de caracteres no vídeo. É meio chato, mas necessário.
Para fazer as letras ficarem nos seus lugares você terá de montar um procedimento com base na posição (o número de ordem do...) elemento encontrado na matriz. Se o camarada informar "A" e existir essa letra na quinta posição da matriz, digamos, você terá de calcular a coluna do vídeo onde se encontra a quinta letra e lá imprimir a letra "A".
Esse é o tipo de programa em que você tem que aprender a calcular posicionamento de caracteres no vídeo. É meio chato, mas necessário.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Aproveitando.
Para quem quer mais diversão em Clipper
Segue abaixo um link para o jogo TETRIS feito em Clipper. (Com fontes)
http://www.the-oasis.net/files/general/cliptris.zip
Esse é de cartas (Poker(5 e 7 cartas), BlackJack(21) e um tal de Bet sei lá o que) (Com fontes)
http://www.the-oasis.net/files/general/clipgame.zip
Esse é o FreeCell (Só tem o OBJ)
http://www.the-oasis.net/files/general/freecell.zip
Na FAST LIB existe mais 2 jogos, PUZZLE e SNAKE, basta chamar as funções Puzzle() e Serpent()
Até logo.
Marcelo
Para quem quer mais diversão em Clipper
Segue abaixo um link para o jogo TETRIS feito em Clipper. (Com fontes)
http://www.the-oasis.net/files/general/cliptris.zip
Esse é de cartas (Poker(5 e 7 cartas), BlackJack(21) e um tal de Bet sei lá o que) (Com fontes)
http://www.the-oasis.net/files/general/clipgame.zip
Esse é o FreeCell (Só tem o OBJ)
http://www.the-oasis.net/files/general/freecell.zip
Na FAST LIB existe mais 2 jogos, PUZZLE e SNAKE, basta chamar as funções Puzzle() e Serpent()
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Aproveitando...
Sempre tive vontade de desenvolver um jogo tipo Quiz em Clipper, para quem não sabe Quiz é aqule jogo tipo Show do Milhão, a idéia básica é :
Nível Noob -
Aparece a pergunta no vídeo e também as possiveis respostas(4), o jogador escolhe entre as possiveis.
Nível Rookie -
Aparece a pergunta no vídeo e o jogador tem que responder em um determinado tempo.
Vejo inclusive a possibilidade de jogar multiplayer.
Tive essa vontade a partir dos meus clientes que sempre ficam me cobrando por mensagens novas no sistema, na entrada dos meus sistemas sempre aparece uma mensagem (provérbios, curiosidades, piadas, etc...)
Abaixo algumas :
A capacidade pouco vale sem oportunidade.
Napoleão Bonaparte
Quem mente precisa ter boa memória.
Corneille
Nao há tarefa mais pesada que a ociosidade.
Vitor Hugo
A preguiça anda tão devagar que a miséria facilmente a alcança.
Benjamin Franklin
Você sabia que a maior indústria cinematográfica é a da India, que produz cerca de 900 filmes por ano ?
Você sabia que Mario de Andrade publicou Macunaíma em 1928 ?
Sabe quem venceu o primeiro Fla x Flu ? óbvio que foi o Fluminense, hahahahahah (e o último também e se tudo der certo o próximo também)
:)Pos
Você sabia que a batata frita foi inventada na na Bélgica ?
Você sabia que os Brasileiros são quem mais consomem bebidas destiladas no mundo ? (eu tô na estatística) -:]
Você sabia que a primeira camisa do Flamengo era azul e amarela, e a do Fluminense cinza e branca ?
Você sabia que o menor país é o Vaticano com uma área de 1 KM2 ?
E aí ? Quem topa ?
Até logo.
Marcelo
Sempre tive vontade de desenvolver um jogo tipo Quiz em Clipper, para quem não sabe Quiz é aqule jogo tipo Show do Milhão, a idéia básica é :
Nível Noob -
Aparece a pergunta no vídeo e também as possiveis respostas(4), o jogador escolhe entre as possiveis.
Nível Rookie -
Aparece a pergunta no vídeo e o jogador tem que responder em um determinado tempo.
Vejo inclusive a possibilidade de jogar multiplayer.
Tive essa vontade a partir dos meus clientes que sempre ficam me cobrando por mensagens novas no sistema, na entrada dos meus sistemas sempre aparece uma mensagem (provérbios, curiosidades, piadas, etc...)
Abaixo algumas :
A capacidade pouco vale sem oportunidade.
Napoleão Bonaparte
Quem mente precisa ter boa memória.
Corneille
Nao há tarefa mais pesada que a ociosidade.
Vitor Hugo
A preguiça anda tão devagar que a miséria facilmente a alcança.
Benjamin Franklin
Você sabia que a maior indústria cinematográfica é a da India, que produz cerca de 900 filmes por ano ?
Você sabia que Mario de Andrade publicou Macunaíma em 1928 ?
Sabe quem venceu o primeiro Fla x Flu ? óbvio que foi o Fluminense, hahahahahah (e o último também e se tudo der certo o próximo também)
:)Pos
Você sabia que a batata frita foi inventada na na Bélgica ?
Você sabia que os Brasileiros são quem mais consomem bebidas destiladas no mundo ? (eu tô na estatística) -:]
Você sabia que a primeira camisa do Flamengo era azul e amarela, e a do Fluminense cinza e branca ?
Você sabia que o menor país é o Vaticano com uma área de 1 KM2 ?
E aí ? Quem topa ?
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
-
Arthur.HVT
- Usuário Nível 1

- Mensagens: 13
- Registrado em: 02 Fev 2008 02:55
- Localização: Aqui.
Um elemento de uma matriz, conforme comentei, é uma variável. Uma para cada letra. Claro que você até pode usar uma variável string comum. Mas a complexidade no controle aumentará. Isso vai atrapalhar você. Acho que com matriz fica mais simples.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
Arthur.HVT
- Usuário Nível 1

- Mensagens: 13
- Registrado em: 02 Fev 2008 02:55
- Localização: Aqui.
Mais duas pequenas duvidas. Ainda nao estudei muito sobre banco de dados e queria saber o comando para saber o numero de registros do banco de dados. Porque eu posso controlar ate onde o numero aleatorio vai, mas se os usuarios adicionassem mais palavras e o numero estivesse fixo na funcao random nao teria efeito algum. Existe esse comando?
A outra duvida é como eu poderia fazer para quando o usuario escolhesse "Sair", o prompt fecharia-se igual no programa da forca daqui do forum.
OBS: As dicas funcionaram direitinho maligno. Valeu
A outra duvida é como eu poderia fazer para quando o usuario escolhesse "Sair", o prompt fecharia-se igual no programa da forca daqui do forum.
OBS: As dicas funcionaram direitinho maligno. Valeu
Seu maior companheiro nessa aventura é o NG do Clipper. Não desgrude dele. E nele você vai encontrar a função LastRec() pra saber a quantidade de registros no banco de dados, incluindo aí os que estiverem marcados para apagamento.
Não sei como é o programa que o Toledo colocou no site dele. Nunca baixei. Mas pra encerrar o programa e voltar ao prompt é fácil: limpe a tela e emita um QUIT. Se precisar apresentar alguns dados do resultado do jogo, após apagar a tela, imprima-os normalmente e encerre.
Não sei como é o programa que o Toledo colocou no site dele. Nunca baixei. Mas pra encerrar o programa e voltar ao prompt é fácil: limpe a tela e emita um QUIT. Se precisar apresentar alguns dados do resultado do jogo, após apagar a tela, imprima-os normalmente e encerre.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
Arthur.HVT
- Usuário Nível 1

- Mensagens: 13
- Registrado em: 02 Fev 2008 02:55
- Localização: Aqui.
Gostaria mesmo que encerrasse. O joguinho esta neste link : https://pctoledo.org/download/cop ... t&deonde=2
Logo na primeira tela aperte esc. Apresenta uma mensagem e encerra o prompt.
Quanto ao commando, gostaria que pegasse apenas os que nao estao apagados, pois se o numero for maior que o numero de registros nao apagado daria um erro certo? Nao daria para apagar de vez os registros do BD?
Logo na primeira tela aperte esc. Apresenta uma mensagem e encerra o prompt.
Quanto ao commando, gostaria que pegasse apenas os que nao estao apagados, pois se o numero for maior que o numero de registros nao apagado daria um erro certo? Nao daria para apagar de vez os registros do BD?
Como é um jogo onde é interessante ter o máximo de palavras no BD então não vejo muito a necessidade de exclusão de registros, mas caso se faça necessário então use o comando PACK para excluir fisicamente os registros, vale salientar que isso terá que ser feito sempre que se excluir alguam palavra.
Até logo.
Marcelo
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
-
Arthur.HVT
- Usuário Nível 1

- Mensagens: 13
- Registrado em: 02 Fev 2008 02:55
- Localização: Aqui.
O NG deveria estar junto com sua instalação do Clipper. Não está? Se não, baixe o NG do meu site. Se não tiver o navegador do NG, tente usar o WEG, que é para Windows. Pegue-o aqui.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!

