Ir ao conteúdo

Posts recomendados

Postado

Turma,

 

recebi um desafio de programacao para uma vaga de emprego (a vaga eh de suporte, mas tem que entender a linguagem C) entao eles avaliarao minhas habilidades em programacao. Eles sabem que quando programei alguma coisa em C e C++ foi nos idos de 2002 entao nao lembro muita coisa.

 

Basicamente eh um jogo com 4 civilizacoes.

 

Cada civilicazao tem 2 atributos (Dinheiro e Forca de Ataque - que sao inicializados com 50.0 e 50)

 

A cada iteracao o sistema tem que pegar 2 civilizacoes aleatoriamente para "lutar" 

 

Vence que tiver o maior valor de Forca de Ataque ( Forca de Ataque += (Forca de Ataque * outro numero randonico escolhido pelo sistema)

 

Quem perde tem o seu Dinheiro diminuido (Dinheiro -= (Dinheiro * outro numero randomico escolhido pelo sistema)

 

Ao vencedor eu adiciono a diferenca do dinheiro sutraido do perdedor.

 

O jogo termina quando qualquer civilizacao chegar a 100,00 de dinheiro ou zera seu dinheiro.

 

Eu criei uma struct para as civilizacoes e estou impacado na parte de como faco para o programa escolher 2 valores e fazer as operacoes....

Alguma ideia ?

 

Agradeco qualquer ajuda!

 

<>

/* STRUCT FOR CIVILIZATION */

typedef struct {
 char name[20];
 int  Military_Force[30];
 double GDP;
 } CIVILIZATION;
 
 /* CIVILIZATION VARIABLES */
 
 CIVILIZATION ROMANS;   
 CIVILIZATION AZTECS;
 CIVILIZATION INDIANS;
 CIVILIZATION AMERICANS;
 
 /*INITIALIZING CIVILIZATION VARIABLES */
 
 strcpy(ROMANS.name, “Romans”);
 ROMANS.Military_Force = 50);
 ROMANS.GDP = 50.0;
 
  strcpy(AZTECS.name, “Aztecs”);
 AZTECS.Military_Force = 50);
 AZTECS.GDP = 50.0;
 
 strcpy(INDIANS.name, “Indians”);
 INDIANS.Military_Force = 50);
 INDIANS.GDP = 50.0;
 
 strcpy(AMERICANS.name, “Romans”);
 ROMANS.Military_Force = 50);
 ROMANS.GDP = 50.0;

 

<>

Postado

Não sei se era essa sua dúvida, mas você pode usar a função "srand" e "rand()" para gerar números aleatórios em c

#include <time.h>
  
srand (time(NULL));
  
int civilizacao1 = rand()%4;
int civilizacao2 = 0;
do
{
  civilizacao2 = rand()%4;
} while (civilizacao2 == civilizacao1);
  

O código acima vai gerar um número aleatório entre 0 e 3 para cada civilização e escolhe duas diferentes (civilizacao1 e civilizacao2).

Ai você define, por exemplo, 0 - ROMANOS, 1 - AZTECAS, etc.

Para gerar um número de ataque você pode usar o seguinte:

int Ataque = ROMANS.Military_Force + (rand() % 51); 

Ataque vai ser um número aleatório entre 50 e 100.

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!