Jump to content

Jogo em C - migração


yuri

Recommended Posts

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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...