Ir para conteúdo

Jogo em C - migração


yuri

Posts Recomendados

Olá "galerinha do bem", faz um tempo eu fiz um joguinho em C. Resolvi, enquanto estava aprendendo, transpor para a linguagem um jogo muito antigo de tabuleiro.

Era um jogo da empresa GROW (os mais novos não vão saber) e chamava-se 'SENHA'. O jogo era jogado em dupla, sendo que uma pessoa escolhia uma sequência de cores e o outro tinha que adivinhar. A pessoa que tinha que adivinhar ia sendo guiada pela pessoa que escolheu a sequência, sendo que se a pessoa acertou uma cor na posição errada, era indicado com um pininho branco do lado. Se a pessoa acertou cor e posição, isso era indicado com um pininho preto. Não é possível deixar espaço em branco nem repetir cor!! E assim vai jogando....... muito legal o jogo (na minha opinião). Desenvolve o raciocínio.

Por ter feito em C, dei o nome de 'C.enha' :)) Porém, fiz em um computador, em um programa, e agora mudei computador, mudei compilador e muitas funções não estou conseguindo migrar 100%, pois utilizei a biblioteca conio2.h.

Principais funções:

- imprimir caracteres unicode (principalmente os blocos)

- imprimir em posição determinada goto(x,y)

- imprimir colorido

- identificar teclas pressionadas (setas direcionais e enter)

Vou postar o jogo pra quem quiser brincar e dar sugestão!

E agradeço se os "experts" puderem auxiliar nas principais funções descritas, pois não consegui imprimir no console blocos do unicode. E Tb sugestão de passar para modo gráfico (windows) pois fiz de maneira roots mesmo.. :))

 

Divirtam-se e aceito comentários e sugestões.

 

Seguem prints do jogo.

 

tela_001.jpg.45ddd981d9d87bd6ac176c6181a50a51.jpg

Tela inicial com instruções do jogo. 

 

tela_002.jpg.dfa4992c18ba12d4d8311ff60dd505a8.jpg

Ao iniciar o jogo o computador já escolheu a sequência de cores.

 

tela_003.jpg.a9d6e2d7faf3eef6b73b28682cf4672a.jpg

 

Vai jogando e o computador indica, de forma aleatória, se vc acertou somente a cor (pino branco) ou se acertou uma cor na posição correta (pino preto).

Precisei de 8 jogadas até acertar.... tava com preguiça de pensar!!! kkkkk

Segue o executável.. é pequeno.. tem 37kb.

 

 

 

Yuri - Senha.exe

Link para o comentário
Compartilhar em outros sites

Cara, que coisa legal! Sempre quis fazer um jogo, mas é um sonho não realizado. ?

Sobre a conio2.h, se quiser portar, recomendo a ncurses. Seu jogo vai inclusive rodar no Unix, Linux, BSD's, etc. No Windows também, via Cygwin. Mas, você vai alterar o código todo. rs

Mas se quiser fazer gráfico mesmo, talvez o @augustomoreira, que falou sobre desenvolvimento de jogos neste tópico, possa ajudar? ?

Parabéns! Achei muito maneiro!

Link para o comentário
Compartilhar em outros sites

Poxa Fernando, eu que que agradeço. Fiz o CERO e depois fiz o seu treinamento de C moderna para relembrar umas coisas. Parabéns pela iniciativa. Foi relembrar C que me fez ter vontade de atualizar e migrar esse jogo que fiz faz um tempo.

Vamos ver se dá certo.... qq coisa vejo pra fazer em ambiente gráfico tb.. é que curti fazer meio retrô... (por falta de conhecimento msm!!) kkkk

Link para o comentário
Compartilhar em outros sites

Modo gráfico, 2D, recomendo o uso de libSDL ( https://libsdl.org/ ). Para ficar ainda mais imples, libSDL 1.2 ao invés do 2.0.
A libSDL é muito usada em aplicações 2D (usada pelo QEMU, por exemplo) e é portável.

É possível usar libSDL juntamente com OpenGL, se desejar 3D (mas recomendo o GLFW 3 [ https://www.glfw.org/ ] se esse for o caso).

PS: Não acho interessante ficar anexando arquivos executáveis nas mensagens. Sabe-se lá que eles fazem o que realmente diz que fazem! Seria melhor disponibilizar o código fonte...

Link para o comentário
Compartilhar em outros sites

Muito obrigado pelas dicas Frederico! Vou procurar me informar sobre essas bibliotecas.

Como eu disse, fiz isso faz um tempo, em outra máquina e o código fonte que compilei novamente apresentou comportamento bem diferente do que eu já tinha compilado anteriormente, por isso abri esse tópico para orientações a respeito de migração.

Vou continuar meus testes para tentar uma portabilidade maior!!

Sei que posso ser um "estranho" mas coloquei o exe simplesmente pq é o que está rodando bem e seria uma chance para quem quisesse ver o funcionamento.

Mais uma vez muito obrigado pelas orientações e surgindo dúvida posto aqui para os "experts".

Abraços.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...