Ir para conteúdo
  • Cadastre-se
yuri

Jogo em C - migração

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

  • Curtir 1
  • l33t 1

Compartilhar este post


Link para o post
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!

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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...

  • Curtir 1

Compartilhar este post


Link para o post
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×