Desenvolvimento de um jogo de Tabuleiro!
Objetivo Implementar, usando a linguagem C, um jogo de tabuleiro. Jogo da soma No jogo da soma dois participantes disputam qual dos dois leva menos tempo para chegar ao final de uma trilha num tabuleiro. A trilha é formada por 30 casas numeradas de 0 a 29. Os participantes começam posicionados na casa 0 e jogam alternadamente. Para caminhar na trilha, o jogador da vez deve calcular uma soma. Serão apresentados N números inteiros, sendo N=(número da casa + 1) 2. Se o participante acertar a conta, serão lançados os dados e ele caminhará o número de casas indicados. Caso erre o resultado da soma, o jogador permanecerá no mesmo lugar. Exemplo: 0 1 2 3 4 5 6 7 8... Jogador 1 Jogador 2 Jogador da vez: 1 Quantidade de números a apresentar (N): (2+1)2 = 6 Números apresentados: 2+7+4+1+10+5 = 29 Valor digitado pelo usuário: 29 → os dados são lançados e o valor sorteado é 1 → jogador 1 vai para a casa 3. Na casa 3 existe um obstáculo que faz com que o jogador tenha que voltar 3 casas, o que faz com que ele fique posicionado novamente na casa 0 (zero). O jogador não pode retroceder além da casa 0 (zero). 0 1 2 3 4 5 6 7 8... Jogador 1 Jogador 2 Jogador da vez: 2 Quantidade de números a apresentar (N): (4+1)2 = 10 Números apresentados: 2+4+9+1+10+4+3+8+2+2 = 45 Valor digitado pelo usuário: 43 → o jogador permanece na mesma posição. Ganha o jogador que chegar primeiro na casa 29. Implementação A implementação do tabuleiro será feita usando um vetor de 30 posições, como mostrado abaixo: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Cada posição do vetor representa uma casa do tabuleiro. Cada jogador vai começar da casa de posição 0. O vetor deve ser preenchido com valores de controle, a saber: • 0 (zero) → casas normais • -1 → casas com obstáculo que faz o jogador retroceder 3 casas. Lembre-se que não se pode retroceder além da casa 0(zero). A escolha das cinco casas que terão valor -1 deve ser feita de forma aleatória (sorteio). As casas 0 (zero) e 29 não podem ter valor -1. Exemplo: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 0 0 -1 0 0 0 A cada jogada, o participante vai precisar realizar a soma de N números inteiros, sendo a quantidade de números N = (posição_do_jogador +1)2. O programa deve escolher aleatoriamente todos os N números a serem somados. Estes números devem ser mostrados um a um para o usuário, sendo apagados logo em seguida. Se o jogador acertar a soma, o dado será lançado para definir quantas posições o jogador vai andar. Mais uma vez, um número será sorteado de forma aleatória. Caso o participante erre a conta, perderá a vez, permanecendo no mesmo lugar. Quando um dos jogadores chegar ou ultrapassar a casa 29, o jogo deve ser encerrado mostrando uma mensagem informando quem foi o vencedor. Interface O programa será executado em modo texto. A trilha deve ser representada por caracteres mostrados sequencialmente na tela. Exemplo: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 0 0 -1 0 0 0 Jogador1 → casa 7 Jogador2 → casa 16 Tela (sugestões): ------1--------2-**------*-- ou ######@1######@#2#@@######@### A cada número mostrado ao usuário para a soma, a tela deve ser limpada (pode ser usado o comando system(“cls”). ) e redesenhada novamente com o número seguinte. Para esperar um tempo a fim de que o jogador leia o número mostrado, pode ser usado o comando _sleep(tempo em milisegundos). Para sortear um número, deve ser usado o comando rand() e srand(). Abaixo um programa em C que recebe um número e sorteia um valor que se encontra na faixa de valores que vai de 1 até o número recebido. #include <stdio.h> #include <stdlib.h> #include<time.h> main(){
int n, x. srand(time(NULL)). printf("Digite um número: "). scanf("%d", &n). x=(rand()%n)+1. printf("%d\n", x). system("pause"). }Discussão (1)
Carregando comentários...