Programa em C para ler teclas direcionais

13. Re: Programa em C para ler teclas direcionais

Emanuel
_EFS

(usa Slackware)

Enviado em 16/07/2011 - 15:42h

Olha, no problema fala que estão dispostas de maneira aletóri no tabuleiros moedas, ai eu tava pensando assim, quando o jogador escolher uma casa com moeda (ouro, prata ou bronze) tem que ficar marcado na casa, dai eu pensei em ficar as iniciais P, O, B. Agora ainda tem casas vazias e casas onde tem uma "parede", onde o jogador não pod avançar. Na teoria eu ja pensei em tudo, mas não hora de por no código eu me perco um pouco. Não sei se tenho que criar uma string para cada parte do tabuleiro, também me perco um pouco como vou combinar srand(), com os itens dentro de uma string. Por isso pedir uma luz aqui, de como fazer isso isso, e de onde eu começo estudando.


  


14. Re: Programa em C para ler teclas direcionais

Emanuel
_EFS

(usa Slackware)

Enviado em 16/07/2011 - 15:44h

AHHH tambem tava pensando em pedir pro jogador escolher a casa por coordenada tipo "coluna 1, linha 1", agora se ele quiser uma casa que não pode avançar, será que da pra tratar esse error só com if/else/if ?


15. Re: Programa em C para ler teclas direcionais

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/07/2011 - 16:55h

esse exemplo, armazena os caracteres P O B no tabuleiro e X que significa uma posiçao invalida:


#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main() {

char matriz[10][10]; //temos uma matriz de 10 linhas por 10 colunas
int opcao, i, j, dms;

printf("dimensao tabuleiro: ");
scanf("%d", &dms);

srand(time(NULL));

for(i=0; i<dms; i++) {

for(j=0; j<dms; j++) {

opcao = rand()%4; //significa que opcao recebera um valor entre 0 e 3

switch(opcao) {
case 0:
matriz[i][j] = 'O';
break;

case 1:
matriz[i][j] = 'P';
break;

case 2:
matriz[i][j] = 'B';
break;

case 3:
matriz[i][j] = 'X'; //que seria uma posiçao invalida
break;
}

}

}

//estes laços apenas imprimem o tabuleiro
for(i=0; i<dms; i++) {
for(j=0; j<dms; j++)
printf("%4c", matriz[i][j]);
printf("\n");
}

return 0;
}


pro usuario escolhe a casa é simples:

scanf("%d", &linha);
scanf("%d", &coluna);

e como estamos comparando um caractere e nao uma string voce poderia fazer

if(matriz[linha][coluna] == 'O') {
printf("ouro");
//sequencia
}


16. Re: Programa em C para ler teclas direcionais

Emanuel
_EFS

(usa Slackware)

Enviado em 24/07/2011 - 22:23h

Ah entendi, mas só agora vi que é melhor gerar números no tabuleiro do que caracteres porque ai ja posso atribuir o valor correspondente a moeda a uma variável que vai ficar somando a pontuação do jogador. Só que ai surgiu algumas dúvidas aqui.

- Como eu vo fazer p/ gerar números em posições aleatórias da minha matriz, mas em quantidade limitada? Por exemplo numa matriz 5x5, quero gerar 3 números 4, 4 números 6 e 5 números 8, mas em posições aleatórias da matriz.
Tava dando uma estudada na fução srand e rand mas elas geram números aleatórios, mas posições aleatórias de uma quantidade de números eu não consegui gerar. Caso alguém possa responder, agradeço desde já.


17. Re: Programa em C para ler teclas direcionais

Emanuel
_EFS

(usa Slackware)

Enviado em 25/07/2011 - 18:10h

Alguém tem alguma idéia de como eu posso fazer isto?




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts