Página 1 de 2
Duvida sobre jogo em clipper
Enviado: 02 Fev 2008 19:45
por Arthur.HVT
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.
Enviado: 02 Fev 2008 19:55
por Maligno
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.
Enviado: 02 Fev 2008 20:06
por Arthur.HVT
Desculpe, sou iniciante em clipper. Quando vc diz lacunas, se refere a variaveis? Elementos seriam os valores?
Enviado: 02 Fev 2008 20:33
por Arthur.HVT
Acho que entendi o que quiz dizer. Isso seria ao fato de saber a hora em que o jogo acabar. Mas como poderia fazer para as letras ficassem em seu lugares?
Enviado: 02 Fev 2008 21:13
por Maligno
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.
Enviado: 02 Fev 2008 22:47
por Clipper
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
Enviado: 03 Fev 2008 00:57
por Clipper
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
Enviado: 03 Fev 2008 01:17
por Arthur.HVT
mas para o caso de posicionar nas lacunas eu teria que criar uma variavel para cada letra certo?
Enviado: 03 Fev 2008 09:00
por Maligno
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.
Enviado: 03 Fev 2008 20:35
por Arthur.HVT
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
Enviado: 03 Fev 2008 22:14
por Maligno
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.
Enviado: 03 Fev 2008 22:23
por Arthur.HVT
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?
Enviado: 03 Fev 2008 22:45
por Clipper
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
Enviado: 03 Fev 2008 23:43
por Arthur.HVT
poderiam me passar o NG em portugues da versao 5.2 por favor?
Enviado: 04 Fev 2008 00:13
por Maligno
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.