Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <string.h>
- #include <locale.h>
- #include <stdio.h>
- #include <time.h>
- void pause (float);
- void pause (float delay1)
- {
- if(delay1<0.001)
- return;
- float inst1=0, inst2=0;
- inst1 = (float)clock()/(float)CLOCKS_PER_SEC;
- while(inst2-inst1<delay1) inst2 = (float)clock()/(float)CLOCKS_PER_SEC;
- return;
- }
- struct reg_personagem_fichaclasse1
- {
- int forca, hab, resist, armor, firep, pVIDA, pMANA, escolha;
- };
- struct reg_personagem_fichaclasse2
- {
- int forca, hab, resist, armor, firep, pVIDA, pMANA, escolha;
- };
- struct reg_personagem_fichaclasse3
- {
- int forca, hab, resist, armor, firep, pVIDA, pMANA, escolha;
- };
- struct reg_personagem_fichaclasse4
- {
- int forca, hab, resist, armor, firep, pVIDA, pMANA, escolha;
- };
- struct reg_personagem_fichaclasse5
- {
- int forca, hab, resist, armor, firep, pVIDA, pMANA, escolha;
- };
- struct reg_personagem_classe
- {
- struct reg_personagem_fichaclasse1 human;
- struct reg_personagem_fichaclasse2 elfF;
- struct reg_personagem_fichaclasse3 elfD;
- struct reg_personagem_fichaclasse4 dwarf;
- struct reg_personagem_fichaclasse5 half;
- };
- struct reg_personagem_tipos
- {
- int barba, busto, sex_appeal, etiqueta, streetwise;
- };
- struct reg_personagem_hist
- {
- int infancia, dif, consideracao;
- char descricao1[250], descricao2[250], descricao3[250], descricao4[250], descricao5[250];
- };
- struct reg_personagem
- {
- char nome[50];
- int sexo, idade, cabelo, olho, pele, corpo, street, sexappeal;
- float altura;
- struct reg_personagem_tipos tipo;
- struct reg_personagem_hist historia;
- struct reg_personagem_classe classe;
- };
- main()
- {
- srand(time(NULL));
- struct reg_personagem personagem;
- setlocale(LC_ALL, "Portuguese");
- int op, verifica, dado, tamanho=0;
- char personagemSTRCabelo[9], personagemSTROlho[6], personagemSTRPele[26], personagemSTRCorpo[68], personagemSTRBarba[23], personagemSTRBusto[8], personagemSTREtiqueta[100], personagemSTRVocacao[17];
- strcpy(personagem.nome, "\0");
- personagem.idade=0;
- personagem.sexo=0;
- personagem.cabelo=0;
- personagem.olho=0;
- personagem.pele=0;
- personagem.corpo=0;
- personagem.altura=0;
- personagem.tipo.barba=0;
- personagem.tipo.busto=0;
- personagem.tipo.sex_appeal=0;
- personagem.tipo.etiqueta=0;
- personagem.historia.infancia=0;
- personagem.historia.dif=0;
- personagem.historia.consideracao=0;
- strcpy(personagem.historia.descricao1, "\0");
- strcpy(personagem.historia.descricao2, "\0");
- strcpy(personagem.historia.descricao3, "\0");
- strcpy(personagem.historia.descricao4, "\0");
- strcpy(personagem.historia.descricao5, "\0");
- personagem.classe.human.escolha=0;
- personagem.classe.elfF.escolha=0;
- personagem.classe.elfD.escolha=0;
- personagem.classe.dwarf.escolha=0;
- personagem.classe.half.escolha=0;
- personagem.classe.human.forca=5;
- personagem.classe.human.hab=3;
- personagem.classe.human.resist=2;
- personagem.classe.human.armor=2;
- personagem.classe.human.firep=2;
- personagem.classe.human.pVIDA=5;
- personagem.classe.human.pMANA=5;
- personagem.classe.elfF.forca=2;
- personagem.classe.elfF.hab=5;
- personagem.classe.elfF.resist=1;
- personagem.classe.elfF.armor=1;
- personagem.classe.elfF.firep=2;
- personagem.classe.elfF.pVIDA=3;
- personagem.classe.elfF.pMANA=5;
- personagem.classe.elfD.forca=1;
- personagem.classe.elfD.hab=2;
- personagem.classe.elfD.resist=1;
- personagem.classe.elfD.armor=1;
- personagem.classe.elfD.firep=7;
- personagem.classe.elfD.pVIDA=2;
- personagem.classe.elfD.pMANA=10;
- personagem.classe.dwarf.forca=7;
- personagem.classe.dwarf.hab=1;
- personagem.classe.dwarf.resist=5;
- personagem.classe.dwarf.armor=4;
- personagem.classe.dwarf.firep=1;
- personagem.classe.dwarf.pVIDA=8;
- personagem.classe.dwarf.pMANA=1;
- personagem.classe.half.forca=1;
- personagem.classe.half.hab=7;
- personagem.classe.half.resist=1;
- personagem.classe.half.armor=1;
- personagem.classe.half.firep=7;
- personagem.classe.half.pVIDA=3;
- personagem.classe.half.pMANA=2;
- printf("Bem-vindo ao joguinho.\n");
- system("pause");
- system("ClS");
- while(tamanho<6)
- {
- printf("Digite o nome do seu personagem:\n");
- fflush(stdin);
- gets(personagem.nome);
- tamanho = strlen(personagem.nome);
- if(tamanho<6)
- printf("O nome do personagem precisa ter mais do que 5 caracteres.\n");
- }
- while(personagem.idade<15 || personagem.idade>99)
- {
- printf("\nDigite a idade do seu personagem:\n");
- scanf("%d", &personagem.idade);
- if(personagem.idade<15)
- printf("Personagem muito novo.\n");
- else if(personagem.idade>99)
- printf("Personagem muito velho.\n");
- }
- while(personagem.sexo!=1 || personagem.sexo!=2)
- {
- printf("\nQual o sexo do seu personagem?\n");
- printf("Opção 1: Masculino.\n");
- printf("Opção 2: Feminino.\n");
- scanf("%d", &personagem.sexo);
- if(personagem.sexo<1 || personagem.sexo>2)
- printf("Opção inválida.\n\n");
- else
- break;
- }
- system("ClS");
- menu_inicial:
- printf("%s, customize seu personagem.\nTODAS as opções abaixo impactarão do futuro do seu personagem.\n\n", personagem.nome);
- printf("Opção 1: Aparência.\n");
- printf("Opção 2: História.\n");
- printf("Opção 3: Atributos e vocações.\n");
- printf("Opção 4: Ajuda.\n");
- printf("Opção 5: Pular e gerar personagem aleatório (não recomendado).\n");
- printf("Opção 6: Tudo pronto, vamos começar.\n");
- scanf("%d", &op);
- system("ClS");
- do
- {
- switch(op)
- {
- case 1:
- do
- {
- printf("Opção 1: Cor do cabelo.\n");
- printf("Opção 2: Cor dos olhos.\n");
- printf("Opção 3: Cor da pele.\n");
- printf("Opção 4: Peso e musculatura.\n");
- printf("Opção 5: Atributos de beleza.\n");
- printf("Opção 6: Voltar ao menu anterior.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- system("ClS");
- printf("Qual será a cor dos cabelos do seu personagem?\n\n");
- printf("Opção 1: Loiro.\n");
- printf("Opção 2: Castanho.\n");
- printf("Opção 3: Preto.\n");
- printf("Opção 4: Ruivo.\n");
- printf("Opção 5: Careca.\n");
- scanf("%d", &personagem.cabelo);
- switch(personagem.cabelo)
- {
- case 1:
- strcpy(personagemSTRCabelo, "Loiro");
- break;
- case 2:
- strcpy(personagemSTRCabelo, "Castanho");
- break;
- case 3:
- strcpy(personagemSTRCabelo, "Preto");
- break;
- case 4:
- strcpy(personagemSTRCabelo, "Ruivo");
- break;
- case 5:
- strcpy(personagemSTRCabelo, "Careca");
- break;
- default:
- printf("Opção inválida.\n\n");
- personagem.cabelo=0;
- goto menu_inicial;
- }
- case 2:
- system("ClS");
- printf("Qual será a cor dos olhos do seu personagem?\n\n");
- printf("Opção 1: Azul.\n");
- printf("Opção 2: Mel.\n");
- printf("Opção 3: Preto.\n");
- printf("Opção 4: Verde.\n");
- printf("Opção 5: Cinza.\n");
- scanf("%d", &personagem.olho);
- switch(personagem.olho)
- {
- case 1:
- strcpy(personagemSTROlho, "Azul");
- break;
- case 2:
- strcpy(personagemSTROlho, "Mel");
- break;
- case 3:
- strcpy(personagemSTROlho, "Preto");
- break;
- case 4:
- strcpy(personagemSTROlho, "Verde");
- break;
- case 5:
- strcpy(personagemSTROlho, "Cinza");
- break;
- default:
- printf("Opção inválida.\n\n");
- personagem.olho=0;
- goto menu_inicial;
- }
- case 3:
- system("ClS");
- printf("Qual será a cor da pele do seu personagem?\n\n");
- printf("Opção 1: Caucasiano (muito claro).\n");
- printf("Opção 2: Caucasiano (mediterrâneo).\n");
- printf("Opção 3: Pardo.\n");
- printf("Opção 4: Negro.\n");
- scanf("%d", &personagem.pele);
- switch(personagem.pele)
- {
- case 1:
- strcpy(personagemSTRPele, "Caucasiano (muito claro)");
- break;
- case 2:
- strcpy(personagemSTRPele, "Caucasiano (mediterrâneo)");
- break;
- case 3:
- strcpy(personagemSTRPele, "Pardo");
- break;
- case 4:
- strcpy(personagemSTRPele, "Negro");
- break;
- default:
- printf("Opção inválida.\n\n");
- personagem.pele=0;
- goto menu_inicial;
- }
- case 4:
- system("ClS");
- printf("Como será o corpo do seu personagem?\n\n");
- printf("Opção 1: Obeso com pouquíssima massa muscular.\n");
- printf("Opção 2: Levemente obeso e com pouca massa muscular.\n");
- printf("Opção 3: Magro (skynny) com pouca massa muscular.\n");
- printf("Opção 4: Encorpado, magro, com razoável nível de massa muscular.\n");
- printf("Opção 5: Encorpado, magro e forte, com considerável nível de massa muscular.\n");
- printf("Opção 6: Forte e com muita massa muscular.\n");
- scanf("%d", &personagem.corpo);
- switch(personagem.corpo)
- {
- case 1:
- strcpy(personagemSTRCorpo, "Obeso com pouquíssima massa muscular");
- break;
- case 2:
- strcpy(personagemSTRCorpo, "Levemente obeso e com pouca massa muscular");
- break;
- case 3:
- strcpy(personagemSTRCorpo, "Magro (skynny) com pouca massa muscular");
- break;
- case 4:
- strcpy(personagemSTRCorpo, "Encorpado, magro, com razoável nível de massa muscular");
- break;
- case 5:
- strcpy(personagemSTRCorpo, "Encorpado, magro e forte, com considerável nível de massa\nmuscular");
- break;
- case 6:
- strcpy(personagemSTRCorpo, "Forte e com muita massa muscular");
- break;
- default:
- printf("Opção inválida.\n\n");
- personagem.corpo=0;
- goto menu_inicial;
- }
- case 5:
- system("ClS");
- printf("Atributos de beleza:\n");
- printf("Opção 1: Barba (apenas personagens masculinos).\n");
- printf("Opção 2: Etiqueta e Sagacidade.\n");
- printf("Opção 3: Altura.\n");
- printf("Opção 4: Busto (apenas personagens femininos).\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- if(personagem.sexo==2)
- {
- printf("Apenas personagens masculinos podem escolher a barba.\nPersonagens femininos não possuem barba.\n\n");
- goto menu_inicial;
- }
- else
- {
- system("ClS");
- printf("Escolha o tipo de barba do seu personagem.\nA barba terá a mesma cor do cabelo.\n\n");
- printf("Opção 1: Sem barba.\n");
- printf("Opção 2: Barba rala (mal feita).\n");
- printf("Opção 3: Barba cheia, pequena.\n");
- printf("Opção 4: Barba cheia, média.\n");
- printf("Opção 5: Barba cheia, grande.\n");
- scanf("%d", &personagem.tipo.barba);
- switch(personagem.tipo.barba)
- {
- case 1:
- strcpy(personagemSTRBarba, "Sem barba");
- break;
- case 2:
- strcpy(personagemSTRBarba, "Barba rala (mal feita)");
- break;
- case 3:
- strcpy(personagemSTRBarba, "Barba cheia, pequena");
- break;
- case 4:
- strcpy(personagemSTRBarba, "Barba cheia, média");
- break;
- case 5:
- strcpy(personagemSTRBarba, "Barba cheia, grande");
- break;
- default:
- printf("Opção inválida.\n\n");
- personagem.tipo.barba=0;
- goto menu_inicial;
- }
- }
- case 2:
- system("ClS");
- printf("Escolha o nível de educação/sagacidade do seu personagem.\n\n");
- printf("Opção 1: Ignorante, nenhum conhecimento específico e\nnada de streetwise.\n");
- printf("Opção 2: Educação informal, pouco ou nenhum conhecimento específico,\ncom pouco streetwise (médio).\n");
- printf("Opção 3: Educação informal, mas sabe como a banda toca, alto streetwise.\n");
- printf("Opção 4: Educação formal, tem conhecimento específico, mas apenas\nsuperficialmente, quase nenhum streetwise.\n");
- printf("Opção 5: Educação formal, alto conhecimento específico, nenhum streetwise.\n");
- scanf("%d", &personagem.tipo.etiqueta);
- switch(personagem.tipo.etiqueta)
- {
- case 1:
- strcpy(personagemSTREtiqueta, "Ignorante, nenhum conhecimento específico e nada de\nstreetwise");
- break;
- case 2:
- strcpy(personagemSTREtiqueta, "Educação informal, pouco ou nenhum conhecimento\nespecífico, com pouco streetwise (médio)");
- break;
- case 3:
- strcpy(personagemSTREtiqueta, "Educação informal, mas sabe como a banda toca, alto\nstreetwise");
- break;
- case 4:
- strcpy(personagemSTREtiqueta, "Educação formal, tem conhecimento específico, mas apenas\nsuperficialmente, quase nenhum streetwise");
- break;
- case 5:
- strcpy(personagemSTREtiqueta, "Educação formal, alto conhecimento específico, nenhum\nstreetwise");
- break;
- default:
- printf("Opção inválida.\n\n");
- personagem.tipo.etiqueta=0;
- goto menu_inicial;
- }
- case 3:
- system("ClS");
- printf("Digite a altura do seu personagem.\n\n");
- printf("Não digite m ou cm no final do número.\nNão digite ponto, utilize vírgula.\n");
- printf("Exemplo de altura aceita: 1,75\n");
- printf("Altura mínima: 1.5 Altura máxima: 2.1\n");
- scanf("%f", &personagem.altura);
- if(personagem.altura<1.5)
- {
- printf("Personagem muito baixo.\n");
- personagem.altura=0;
- goto menu_inicial;
- }
- else if(personagem.altura>2.1)
- {
- printf("Personagem muito alto.\n");
- personagem.altura=0;
- goto menu_inicial;
- }
- break;
- case 4:
- if(personagem.sexo==1)
- {
- printf("Apenas personagens femininos podem escolher o busto.\nPersonagens masculinos não possuem busto.\n\n");
- goto menu_inicial;
- }
- else
- {
- system("ClS");
- printf("Escolha o tipo de busto do seu personagem.\n\n");
- printf("Opção 1: Pequeno.\n");
- printf("Opção 2: Médio.\n");
- printf("Opção 3: Grande.\n");
- scanf("%d", &personagem.tipo.busto);
- switch(personagem.tipo.busto)
- {
- case 1:
- strcpy(personagemSTRBusto, "Pequeno");
- goto menu_inicial;
- case 2:
- strcpy(personagemSTRBusto, "Médio");
- goto menu_inicial;
- case 3:
- strcpy(personagemSTRBusto, "Grande");
- goto menu_inicial;
- default:
- printf("Opção inválida.\n\n");
- personagem.tipo.busto=0;
- goto menu_inicial;
- }
- }
- default:
- printf("Opção inválida.\n");
- goto menu_inicial;
- }
- case 6:
- system("ClS");
- goto menu_inicial;
- default:
- system("ClS");
- printf("Opção inválida.\n\n");
- }
- }while(op!=6);
- case 2:
- do
- {
- printf("Defina a história do seu personagem.\n");
- printf("Atenção, alguns detalhes da história serão escolhidos aleatoriamente\nbaseados na aparência e atributos do seu personagem.\n\n");
- printf("Opção 1: Infância e adolescência.\n");
- printf("Opção 2: Morte de alguém próximo ao personagem.\n");
- printf("Opção 3: História da arma do personagem.\n");
- printf("Opção 4: Voltar ao menu anterior.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- system("ClS");
- printf("Defina a história da infância e adolescência do seu personagem.\n\n");
- printf("Opção 1: Abusos na infância.\n");
- printf("Opção 2: Dificuldades na infância.\n");
- printf("Opção 3: Grandes experiências na infância.\n");
- printf("Opção 4: Voltar ao menu anterior.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- system("ClS");
- printf("Quais tipos de abusos o seu personagem sofreu na infância?\nEscolha somente UMA opção.\n\n");
- printf("Opção 1: Abusos sexuais.\n");
- printf("Opção 2: Abusos de trabalhos.\n");
- printf("Opção 3: Nenhum abuso.\n");
- scanf("%d", &personagem.historia.infancia);
- if(personagem.historia.infancia<1 || personagem.historia.infancia>3)
- {
- system("ClS");
- printf("Opção inválida.\n\n");
- personagem.historia.infancia=0;
- goto menu_inicial;
- }
- else if(personagem.historia.infancia==1 || personagem.historia.infancia==2)
- {
- system("ClS");
- printf("Descreva o abuso do seu personagem na infância:\n");
- fflush(stdin);
- gets(personagem.historia.descricao1);
- }
- else
- strcpy(personagem.historia.descricao1, "Não tenho nenhuma história sobre isso.");
- break;
- case 2:
- system("ClS");
- printf("Quais tipos de dificuldades o seu personagem sofreu na infância?\nEscolha somente UMA opção.\n\n");
- printf("Opção 1: Financeira.\n");
- printf("Opção 2: Fome.\n");
- printf("Opção 3: Bullying.\n");
- printf("Opção 4: Nenhuma dificuldade.\n");
- scanf("%d", &personagem.historia.dif);
- if(personagem.historia.dif<1 || personagem.historia.dif>4)
- {
- system("ClS");
- printf("Opção inválida.\n\n");
- personagem.historia.dif=0;
- goto menu_inicial;
- }
- else if(personagem.historia.dif>=1 && personagem.historia.dif<=3)
- {
- system("ClS");
- printf("Descreva a dificuldade do seu personagem da infância:\n");
- fflush(stdin);
- gets(personagem.historia.descricao2);
- }
- else
- strcpy(personagem.historia.descricao2, "Não tenho nenhuma história sobre isso.");
- break;
- case 3:
- system("ClS");
- printf("Quais foram as grandes experiências que seu personagem teve na infância?\nEscolha somente UMA opção.\n\n");
- printf("Opção 1: Um grande mestre de magia.\n");
- printf("Opção 2: Um grande mestre de luta corpo-a-corpo.\n");
- printf("Opção 3: Um grande mestre de luta à distância.\n");
- printf("Opção 4: Nenhuma grande experiência.\n");
- scanf("%d", &personagem.historia.consideracao);
- if(personagem.historia.consideracao<1 || personagem.historia.consideracao>4)
- {
- system("ClS");
- printf("Opção inválida.\n\n");
- personagem.historia.consideracao=0;
- goto menu_inicial;
- }
- else if(personagem.historia.consideracao>=1 && personagem.historia.consideracao<=3)
- {
- system("ClS");
- printf("Descreva a experiência do seu personagem:\n");
- fflush(stdin);
- gets(personagem.historia.descricao3);
- }
- else
- strcpy(personagem.historia.descricao3, "Não tenho nenhuma história sobre isso.");
- break;
- case 4:
- system("ClS");
- goto menu_inicial;
- default:
- system("ClS");
- printf("Opção inválida.\n\n");
- goto menu_inicial;
- }
- break;
- case 2:
- system("ClS");
- printf("Houve alguma morte traumatizante na vida do personagem?\n\n");
- printf("Opção 1: Sim.\n");
- printf("Opção 2: Não.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- system("ClS");
- printf("Descreva a morte que traumatizou o personagem:\n");
- fflush(stdin);
- gets(personagem.historia.descricao4);
- goto menu_inicial;
- case 2:
- system("ClS");
- strcpy(personagem.historia.descricao4, "Não tenho nenhuma história sobre isso.");
- goto menu_inicial;
- default:
- system("ClS");
- printf("Opção inválida.\n\n");
- goto menu_inicial;
- }
- case 3:
- system("ClS");
- printf("Descreva a arma do seu personagem.\nEscolha somente UMA opção.\n\n");
- printf("Opção 1: Histórias de antigas guerras.\n");
- printf("Opção 2: História sobre como ganhou a arma.\n");
- printf("Opção 3: Nenhuma história.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- printf("Descreva as histórias de antigas batalhas da arma do seu personagem:\n");
- fflush(stdin);
- gets(personagem.historia.descricao5);
- break;
- case 2:
- printf("Descreva a história de como conseguiu sua arma:\n");
- fflush(stdin);
- gets(personagem.historia.descricao5);
- case 3:
- system("ClS");
- strcpy(personagem.historia.descricao5, "Não tenho nenhuma história sobre isso.");
- goto menu_inicial;
- default:
- system("ClS");
- printf("Opção inválida.\n\n");
- goto menu_inicial;
- }
- case 4:
- system("ClS");
- goto menu_inicial;
- default:
- system("ClS");
- printf("Opção inválida.\n\n");
- goto menu_inicial;
- }
- }while(op!=4);
- case 3:
- do
- {
- system("ClS");
- printf("Defina os atributos e vocações do seu personagem.\n\n====================\n");
- printf("Classe: HUMANO\n");
- printf("Força base: 5\n");
- printf("Habilidade base: 3\n");
- printf("Resistência base: 2\n");
- printf("Armadura base: 2\n");
- printf("Poder de Fogo base: 2\n");
- printf("Pontos de Vida base: 5\n");
- printf("Pontos de Mana base: 5\n");
- printf("Caracteristicas: Classe intermediária entre guerreiro, mago e\narqueiro (ataque à distância).\n");
- printf("====================\n");
- printf("Classe: ELFO DA FLORESTA\n");
- printf("Força base: 2\n");
- printf("Habilidade base: 5\n");
- printf("Resistência base: 1\n");
- printf("Armadura base: 1\n");
- printf("Poder de Fogo base: 2\n");
- printf("Pontos de Vida base: 3\n");
- printf("Pontos de Mana base: 5\n");
- printf("Caracteristicas: Classe focada em ataque à distância.\n");
- printf("====================\n");
- printf("Classe: DARK ELFO\n");
- printf("Força base: 1\n");
- printf("Habilidade base: 2\n");
- printf("Resistência base: 1\n");
- printf("Armadura base: 1\n");
- printf("Poder de Fogo base: 7\n");
- printf("Pontos de Vida base: 2\n");
- printf("Pontos de Mana base: 10\n");
- printf("Caracteristicas: Classe focada em magias.\n");
- printf("====================\n");
- printf("Classe: DWARF\n");
- printf("Força base: 7\n");
- printf("Habilidade base: 1\n");
- printf("Resistência base: 5\n");
- printf("Armadura base: 4\n");
- printf("Poder de Fogo base: 1\n");
- printf("Pontos de Vida base: 8\n");
- printf("Pontos de Mana base: 1\n");
- printf("Caracteristicas: Classe focada em combate corpo-a-corpo.\n");
- printf("====================\n");
- printf("Classe: HALFLING\n");
- printf("Força base: 1\n");
- printf("Habilidade base: 7\n");
- printf("Resistência base: 1\n");
- printf("Armadura base: 1\n");
- printf("Poder de Fogo base: 1\n");
- printf("Pontos de Vida base: 3\n");
- printf("Pontos de Mana base: 2\n");
- printf("Caracteristicas: Classe focada em ações rápidas, como furtos e distrações.\n\n");
- printf("Escolha sua classe.\n");
- printf("Opção 1: Humano.\n");
- printf("Opção 2: Elfo da Floresta.\n");
- printf("Opção 3: Dark Elfo.\n");
- printf("Opção 4: Dwarf.\n");
- printf("Opção 5: Halfling.\n");
- printf("Opção 6: Voltar ao menu anterior.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- system("ClS");
- personagem.classe.human.escolha=1;
- personagem.classe.elfF.escolha=0;
- personagem.classe.elfD.escolha=0;
- personagem.classe.dwarf.escolha=0;
- personagem.classe.half.escolha=0;
- personagem.classe.human.forca=5;
- personagem.classe.human.hab=3;
- personagem.classe.human.resist=2;
- personagem.classe.human.armor=2;
- personagem.classe.human.firep=2;
- personagem.classe.human.pVIDA=5;
- personagem.classe.human.pMANA=5;
- strcpy(personagemSTRVocacao, "Humano");
- printf("Certo, humano, monte sua ficha.\n\n");
- printf("Um d20 dirá quantos pontos extras seu personagem possuí para serem\ndistribuídos.\n");
- do{dado = rand() % 20 + 1;}while(dado<=0 || dado >20);
- printf("Resultado do d20: %d\n", dado);
- do{
- printf("Você tem %d pontos para distribuir na sua ficha.\n\n", dado);
- printf("Atenção, ao escolher uma opção abaixo, você perde um ponto de distribuição,\nmas adiciona um ponto na opção escolhida.\n");
- printf("Opção 1: Força.\n");
- printf("Opção 2: Habilidade.\n");
- printf("Opção 3: Resistência.\n");
- printf("Opção 4: Armadura.\n");
- printf("Opção 5: Poder de Fogo.\n");
- printf("Opção 6: Pontos de Vida.\n");
- printf("Opção 7: Pontos de Mana.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- printf("Você adicionou 1 ponto de distribuição em Força.\n");
- personagem.classe.human.forca=personagem.classe.human.forca+1;
- dado--;
- break;
- case 2:
- printf("Você adicionou 1 ponto de distribuição em Habilidade.\n");
- personagem.classe.human.hab=personagem.classe.human.hab+1;
- dado--;
- break;
- case 3:
- printf("Você adicionou 1 ponto de distribuição em Resistência.\n");
- personagem.classe.human.resist=personagem.classe.human.resist+1;
- dado--;
- break;
- case 4:
- printf("Você adicionou 1 ponto de distribuição em Armadura.\n");
- personagem.classe.human.armor=personagem.classe.human.armor+1;
- dado--;
- break;
- case 5:
- printf("Você adicionou 1 ponto de distribuição em Poder de Fogo.\n");
- personagem.classe.human.firep=personagem.classe.human.firep+1;
- dado--;
- break;
- case 6:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Vida.\n");
- personagem.classe.human.pVIDA=personagem.classe.human.pVIDA+1;
- dado--;
- break;
- case 7:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Mana.\n");
- personagem.classe.human.pMANA=personagem.classe.human.pMANA+1;
- dado--;
- break;
- default:
- printf("Opção inválida.\n\n");
- }
- }while(dado!=0);
- if (dado==0)
- {
- system("ClS");
- printf("\nVocê distribuiu todos os pontos.\nNão retorne ao menu de distribuição ou sua ficha será substituída por uma nova.\n\n");
- goto menu_inicial;
- }
- break;
- case 2:
- system("ClS");
- personagem.classe.human.escolha=0;
- personagem.classe.elfF.escolha=1;
- personagem.classe.elfD.escolha=0;
- personagem.classe.dwarf.escolha=0;
- personagem.classe.half.escolha=0;
- personagem.classe.elfF.forca=2;
- personagem.classe.elfF.hab=5;
- personagem.classe.elfF.resist=1;
- personagem.classe.elfF.armor=1;
- personagem.classe.elfF.firep=2;
- personagem.classe.elfF.pVIDA=3;
- personagem.classe.elfF.pMANA=5;
- strcpy(personagemSTRVocacao, "Elfo da Floresta");
- printf("Nai anar kaluva tielyanna, elfo da floresta, monte sua ficha.\n\n");
- printf("Um d20 dirá quantos pontos extras seu personagem possuí para serem\ndistribuídos.\n");
- do{dado = rand() % 20 + 1;}while(dado<=0 || dado >20);
- printf("Resultado do d20: %d\n", dado);
- do{
- printf("Você tem %d pontos para distribuir na sua ficha.\n\n", dado);
- printf("Atenção, ao escolher uma opção abaixo, você perde um ponto de distribuição,\nmas adiciona um ponto na opção escolhida.\n");
- printf("Opção 1: Força.\n");
- printf("Opção 2: Habilidade.\n");
- printf("Opção 3: Resistência.\n");
- printf("Opção 4: Armadura.\n");
- printf("Opção 5: Poder de Fogo.\n");
- printf("Opção 6: Pontos de Vida.\n");
- printf("Opção 7: Pontos de Mana.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- printf("Você adicionou 1 ponto de distribuição em Força.\n");
- personagem.classe.elfF.forca=personagem.classe.elfF.forca+1;
- dado--;
- break;
- case 2:
- printf("Você adicionou 1 ponto de distribuição em Habilidade.\n");
- personagem.classe.elfF.hab=personagem.classe.elfF.hab+1;
- dado--;
- break;
- case 3:
- printf("Você adicionou 1 ponto de distribuição em Resistência.\n");
- personagem.classe.elfF.resist=personagem.classe.elfF.resist+1;
- dado--;
- break;
- case 4:
- printf("Você adicionou 1 ponto de distribuição em Armadura.\n");
- personagem.classe.elfF.armor=personagem.classe.elfF.armor+1;
- dado--;
- break;
- case 5:
- printf("Você adicionou 1 ponto de distribuição em Poder de Fogo.\n");
- personagem.classe.elfF.firep=personagem.classe.elfF.firep+1;
- dado--;
- break;
- case 6:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Vida.\n");
- personagem.classe.elfF.pVIDA=personagem.classe.elfF.pVIDA+1;
- dado--;
- break;
- case 7:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Mana.\n");
- personagem.classe.elfF.pMANA=personagem.classe.elfF.pMANA+1;
- dado--;
- break;
- default:
- printf("Opção inválida.\n\n");
- }
- }while(dado!=0);
- if (dado==0)
- {
- system("ClS");
- printf("\nVocê distribuiu todos os pontos.\nNão retorne ao menu de distribuição ou sua ficha será substituída por uma nova.\n\n");
- goto menu_inicial;
- }
- break;
- case 3:
- system("ClS");
- personagem.classe.human.escolha=0;
- personagem.classe.elfF.escolha=0;
- personagem.classe.elfD.escolha=1;
- personagem.classe.dwarf.escolha=0;
- personagem.classe.half.escolha=0;
- personagem.classe.elfD.forca=1;
- personagem.classe.elfD.hab=2;
- personagem.classe.elfD.resist=1;
- personagem.classe.elfD.armor=1;
- personagem.classe.elfD.firep=7;
- personagem.classe.elfD.pVIDA=2;
- personagem.classe.elfD.pMANA=10;
- strcpy(personagemSTRVocacao, "Dark Elfo");
- printf("Harië malta úva carë nér anwavë alya, dark elfo, monte sua ficha.\n\n");
- printf("Um d20 dirá quantos pontos extras seu personagem possuí para serem\ndistribuídos.\n");
- do{dado = rand() % 20 + 1;}while(dado<=0 || dado >20);
- printf("Resultado do d20: %d\n", dado);
- do{
- printf("Você tem %d pontos para distribuir na sua ficha.\n\n", dado);
- printf("Atenção, ao escolher uma opção abaixo, você perde um ponto de distribuição,\nmas adiciona um ponto na opção escolhida.\n");
- printf("Opção 1: Força.\n");
- printf("Opção 2: Habilidade.\n");
- printf("Opção 3: Resistência.\n");
- printf("Opção 4: Armadura.\n");
- printf("Opção 5: Poder de Fogo.\n");
- printf("Opção 6: Pontos de Vida.\n");
- printf("Opção 7: Pontos de Mana.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- printf("Você adicionou 1 ponto de distribuição em Força.\n");
- personagem.classe.elfD.forca=personagem.classe.elfD.forca+1;
- dado--;
- break;
- case 2:
- printf("Você adicionou 1 ponto de distribuição em Habilidade.\n");
- personagem.classe.elfD.hab=personagem.classe.elfD.hab+1;
- dado--;
- break;
- case 3:
- printf("Você adicionou 1 ponto de distribuição em Resistência.\n");
- personagem.classe.elfD.resist=personagem.classe.elfD.resist+1;
- dado--;
- break;
- case 4:
- printf("Você adicionou 1 ponto de distribuição em Armadura.\n");
- personagem.classe.elfD.armor=personagem.classe.elfD.armor+1;
- dado--;
- break;
- case 5:
- printf("Você adicionou 1 ponto de distribuição em Poder de Fogo.\n");
- personagem.classe.elfD.firep=personagem.classe.elfD.firep+1;
- dado--;
- break;
- case 6:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Vida.\n");
- personagem.classe.elfD.pVIDA=personagem.classe.elfD.pVIDA+1;
- dado--;
- break;
- case 7:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Mana.\n");
- personagem.classe.elfD.pMANA=personagem.classe.elfD.pMANA+1;
- dado--;
- break;
- default:
- printf("Opção inválida.\n\n");
- }
- }while(dado!=0);
- if (dado==0)
- {
- system("ClS");
- printf("\nVocê distribuiu todos os pontos.\nNão retorne ao menu de distribuição ou sua ficha será substituída por uma nova.\n\n");
- goto menu_inicial;
- }
- break;
- case 4:
- system("ClS");
- personagem.classe.human.escolha=0;
- personagem.classe.elfF.escolha=0;
- personagem.classe.elfD.escolha=0;
- personagem.classe.dwarf.escolha=1;
- personagem.classe.half.escolha=0;
- personagem.classe.dwarf.forca=7;
- personagem.classe.dwarf.hab=1;
- personagem.classe.dwarf.resist=5;
- personagem.classe.dwarf.armor=4;
- personagem.classe.dwarf.firep=1;
- personagem.classe.dwarf.pVIDA=8;
- personagem.classe.dwarf.pMANA=1;
- strcpy(personagemSTRVocacao, "Dwarf");
- printf("Hail Durin, anão, monte sua ficha.\n\n");
- printf("Um d20 dirá quantos pontos extras seu personagem possuí para serem\ndistribuídos.\n");
- do{dado = rand() % 20 + 1;}while(dado<=0 || dado >20);
- printf("Resultado do d20: %d\n", dado);
- do{
- printf("Você tem %d pontos para distribuir na sua ficha.\n\n", dado);
- printf("Atenção, ao escolher uma opção abaixo, você perde um ponto de distribuição,\nmas adiciona um ponto na opção escolhida.\n");
- printf("Opção 1: Força.\n");
- printf("Opção 2: Habilidade.\n");
- printf("Opção 3: Resistência.\n");
- printf("Opção 4: Armadura.\n");
- printf("Opção 5: Poder de Fogo.\n");
- printf("Opção 6: Pontos de Vida.\n");
- printf("Opção 7: Pontos de Mana.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- printf("Você adicionou 1 ponto de distribuição em Força.\n");
- personagem.classe.dwarf.forca=personagem.classe.dwarf.forca+1;
- dado--;
- break;
- case 2:
- printf("Você adicionou 1 ponto de distribuição em Habilidade.\n");
- personagem.classe.dwarf.hab=personagem.classe.dwarf.hab+1;
- dado--;
- break;
- case 3:
- printf("Você adicionou 1 ponto de distribuição em Resistência.\n");
- personagem.classe.dwarf.resist=personagem.classe.dwarf.resist+1;
- dado--;
- break;
- case 4:
- printf("Você adicionou 1 ponto de distribuição em Armadura.\n");
- personagem.classe.dwarf.armor=personagem.classe.dwarf.armor+1;
- dado--;
- break;
- case 5:
- printf("Você adicionou 1 ponto de distribuição em Poder de Fogo.\n");
- personagem.classe.dwarf.firep=personagem.classe.dwarf.firep+1;
- dado--;
- break;
- case 6:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Vida.\n");
- personagem.classe.dwarf.pVIDA=personagem.classe.dwarf.pVIDA+1;
- dado--;
- break;
- case 7:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Mana.\n");
- personagem.classe.dwarf.pMANA=personagem.classe.dwarf.pMANA+1;
- dado--;
- break;
- default:
- printf("Opção inválida.\n\n");
- }
- }while(dado!=0);
- if (dado==0)
- {
- system("ClS");
- printf("\nVocê distribuiu todos os pontos.\nNão retorne ao menu de distribuição ou sua ficha será substituída por uma nova.\n\n");
- goto menu_inicial;
- }
- break;
- case 5:
- system("ClS");
- personagem.classe.human.escolha=0;
- personagem.classe.elfF.escolha=0;
- personagem.classe.elfD.escolha=0;
- personagem.classe.dwarf.escolha=0;
- personagem.classe.half.escolha=1;
- personagem.classe.half.forca=1;
- personagem.classe.half.hab=7;
- personagem.classe.half.resist=1;
- personagem.classe.half.armor=1;
- personagem.classe.half.firep=7;
- personagem.classe.half.pVIDA=3;
- personagem.classe.half.pMANA=2;
- strcpy(personagemSTRVocacao, "Halfling");
- printf("A beleza está nas pequenas coisas, pequeno, monte sua ficha.\n\n");
- printf("Um d20 dirá quantos pontos extras seu personagem possuí para serem\ndistribuídos.\n");
- do{dado = rand() % 20 + 1;}while(dado<=0 || dado >20);
- printf("Resultado do d20: %d\n", dado);
- do{
- printf("Você tem %d pontos para distribuir na sua ficha.\n\n", dado);
- printf("Atenção, ao escolher uma opção abaixo, você perde um ponto de distribuição,\nmas adiciona um ponto na opção escolhida.\n");
- printf("Opção 1: Força.\n");
- printf("Opção 2: Habilidade.\n");
- printf("Opção 3: Resistência.\n");
- printf("Opção 4: Armadura.\n");
- printf("Opção 5: Poder de Fogo.\n");
- printf("Opção 6: Pontos de Vida.\n");
- printf("Opção 7: Pontos de Mana.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- printf("Você adicionou 1 ponto de distribuição em Força.\n");
- personagem.classe.half.forca=personagem.classe.half.forca+1;
- dado--;
- break;
- case 2:
- printf("Você adicionou 1 ponto de distribuição em Habilidade.\n");
- personagem.classe.half.hab=personagem.classe.half.hab+1;
- dado--;
- break;
- case 3:
- printf("Você adicionou 1 ponto de distribuição em Resistência.\n");
- personagem.classe.half.resist=personagem.classe.half.resist+1;
- dado--;
- break;
- case 4:
- printf("Você adicionou 1 ponto de distribuição em Armadura.\n");
- personagem.classe.half.armor=personagem.classe.half.armor+1;
- dado--;
- break;
- case 5:
- printf("Você adicionou 1 ponto de distribuição em Poder de Fogo.\n");
- personagem.classe.half.firep=personagem.classe.half.firep+1;
- dado--;
- break;
- case 6:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Vida.\n");
- personagem.classe.half.pVIDA=personagem.classe.half.pVIDA+1;
- dado--;
- break;
- case 7:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Mana.\n");
- personagem.classe.half.pMANA=personagem.classe.half.pMANA+1;
- dado--;
- break;
- default:
- printf("Opção inválida.\n\n");
- }
- }while(dado!=0);
- if (dado==0)
- {
- system("ClS");
- printf("\nVocê distribuiu todos os pontos.\nNão retorne ao menu de distribuição ou sua ficha será substituída por uma nova.\n\n");
- goto menu_inicial;
- }
- break;
- case 6:
- system("ClS");
- goto menu_inicial;
- default:
- system("ClS");
- printf("Opção inválida.\n\n");
- goto menu_inicial;
- }
- }while(op!=6);
- case 4:
- do
- {
- printf("Escolha uma opção abaixo.\n\n");
- printf("Opção 1: Ajuda com a Aparência.\n");
- printf("Opção 2: Ajuda com a História.\n");
- printf("Opção 3: Ajuda com Atributos e vocações.\n");
- printf("Opção 4: Voltar ao menu anterior.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- system("ClS");
- printf("A aparência impactará no nível de streetwise do seu personagem.\nPor exemplo, se você optou por seu personagem ser obeso, você\nreceberá um redutor no d20, quando o streetwise for definido.\nContudo, esse impacto é pequeno.\n");
- printf("A aparência também dirá quais as chances de sucesso do seu personagem\nem uma tentativa de sedução. Por exemplo, seu personagem\nprecisa subornar um guarda, mas ele quer favores sexuais em\ntroca, então, o sex appeal do seu personagem deve ser alto para\nter sucesso.\n\n");
- break;
- case 2:
- system("ClS");
- printf("A história do seu personagem afetará dastricamente o streetwise.\n");
- printf("O personagem deve possuir motivos convincentes para poder enganar e distrair.\nAlém disso, histórias fortes formam grupos fortes.\n");
- break;
- case 3:
- system("ClS");
- printf("A classe do seu personagem deve ser escolhida com muita atenção, ela não mudará quando o jogo inicar.\n");
- printf("Os atributos devem ser distribuidos conforme as necessidades do seu personage.\nPor exemplo, se seu personagem é um lutador corpo-a-corpo, é interessante\naumentar sua força e sua vida.\n");
- break;
- case 4:
- system("ClS");
- goto menu_inicial;
- default:
- system("ClS");
- printf("Opção inválida.\n\n");
- goto menu_inicial;
- }
- }while(op!=4);
- case 5:
- printf("Tem certeza disso?\n");
- printf("Opção 1: Sim, continuar.\n");
- printf("Opção 2: Não, voltar.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- verifica=0;
- goto ficha_final;
- case 2:
- system("ClS");
- goto menu_inicial;
- default:
- system("ClS");
- printf("Opção inválida.\n\n");
- goto menu_inicial;
- }
- case 6:
- printf("Tem certeza disso?\n");
- printf("Opção 1: Sim, continuar.\n");
- printf("Opção 2: Não, voltar.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- // APARÊNCIA
- if(personagem.cabelo==0 || personagem.olho==0 || personagem.pele==0 || personagem.corpo==0 || personagem.altura==0 || personagem.tipo.etiqueta==0)
- {
- printf("Você não acabou de customizar a aparência do seu personagem.\n\n");
- goto menu_inicial;
- }
- if(personagem.sexo==1)
- if(personagem.tipo.barba==0)
- {
- printf("Você não acabou de customizar a apareência do seu personagem.\n\n");
- goto menu_inicial;
- }
- if(personagem.sexo==2)
- if(personagem.tipo.busto==0)
- {
- printf("Você não acabou de customizar a aparência do seu personagem.\n\n");
- goto menu_inicial;
- }
- // HISTÓRIA
- if(personagem.historia.infancia==0 || personagem.historia.dif==0 || personagem.historia.consideracao==0)
- {
- printf("Você não acabou de customizar as histórias do seu personagem.\n\n");
- goto menu_inicial;
- }
- // ATRIBUTOS E VOCAÇÃO
- if(personagem.classe.human.escolha==0 && personagem.classe.elfF.escolha==0 && personagem.classe.elfD.escolha==0 && personagem.classe.dwarf.escolha==0 && personagem.classe.half.escolha==0)
- {
- printf("Você não acabou de customizar a classe do seu personagem.\n\n");
- goto menu_inicial;
- }
- verifica=1;
- goto ficha_final;
- case 2:
- system("ClS");
- goto menu_inicial;
- default:
- system("ClS");
- printf("Opção inválida.\n\n");
- goto menu_inicial;
- }
- default:
- system("ClS");
- printf("Opção inválida.\n\n");
- goto menu_inicial;
- }
- }while(op!=6 || op!=5);
- ficha_final:
- system("ClS");
- if(verifica==0)
- {
- do
- {
- printf("Você optou por um personagem randômico.\n");
- printf("O seu personagem gerado foi:\n\n");
- printf("======================\n");
- printf("Nome: %s\n", personagem.nome);
- printf("Idade: %d anos\n", personagem.idade);
- if(personagem.sexo==1)
- printf("Sexo: Masculino\n");
- else
- printf("Sexo: Feminino\n");
- printf("======================\n");
- printf("Aparência:\n");
- do{dado = rand() % 5;}while(dado<=0 || dado>5);
- if(dado==1)
- {
- personagem.cabelo=dado;
- strcpy(personagemSTRCabelo, "Loiro");
- }
- else if(dado==2)
- {
- personagem.cabelo=dado;
- strcpy(personagemSTRCabelo, "Castanho");
- }
- else if(dado==3)
- {
- personagem.cabelo=dado;
- strcpy(personagemSTRCabelo, "Preto");
- }
- else if(dado==4)
- {
- personagem.cabelo=dado;
- strcpy(personagemSTRCabelo, "Ruivo");
- }
- else
- {
- personagem.cabelo=dado;
- strcpy(personagemSTRCabelo, "Careca");
- }
- printf("Cabelo: %s\n", personagemSTRCabelo);
- do{dado = rand() % 5;}while(dado<=0 || dado>5);
- if(dado==1)
- {
- personagem.olho=dado;
- strcpy(personagemSTROlho, "Azul");
- }
- else if(dado==2)
- {
- personagem.olho=dado;
- strcpy(personagemSTROlho, "Mel");
- }
- else if(dado==3)
- {
- personagem.olho=dado;
- strcpy(personagemSTROlho, "Preto");
- }
- else if(dado==4)
- {
- personagem.olho=dado;
- strcpy(personagemSTROlho, "Verde");
- }
- else
- {
- personagem.olho=dado;
- strcpy(personagemSTROlho, "Cinza");
- }
- printf("Cor dos olhos: %s\n", personagemSTROlho);
- do{dado = rand() % 4;}while(dado<=0 || dado>4);
- if(dado==1)
- {
- personagem.pele=dado;
- strcpy(personagemSTRPele, "Caucasiano (muito claro)");
- }
- else if(dado==2)
- {
- personagem.pele=dado;
- strcpy(personagemSTRPele, "Caucasiano (mediterrâneo)");
- }
- else if(dado==3)
- {
- personagem.pele=dado;
- strcpy(personagemSTRPele, "Pardo");
- }
- else
- {
- personagem.pele=dado;
- strcpy(personagemSTRPele, "Negro");
- }
- printf("Cor da pele: %s\n", personagemSTRPele);
- do{dado = rand() % 6;}while(dado<=0 || dado>6);
- if(dado==1)
- {
- personagem.corpo=dado;
- strcpy(personagemSTRCorpo, "Obeso com pouquíssima massa muscular");
- }
- else if(dado==2)
- {
- personagem.corpo=dado;
- strcpy(personagemSTRCorpo, "Levemente obeso e com pouca massa muscular");
- }
- else if(dado==3)
- {
- personagem.corpo=dado;
- strcpy(personagemSTRCorpo, "Magro (skynny) com pouca massa muscular");
- }
- else if(dado==4)
- {
- personagem.corpo=dado;
- strcpy(personagemSTRCorpo, "Encorpado, magro, com razoável nível de massa muscular");
- }
- else if(dado==5)
- {
- personagem.corpo=dado;
- strcpy(personagemSTRCorpo, "Encorpado, magro e forte, com considerável nível de massa\nmuscular");
- }
- else
- {
- personagem.corpo=dado;
- strcpy(personagemSTRCorpo, "Forte e com muita massa muscular");
- }
- printf("Tipo de corpo: %s\n", personagemSTRCorpo);
- if(personagem.sexo==1)
- {
- do{dado = rand() % 5;}while(dado<=0 || dado>5);
- if(dado==1)
- {
- personagem.tipo.barba=dado;
- strcpy(personagemSTRBarba, "Sem barba");
- }
- else if(dado==2)
- {
- personagem.tipo.barba=dado;
- strcpy(personagemSTRBarba, "Barba rala (mal feita)");
- }
- else if(dado==3)
- {
- personagem.tipo.barba=dado;
- strcpy(personagemSTRBarba, "Barba cheia, pequena");
- }
- else if(dado==4)
- {
- personagem.tipo.barba=dado;
- strcpy(personagemSTRBarba, "Barba cheia, média");
- }
- else
- {
- personagem.tipo.barba=dado;
- strcpy(personagemSTRBarba, "Barba cheia, grande");
- }
- printf("Tipo de barba: %s\n", personagemSTRBarba);
- }
- else if(personagem.sexo==2)
- {
- do{dado = rand() % 3;}while(dado<=0 || dado>3);
- if(dado==1)
- {
- personagem.tipo.busto=dado;
- strcpy(personagemSTRBusto, "Pequeno");
- }
- else if(dado==2)
- {
- personagem.tipo.busto=dado;
- strcpy(personagemSTRBusto, "Médio");
- }
- else
- {
- personagem.tipo.busto=dado;
- strcpy(personagemSTRBusto, "Grande");
- }
- printf("Tipo de busto: %s\n", personagemSTRBusto);
- }
- do{dado = rand() % 5;}while(dado<=0 || dado>5);
- if(dado==1)
- {
- personagem.tipo.etiqueta=dado;
- strcpy(personagemSTREtiqueta, "Ignorante, nenhum conhecimento específico e nada de\nstreetwise");
- }
- else if(dado==2)
- {
- personagem.tipo.etiqueta=dado;
- strcpy(personagemSTREtiqueta, "Educação informal, pouco ou nenhum conhecimento\nespecífico, com pouco streetwise (médio)");
- }
- else if(dado==3)
- {
- personagem.tipo.etiqueta=dado;
- strcpy(personagemSTREtiqueta, "Educação informal, mas sabe como a banda toca, alto\nstreetwise");
- }
- else if(dado==4)
- {
- personagem.tipo.etiqueta=dado;
- strcpy(personagemSTREtiqueta, "Educação formal, tem conhecimento específico, mas apenas\nsuperficialmente, quase nenhum streetwise");
- }
- else
- {
- personagem.tipo.etiqueta=dado;
- strcpy(personagemSTREtiqueta, "Educação formal, alto conhecimento específico, nenhum\nstreetwise");
- }
- printf("Educação e Sagacidade: %s\n", personagemSTREtiqueta);
- personagem.altura=1.75;
- printf("Altura: %g metros\n", personagem.altura);
- printf("======================\n");
- printf("Histórias:\n");
- strcpy(personagem.historia.descricao1, "Não tenho nenhuma história sobre isso.");
- printf("Sobre a infância: %s\n", personagem.historia.descricao1);
- strcpy(personagem.historia.descricao2, "Não tenho nenhuma história sobre isso.");
- printf("Sobre dificuldades: %s\n", personagem.historia.descricao2);
- strcpy(personagem.historia.descricao3, "Não tenho nenhuma história sobre isso.");
- printf("Sobre experiências: %s\n", personagem.historia.descricao3);
- strcpy(personagem.historia.descricao4, "Não tenho nenhuma história sobre isso.");
- printf("Sobre mortes: %s\n", personagem.historia.descricao4);
- strcpy(personagem.historia.descricao5, "Não tenho nenhuma história sobre isso.");
- printf("Sobre a arma: %s\n", personagem.historia.descricao5);
- printf("======================\n");
- printf("Vocação e atributos:\n");
- do{dado = rand() % 5;}while(dado<=0 || dado>5);
- if(dado==1)
- {
- personagem.classe.human.escolha=1;
- personagem.classe.elfF.escolha=0;
- personagem.classe.elfD.escolha=0;
- personagem.classe.dwarf.escolha=0;
- personagem.classe.half.escolha=0;
- strcpy(personagemSTRVocacao, "Humano");
- }
- else if(dado==2)
- {
- personagem.classe.human.escolha=0;
- personagem.classe.elfF.escolha=1;
- personagem.classe.elfD.escolha=0;
- personagem.classe.dwarf.escolha=0;
- personagem.classe.half.escolha=0;
- strcpy(personagemSTRVocacao, "Elfo da Floresta");
- }
- else if(dado==3)
- {
- personagem.classe.human.escolha=0;
- personagem.classe.elfF.escolha=0;
- personagem.classe.elfD.escolha=1;
- personagem.classe.dwarf.escolha=0;
- personagem.classe.half.escolha=0;
- strcpy(personagemSTRVocacao, "Dark Elfo");
- }
- else if(dado==4)
- {
- personagem.classe.human.escolha=0;
- personagem.classe.elfF.escolha=0;
- personagem.classe.elfD.escolha=0;
- personagem.classe.dwarf.escolha=1;
- personagem.classe.half.escolha=0;
- strcpy(personagemSTRVocacao, "Dwarf");
- }
- else
- {
- personagem.classe.human.escolha=0;
- personagem.classe.elfF.escolha=0;
- personagem.classe.elfD.escolha=0;
- personagem.classe.dwarf.escolha=0;
- personagem.classe.half.escolha=1;
- strcpy(personagemSTRVocacao, "Halfling");
- }
- printf("Vocação: %s\n", personagemSTRVocacao);
- printf("Atributos:\n");
- if(personagem.classe.human.escolha==1)
- {
- printf("Força base: 5\n");
- printf("Habilidade base: 3\n");
- printf("Resistência base: 2\n");
- printf("Armadura base: 2\n");
- printf("Poder de Fogo base: 2\n");
- printf("Pontos de Vida base: 5\n");
- printf("Pontos de Mana base: 5\n");
- printf("Caracteristicas: Classe intermediária entre guerreiro, mago e\narqueiro (ataque à distância).\n");
- personagem.classe.human.forca=5;
- personagem.classe.human.hab=3;
- personagem.classe.human.resist=2;
- personagem.classe.human.armor=2;
- personagem.classe.human.firep=2;
- personagem.classe.human.pVIDA=5;
- personagem.classe.human.pMANA=5;
- }
- else if(personagem.classe.elfF.escolha==1)
- {
- printf("Força base: 2\n");
- printf("Habilidade base: 5\n");
- printf("Resistência base: 1\n");
- printf("Armadura base: 1\n");
- printf("Poder de Fogo base: 2\n");
- printf("Pontos de Vida base: 3\n");
- printf("Pontos de Mana base: 5\n");
- printf("Caracteristicas: Classe focada em ataque à distância.\n");
- personagem.classe.elfF.forca=2;
- personagem.classe.elfF.hab=5;
- personagem.classe.elfF.resist=1;
- personagem.classe.elfF.armor=1;
- personagem.classe.elfF.firep=2;
- personagem.classe.elfF.pVIDA=3;
- personagem.classe.elfF.pMANA=5;
- }
- else if(personagem.classe.elfD.escolha==1)
- {
- printf("Força base: 1\n");
- printf("Habilidade base: 2\n");
- printf("Resistência base: 1\n");
- printf("Armadura base: 1\n");
- printf("Poder de Fogo base: 7\n");
- printf("Pontos de Vida base: 2\n");
- printf("Pontos de Mana base: 10\n");
- printf("Caracteristicas: Classe focada em magias.\n");
- personagem.classe.elfD.forca=1;
- personagem.classe.elfD.hab=2;
- personagem.classe.elfD.resist=1;
- personagem.classe.elfD.armor=1;
- personagem.classe.elfD.firep=7;
- personagem.classe.elfD.pVIDA=2;
- personagem.classe.elfD.pMANA=10;
- }
- else if(personagem.classe.dwarf.escolha==1)
- {
- printf("Força base: 7\n");
- printf("Habilidade base: 1\n");
- printf("Resistência base: 5\n");
- printf("Armadura base: 4\n");
- printf("Poder de Fogo base: 1\n");
- printf("Pontos de Vida base: 8\n");
- printf("Pontos de Mana base: 1\n");
- printf("Caracteristicas: Classe focada em combate corpo-a-corpo.\n");
- personagem.classe.dwarf.forca=7;
- personagem.classe.dwarf.hab=1;
- personagem.classe.dwarf.resist=5;
- personagem.classe.dwarf.armor=4;
- personagem.classe.dwarf.firep=1;
- personagem.classe.dwarf.pVIDA=8;
- personagem.classe.dwarf.pMANA=1;
- }
- else if(personagem.classe.half.escolha==1)
- {
- printf("Força base: 1\n");
- printf("Habilidade base: 7\n");
- printf("Resistência base: 1\n");
- printf("Armadura base: 1\n");
- printf("Poder de Fogo base: 1\n");
- printf("Pontos de Vida base: 3\n");
- printf("Pontos de Mana base: 2\n");
- printf("Caracteristicas: Classe focada em ações rápidas, como furtos e distrações.\n");
- personagem.classe.half.forca=1;
- personagem.classe.half.hab=7;
- personagem.classe.half.resist=1;
- personagem.classe.half.armor=1;
- personagem.classe.half.firep=7;
- personagem.classe.half.pVIDA=3;
- personagem.classe.half.pMANA=2;
- }
- printf("======================\n\n");
- printf("Deseja continuar com este personagem ou gerar outro?\n");
- printf("Opção 1: Continuar.\n");
- printf("Opção 2: Gerar outro personagem.\n");
- printf("Opção 3: Voltar ao menu anterior.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- system("ClS");
- if(personagem.classe.human.escolha==1)
- {
- printf("Certo, humano, monte sua ficha.\n\n");
- printf("Um d20 dirá quantos pontos extras seu personagem possuí para serem\ndistribuídos.\n");
- do{dado = rand() % 20 + 1;}while(dado<=0 || dado >20);
- printf("Resultado do d20: %d\n", dado);
- do{
- printf("Você tem %d pontos para distribuir na sua ficha.\n\n", dado);
- printf("Atenção, ao escolher uma opção abaixo, você perde um ponto de distribuição,\nmas adiciona um ponto na opção escolhida.\n");
- printf("Opção 1: Força.\n");
- printf("Opção 2: Habilidade.\n");
- printf("Opção 3: Resistência.\n");
- printf("Opção 4: Armadura.\n");
- printf("Opção 5: Poder de Fogo.\n");
- printf("Opção 6: Pontos de Vida.\n");
- printf("Opção 7: Pontos de Mana.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- printf("Você adicionou 1 ponto de distribuição em Força.\n");
- personagem.classe.human.forca=personagem.classe.human.forca+1;
- dado--;
- break;
- case 2:
- printf("Você adicionou 1 ponto de distribuição em Habilidade.\n");
- personagem.classe.human.hab=personagem.classe.human.hab+1;
- dado--;
- break;
- case 3:
- printf("Você adicionou 1 ponto de distribuição em Resistência.\n");
- personagem.classe.human.resist=personagem.classe.human.resist+1;
- dado--;
- break;
- case 4:
- printf("Você adicionou 1 ponto de distribuição em Armadura.\n");
- personagem.classe.human.armor=personagem.classe.human.armor+1;
- dado--;
- break;
- case 5:
- printf("Você adicionou 1 ponto de distribuição em Poder de Fogo.\n");
- personagem.classe.human.firep=personagem.classe.human.firep+1;
- dado--;
- break;
- case 6:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Vida.\n");
- personagem.classe.human.pVIDA=personagem.classe.human.pVIDA+1;
- dado--;
- break;
- case 7:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Mana.\n");
- personagem.classe.human.pMANA=personagem.classe.human.pMANA+1;
- dado--;
- break;
- default:
- printf("Opção inválida.\n\n");
- }
- }while(dado!=0);
- system("ClS");
- goto confirmacao;
- }
- else if(personagem.classe.elfF.escolha==1)
- {
- printf("Nai anar kaluva tielyanna, elfo da floresta, monte sua ficha.\n\n");
- printf("Um d20 dirá quantos pontos extras seu personagem possuí para serem\ndistribuídos.\n");
- do{dado = rand() % 20 + 1;}while(dado<=0 || dado >20);
- printf("Resultado do d20: %d\n", dado);
- do{
- printf("Você tem %d pontos para distribuir na sua ficha.\n\n", dado);
- printf("Atenção, ao escolher uma opção abaixo, você perde um ponto de distribuição,\nmas adiciona um ponto na opção escolhida.\n");
- printf("Opção 1: Força.\n");
- printf("Opção 2: Habilidade.\n");
- printf("Opção 3: Resistência.\n");
- printf("Opção 4: Armadura.\n");
- printf("Opção 5: Poder de Fogo.\n");
- printf("Opção 6: Pontos de Vida.\n");
- printf("Opção 7: Pontos de Mana.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- printf("Você adicionou 1 ponto de distribuição em Força.\n");
- personagem.classe.elfF.forca=personagem.classe.elfF.forca+1;
- dado--;
- break;
- case 2:
- printf("Você adicionou 1 ponto de distribuição em Habilidade.\n");
- personagem.classe.elfF.hab=personagem.classe.elfF.hab+1;
- dado--;
- break;
- case 3:
- printf("Você adicionou 1 ponto de distribuição em Resistência.\n");
- personagem.classe.elfF.resist=personagem.classe.elfF.resist+1;
- dado--;
- break;
- case 4:
- printf("Você adicionou 1 ponto de distribuição em Armadura.\n");
- personagem.classe.elfF.armor=personagem.classe.elfF.armor+1;
- dado--;
- break;
- case 5:
- printf("Você adicionou 1 ponto de distribuição em Poder de Fogo.\n");
- personagem.classe.elfF.firep=personagem.classe.elfF.firep+1;
- dado--;
- break;
- case 6:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Vida.\n");
- personagem.classe.elfF.pVIDA=personagem.classe.elfF.pVIDA+1;
- dado--;
- break;
- case 7:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Mana.\n");
- personagem.classe.elfF.pMANA=personagem.classe.elfF.pMANA+1;
- dado--;
- break;
- default:
- printf("Opção inválida.\n\n");
- }
- }while(dado!=0);
- system("ClS");
- goto confirmacao;
- }
- else if(personagem.classe.elfD.escolha==1)
- {
- printf("Harië malta úva carë nér anwavë alya, dark elfo, monte sua ficha.\n\n");
- printf("Um d20 dirá quantos pontos extras seu personagem possuí para serem\ndistribuídos.\n");
- do{dado = rand() % 20 + 1;}while(dado<=0 || dado >20);
- printf("Resultado do d20: %d\n", dado);
- do{
- printf("Você tem %d pontos para distribuir na sua ficha.\n\n", dado);
- printf("Atenção, ao escolher uma opção abaixo, você perde um ponto de distribuição,\nmas adiciona um ponto na opção escolhida.\n");
- printf("Opção 1: Força.\n");
- printf("Opção 2: Habilidade.\n");
- printf("Opção 3: Resistência.\n");
- printf("Opção 4: Armadura.\n");
- printf("Opção 5: Poder de Fogo.\n");
- printf("Opção 6: Pontos de Vida.\n");
- printf("Opção 7: Pontos de Mana.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- printf("Você adicionou 1 ponto de distribuição em Força.\n");
- personagem.classe.elfD.forca=personagem.classe.elfD.forca+1;
- dado--;
- break;
- case 2:
- printf("Você adicionou 1 ponto de distribuição em Habilidade.\n");
- personagem.classe.elfD.hab=personagem.classe.elfD.hab+1;
- dado--;
- break;
- case 3:
- printf("Você adicionou 1 ponto de distribuição em Resistência.\n");
- personagem.classe.elfD.resist=personagem.classe.elfD.resist+1;
- dado--;
- break;
- case 4:
- printf("Você adicionou 1 ponto de distribuição em Armadura.\n");
- personagem.classe.elfD.armor=personagem.classe.elfD.armor+1;
- dado--;
- break;
- case 5:
- printf("Você adicionou 1 ponto de distribuição em Poder de Fogo.\n");
- personagem.classe.elfD.firep=personagem.classe.elfD.firep+1;
- dado--;
- break;
- case 6:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Vida.\n");
- personagem.classe.elfD.pVIDA=personagem.classe.elfD.pVIDA+1;
- dado--;
- break;
- case 7:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Mana.\n");
- personagem.classe.elfD.pMANA=personagem.classe.elfD.pMANA+1;
- dado--;
- break;
- default:
- printf("Opção inválida.\n\n");
- }
- }while(dado!=0);
- system("ClS");
- goto confirmacao;
- }
- else if(personagem.classe.dwarf.escolha==1)
- {
- printf("Hail Durin, anão, monte sua ficha.\n\n");
- printf("Um d20 dirá quantos pontos extras seu personagem possuí para serem\ndistribuídos.\n");
- do{dado = rand() % 20 + 1;}while(dado<=0 || dado >20);
- printf("Resultado do d20: %d\n", dado);
- do{
- printf("Você tem %d pontos para distribuir na sua ficha.\n\n", dado);
- printf("Atenção, ao escolher uma opção abaixo, você perde um ponto de distribuição,\nmas adiciona um ponto na opção escolhida.\n");
- printf("Opção 1: Força.\n");
- printf("Opção 2: Habilidade.\n");
- printf("Opção 3: Resistência.\n");
- printf("Opção 4: Armadura.\n");
- printf("Opção 5: Poder de Fogo.\n");
- printf("Opção 6: Pontos de Vida.\n");
- printf("Opção 7: Pontos de Mana.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- printf("Você adicionou 1 ponto de distribuição em Força.\n");
- personagem.classe.dwarf.forca=personagem.classe.dwarf.forca+1;
- dado--;
- break;
- case 2:
- printf("Você adicionou 1 ponto de distribuição em Habilidade.\n");
- personagem.classe.dwarf.hab=personagem.classe.dwarf.hab+1;
- dado--;
- break;
- case 3:
- printf("Você adicionou 1 ponto de distribuição em Resistência.\n");
- personagem.classe.dwarf.resist=personagem.classe.dwarf.resist+1;
- dado--;
- break;
- case 4:
- printf("Você adicionou 1 ponto de distribuição em Armadura.\n");
- personagem.classe.dwarf.armor=personagem.classe.dwarf.armor+1;
- dado--;
- break;
- case 5:
- printf("Você adicionou 1 ponto de distribuição em Poder de Fogo.\n");
- personagem.classe.dwarf.firep=personagem.classe.dwarf.firep+1;
- dado--;
- break;
- case 6:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Vida.\n");
- personagem.classe.dwarf.pVIDA=personagem.classe.dwarf.pVIDA+1;
- dado--;
- break;
- case 7:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Mana.\n");
- personagem.classe.dwarf.pMANA=personagem.classe.dwarf.pMANA+1;
- dado--;
- break;
- default:
- printf("Opção inválida.\n\n");
- }
- }while(dado!=0);
- system("ClS");
- goto confirmacao;
- }
- else if(personagem.classe.half.escolha==1)
- {
- printf("A beleza está nas pequenas coisas, pequeno, monte sua ficha.\n\n");
- printf("Um d20 dirá quantos pontos extras seu personagem possuí para serem\ndistribuídos.\n");
- do{dado = rand() % 20 + 1;}while(dado<=0 || dado >20);
- printf("Resultado do d20: %d\n", dado);
- do{
- printf("Você tem %d pontos para distribuir na sua ficha.\n\n", dado);
- printf("Atenção, ao escolher uma opção abaixo, você perde um ponto de distribuição,\nmas adiciona um ponto na opção escolhida.\n");
- printf("Opção 1: Força.\n");
- printf("Opção 2: Habilidade.\n");
- printf("Opção 3: Resistência.\n");
- printf("Opção 4: Armadura.\n");
- printf("Opção 5: Poder de Fogo.\n");
- printf("Opção 6: Pontos de Vida.\n");
- printf("Opção 7: Pontos de Mana.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- printf("Você adicionou 1 ponto de distribuição em Força.\n");
- personagem.classe.half.forca=personagem.classe.half.forca+1;
- dado--;
- break;
- case 2:
- printf("Você adicionou 1 ponto de distribuição em Habilidade.\n");
- personagem.classe.half.hab=personagem.classe.half.hab+1;
- dado--;
- break;
- case 3:
- printf("Você adicionou 1 ponto de distribuição em Resistência.\n");
- personagem.classe.half.resist=personagem.classe.half.resist+1;
- dado--;
- break;
- case 4:
- printf("Você adicionou 1 ponto de distribuição em Armadura.\n");
- personagem.classe.half.armor=personagem.classe.half.armor+1;
- dado--;
- break;
- case 5:
- printf("Você adicionou 1 ponto de distribuição em Poder de Fogo.\n");
- personagem.classe.half.firep=personagem.classe.half.firep+1;
- dado--;
- break;
- case 6:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Vida.\n");
- personagem.classe.half.pVIDA=personagem.classe.half.pVIDA+1;
- dado--;
- break;
- case 7:
- printf("Você adicionou 1 ponto de distribuição em Pontos de Mana.\n");
- personagem.classe.half.pMANA=personagem.classe.half.pMANA+1;
- dado--;
- break;
- default:
- printf("Opção inválida.\n\n");
- }
- }while(dado!=0);
- system("ClS");
- goto confirmacao;
- }
- case 2:
- goto ficha_final;
- case 3:
- system("ClS");
- goto menu_inicial;
- default:
- system("ClS");
- }
- }while(op!=1);
- }
- else
- {
- confirmacao:
- printf("Ficha final (já com pontos distribuídos):\n");
- printf("\n======================\n");
- printf("Nome: %s\n", personagem.nome);
- printf("Idade: %d\n", personagem.idade);
- if(personagem.sexo==1)
- printf("Sexo: Masculino\n");
- else
- printf("Sexo: Feminino\n");
- printf("======================\n");
- printf("Aparência:\n");
- printf("Cabelo: %s\n", personagemSTRCabelo);
- printf("Cor dos olhos: %s\n", personagemSTROlho);
- printf("Cor da pele: %s\n", personagemSTRPele);
- printf("Tipo de corpo: %s\n", personagemSTRCorpo);
- if(personagem.sexo==1)
- printf("Tipo de barba: %s\n", personagemSTRBarba);
- else
- printf("Tipo de busto: %s\n", personagemSTRBusto);
- printf("Educação e Sagacidade: %s\n", personagemSTREtiqueta);
- printf("Altura: %g metros\n", personagem.altura);
- printf("======================\n");
- printf("Histórias:\n");
- printf("Sobre a infância: %s\n", personagem.historia.descricao1);
- printf("Sobre dificuldades: %s\n", personagem.historia.descricao2);
- printf("Sobre experiências: %s\n", personagem.historia.descricao3);
- printf("Sobre mortes: %s\n", personagem.historia.descricao4);
- printf("Sobre a arma: %s\n", personagem.historia.descricao5);
- printf("======================\n");
- printf("Vocação e atributos:\n");
- printf("Vocação: %s\n", personagemSTRVocacao);
- printf("Atributos:\n");
- if(personagem.classe.human.escolha==1)
- {
- printf("Força: %d\n", personagem.classe.human.forca);
- printf("Habilidade: %d\n", personagem.classe.human.hab);
- printf("Resistência: %d\n", personagem.classe.human.resist);
- printf("Armadura: %d\n", personagem.classe.human.armor);
- printf("Poder de Fogo: %d\n", personagem.classe.human.firep);
- printf("Vida: %d\n", personagem.classe.human.pVIDA);
- printf("Mana: %d\n", personagem.classe.human.pMANA);
- }
- else if(personagem.classe.elfF.escolha==1)
- {
- printf("Força: %d\n", personagem.classe.elfF.forca);
- printf("Habilidade: %d\n", personagem.classe.elfF.hab);
- printf("Resistência: %d\n", personagem.classe.elfF.resist);
- printf("Armadura: %d\n", personagem.classe.elfF.armor);
- printf("Poder de Fogo: %d\n", personagem.classe.elfF.firep);
- printf("Vida: %d\n", personagem.classe.elfF.pVIDA);
- printf("Mana: %d\n", personagem.classe.elfF.pMANA);
- }
- else if(personagem.classe.elfD.escolha==1)
- {
- printf("Força: %d\n", personagem.classe.elfD.forca);
- printf("Habilidade: %d\n", personagem.classe.elfD.hab);
- printf("Resistência: %d\n", personagem.classe.elfD.resist);
- printf("Armadura: %d\n", personagem.classe.elfD.armor);
- printf("Poder de Fogo: %d\n", personagem.classe.elfD.firep);
- printf("Vida: %d\n", personagem.classe.elfD.pVIDA);
- printf("Mana: %d\n", personagem.classe.elfD.pMANA);
- }
- else if(personagem.classe.dwarf.escolha==1)
- {
- printf("Força: %d\n", personagem.classe.dwarf.forca);
- printf("Habilidade: %d\n", personagem.classe.dwarf.hab);
- printf("Resistência: %d\n", personagem.classe.dwarf.resist);
- printf("Armadura: %d\n", personagem.classe.dwarf.armor);
- printf("Poder de Fogo: %d\n", personagem.classe.dwarf.firep);
- printf("Vida: %d\n", personagem.classe.dwarf.pVIDA);
- printf("Mana: %d\n", personagem.classe.dwarf.pMANA);
- }
- else if(personagem.classe.half.escolha==1)
- {
- printf("Força: %d\n", personagem.classe.half.forca);
- printf("Habilidade: %d\n", personagem.classe.half.hab);
- printf("Resistência: %d\n", personagem.classe.half.resist);
- printf("Armadura: %d\n", personagem.classe.half.armor);
- printf("Poder de Fogo: %d\n", personagem.classe.half.firep);
- printf("Vida: %d\n", personagem.classe.half.pVIDA);
- printf("Mana: %d\n", personagem.classe.half.pMANA);
- }
- printf("======================\n");
- if(personagem.tipo.etiqueta==1)
- {
- do{dado = rand() % 20 - 5;}while(dado<=0 || dado >20);
- personagem.street = dado;
- }
- else if(personagem.tipo.etiqueta==2)
- {
- do{dado = rand() % 20 + 3;}while(dado<=0 || dado >20);
- personagem.street = dado;
- }
- else if(personagem.tipo.etiqueta==3)
- {
- do{dado = rand() % 20 + 5;}while(dado<=0 || dado >20);
- personagem.street = dado;
- }
- else if(personagem.tipo.etiqueta==4)
- {
- do{dado = rand() % 20 - 3;}while(dado<=0 || dado >20);
- personagem.street = dado;
- }
- else if(personagem.tipo.etiqueta==5)
- {
- do{dado = rand() % 20 - 7;}while(dado<=0 || dado >20);
- personagem.street = dado;
- }
- printf("Streetwise: %d\n", personagem.street);
- if(personagem.corpo==1)
- {
- do{dado = rand() % 20 - 10;}while(dado<=0 || dado >20);
- personagem.sexappeal = dado;
- }
- else if(personagem.corpo==2)
- {
- do{dado = rand() % 20 - 5;}while(dado<=0 || dado >20);
- personagem.sexappeal = dado;
- }
- else if(personagem.corpo==3)
- {
- do{dado = rand() % 20 - 3;}while(dado<=0 || dado >20);
- personagem.sexappeal = dado;
- }
- else if(personagem.corpo==4)
- {
- do{dado = rand() % 20 + 3;}while(dado<=0 || dado >20);
- personagem.sexappeal = dado;
- }
- else if(personagem.corpo==5)
- {
- do{dado = rand() % 20 + 5;}while(dado<=0 || dado >20);
- personagem.sexappeal = dado;
- }
- else if(personagem.corpo==6)
- {
- do{dado = rand() % 20;}while(dado<=0 || dado >20);
- personagem.sexappeal = dado;
- }
- printf("Sex appeal: %d\n", personagem.sexappeal);
- printf("======================\n\n");
- printf("Está pronto para começar sua jornada?\n");
- printf("Opção 1: Continuar.\n");
- printf("Opção 2: Voltar.\n");
- scanf("%d", &op);
- switch(op)
- {
- case 1:
- system("ClS");
- goto comeco_hist;
- case 2:
- system("ClS");
- goto menu_inicial;
- default:
- printf("Opção inválida.\n\n");
- goto confirmacao;
- }
- }
- comeco_hist:
- printf("Precione qualquer tecla para pular.\n");
- getchar();
- getchar();
- system("ClS");
- printf("Você vê somente escuridão.\nNão existe nada além de um abismo negro e vazio diante dos seus olhos.\n");
- printf("Mas então, de repente...\n");
- pause(3.5);
- printf("\nPequenas luzes começam a sintilar ao fundo.\n\n * *\n\n *\n *\n *\n * *\n");
- pause(3.5);
- printf("\n\nEntão mais luzes.\n");
- printf("* *\n * * **\n\n* * * * * * *\n * * * * * *\n");
- getchar();
- system("ClS");
- printf("Em menos de um piscar de olhos, tudo estava iluminado.\nVocê se pegou coxilando enquanto cavalgava na estrada.\n");
- if(personagem.sexo==1)
- printf("\n-- Senhor, estamos quase chegando, levaremos pouco menos\nde quinze minutos para avistar a entrada. - Diz o guarda.\n");
- else
- printf("\n-- Senhora, estamos quase chegando, levaremos pouco menos\nde quinze minutos para avistar a entrada. - Diz o guarda.\n");
- getchar();
- system("ClS");
- printf("Você se espreguiça, estrala alguns ossos e arruma sua roupa.\nHoje será um dia importante, não é sempre que se encontra com o rei.\n");
- printf("\n\nPrincipalmente... O Rei.\n");
- getchar();
- system("ClS");
- printf("Alguns minutos depois, você consegue avistar os portões da cidade.\n");
- printf("Ah... A grande capital do reino de Zork'in...\nVocê sorri, lembrando-se dos velhos tempos naquela maravilhosa cidade.\n");
- printf("\nO clima está ótimo, nem muito frio e nem muito quente e com ventos aprazíveis.\n");
- getchar();
- system("ClS");
- printf("A comitiva passa sem nenhum problema pelos portões, afinal de conta, você estavasendo escoltado pela guarda real.\n");
- printf("O chão, antes de terra batida, se transforma em pedra, paralelepípedos tomam\nconta de todo o do solo. O fluxo de pessoas aumenta drasticamente.\n");
- printf("\n\n-- Olá, viajante! Venha, venha, nós temos os melhores produtos! - Berra um\ncomerciante.\n");
- printf("\n-- Venham ver, temos todos os produtos, sim, temos tudo e por ótimos preços.\nVenham! - Berra outro vendedor.\n");
- getchar();
- system("ClS");
- printf("Nada chama muito a sua atenção, na verdade, você pouco presta atenção nas coisas.\nSeu coração palpita de angustia e saudades.\nSendo assim, você continua seu caminho com a comitiva.\n");
- getchar();
- return 0;
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement