FórumGdH

Página Inicial do Guia do Hardware

Registrar FAQ Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Voltar   FórumGdH > Profissional > Programação, scripts, web e banco de dados
Bem-vindo ao FórumGdH
Não se esqueça de se registrar, é grátis . Nós temos 759.272 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.

Resposta
 
Opções do Tópico
Antigo 22-05-2005, 13:54   #1 (permalink)
darkside
Veterano
 
Registrado em: Feb 2003
Localização: Curitiba PR
Mensagens: 1.417
Reputação: 20 darkside está indo no caminho certo
Enviar mensagem via ICQ para darkside Enviar mensagem via MSN para darkside
Padrão Cores em C e Jogo da Velha

Pessoal, tenho um trabalho da faculdade que é criar um Jogo da Velha.

E ela terá 4 níveis de dificuldade e eu gostaria de escrever cada nível com uma cor, indo tipo de um azul clarinho até um vermelho.

/*

printf("Bem Vindo ao Jogo da Velha! \n\n");
printf("Nivel 1: Super Facil\n");
printf("Nivel 2: Facil\n");
printf("Nivel 3: Medio\n");
printf("Nivel 4: Avancado\n\n");
printf("Escolha um Nivel de Dificuldade: ");

*/

Gostaria de algo +/- assim:

Bem Vindo ao Jogo da Velha!

Nivel 1: Super Facil
Nivel 2: Facil
Nivel 3: Medio
Nivel 4: Avancado


:arrow: Mais uma coisa.

Alguem tem alguma ideia de como eu posso "construir" aquela estrutura na tela?
_| _ | _
_| _ | _
| |

De tal forma que o jogador coloque o 'X' na posição que quiser?

Obrigado
darkside está offline   Responder com Quote
Antigo 22-05-2005, 14:39   #2 (permalink)
aylons
General de Pijama
 
Avatar de aylons
 
Registrado em: Mar 2004
Localização: São Paulo
Idade: 28
Mensagens: 3.740
Reputação: 21 aylons possui ótimo potencial
Enviar mensagem via ICQ para aylons Enviar mensagem via MSN para aylons Enviar mensagem via Yahoo para aylons Enviar mensagem via Skype para aylons
Padrão

Quanto a cor, não rola dentro das bibliotecas padrão com facilidade. É algo que não vai te contar pontos nem te render aprendizado, por ora, não se preocupe com isso.

Sobre o jogo da velha, faça laços e fique contando o número de espaços. Depois de um determinado número de espaços, coloque o | e marque que começou a nova coluna. Quando acabar a terceira, imprima uma linha de _ e marque que começou a segunda linha.

Assim você vai saber exatamente onde você está e poderá marcar o X se estiver na posição certa..
__________________
Ayloиs Hazzud, com N invertido
aylons está offline   Responder com Quote
Antigo 24-05-2005, 17:01   #3 (permalink)
jqueiroz
Highlander
 
Avatar de jqueiroz
 
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.782
Reputação: 1756 jqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputaçãojqueiroz tem uma fabulosa reputação
Padrão

Outra sugestão: use uma string de formato do printf pra imprimir a linha pronta. +/- assim:

Código:
printf( " %c | %c | %c\n", velha[0,0], velha[0,1], velha[0,2] ); printf( "---+---+---\n" ); printf( " %c | %c | %c\n", velha[1,0], velha[1,1], velha[1,2] ); ...
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns
jqueiroz está offline   Responder com Quote
Antigo 24-05-2005, 17:12   #4 (permalink)
aylons
General de Pijama
 
Avatar de aylons
 
Registrado em: Mar 2004
Localização: São Paulo
Idade: 28
Mensagens: 3.740
Reputação: 21 aylons possui ótimo potencial
Enviar mensagem via ICQ para aylons Enviar mensagem via MSN para aylons Enviar mensagem via Yahoo para aylons Enviar mensagem via Skype para aylons
Padrão

A sugestão dele certamente é melhor que a minha.

Vou tentar me desculpar: é que isso que eu te passei é a forma mais genérica de colocar um gráfico ASCII na tela.
__________________
Ayloиs Hazzud, com N invertido
aylons está offline   Responder com Quote
Antigo 24-05-2005, 17:33   #5 (permalink)
profeta_livre
Super Participante
 
Registrado em: Jan 2005
Mensagens: 958
Reputação: 16 profeta_livre está indo no caminho certo
Padrão

talvez vc precise utilizar matrizes do tipo

int velha [3], [3] { {0,0,0,}
{0,0,0,}
{0,0,0,} };
entendeu?

ai vc percorre as matrizes com for() e while() isso vai fazer com que o jogador saiba de quem é a vez; é quando deu veia ou quem ganhou ....

se vc tá fazendo facu deve ter aprendido a mexer com matrizes

veja se isso te ajuda:
http://www.vivaolinux.com.br/scripts/verFonte.php?codigo=626&arquivo=jogo_da_velha.c

sobre cores acretito que seja o bliblioteca ncurces
profeta_livre está offline   Responder com Quote
Antigo 02-06-2005, 11:28   #6 (permalink)
Dr_Chiphs
Newbie
 
Registrado em: May 2005
Localização: Anápolis/Go
Mensagens: 46
Reputação: 0 Dr_Chiphs está indo no caminho certo
Enviar mensagem via MSN para Dr_Chiphs Enviar mensagem via Yahoo para Dr_Chiphs
Padrão

Pra voce usar cores, eu recomendo voce usar a biblioteca ncurses.h. Ela não é difícil de se mecher nao, basta voce pegar um tutorial e ler. AH! Essa biblioteca é pra Linux, viu? O Bom da NCurses, é que vc pode usar ela pra imprimir o X ou o 0 onde você quizer na tela. Eu já fim um programa desse, só que era um jogo de damas.
E pra imprimir a tabela, vc usa matriz.

t+++
Dr_Chiphs está offline   Responder com Quote
Antigo 02-06-2005, 11:44   #7 (permalink)
kao00
Membro Senior
 
Registrado em: Jan 2004
Localização: Londrina - PR
Mensagens: 352
Reputação: 0 kao00 está indo no caminho certo
Padrão

Cores com a API do Windows:
http://www.adrianxw.dk/SoftwareSite/Consoles/Consoles4.html
kao00 está offline   Responder com Quote
Antigo 02-06-2005, 11:47   #8 (permalink)
kao00
Membro Senior
 
Registrado em: Jan 2004
Localização: Londrina - PR
Mensagens: 352
Reputação: 0 kao00 está indo no caminho certo
Padrão

Funções "clrscr" e "gotoxy" que funcionam em qualquer compilador para Windows:
Código:
#include <windows.h> void gotoxy(int x, int y) { COORD coord; HANDLE handle; handle = GetStdHandle(STD_OUTPUT_HANDLE); coord.X = x; coord.Y = y; SetConsoleCursorPosition(handle, coord); } void clrscr(void) { HANDLE handle; COORD coord = {0, 0}; DWORD tamanho_do_console; CONSOLE_SCREEN_BUFFER_INFO csbi; handle = GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(handle, &csbi); tamanho_do_console = csbi.dwSize.X * csbi.dwSize.Y; FillConsoleOutputCharacter(handle, ' ', tamanho_do_console, coord, NULL); SetConsoleCursorPosition(handle, coord); }
kao00 está offline   Responder com Quote
Resposta


Opções do Tópico

Regras de Mensagens
Você não pode criar tópicos
Você não pode postar respostas
Você não pode anexar arquivos
Você não pode editar suas mensagens

Código vB está Ligado
Smiles estão Ligado
Código [IMG] está Ligado
Código HTML está Desligado
Ir para...


Horários baseados na GMT -3. Agora são 9:14.