Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <conio.h>
- #include <ctype.h>
- #error mude a variavel global status do jogo para 1 caso queira jogar
- typedef unsigned short int USI;
- //Default == 2 EU NÃO SEI PQ TAMBÉM CUZAU, EU DECIDI COLOCAR 2 COMO PADRÃO, NÃO ENCHE
- USI gStatusDoJogo = 1; //False == 0, True == 1;
- int main (void) {
- //VARIÁVEIS
- char jogadorUm, jogadorDois, indice;
- char respostaParaFechamento = 'S';
- ////PRÓTIPO DE FUNÇÕES
- void desenho_do_jogo (char jogadorUm, char jogadorDois);
- void criar_readme(void);
- void leitura_readme(void);
- //INICIANDO FUNÇÃO
- criar_readme();
- //RESTO DO CÓDIGO
- do{
- if (gStatusDoJogo == 1) {
- system("cls");
- system("color 02");
- printf("Digite o simbolo/letra do jogador 1: ");
- jogadorUm = getche();
- printf("\n");
- printf("Digite o simbolo/letra do jogador 2: ");
- jogadorDois = getche();
- //TESTE PARA DESCOBRIR SE É DIGITO
- if ((isdigit(jogadorUm)) || (isdigit(jogadorDois))) {
- printf("\nUtilize apenas simbolos\nNumeros nao permitidos\n");
- exit(0);
- }
- printf("\n");
- printf("-- SIMBOLOS ESCOLHIDOS --\n\n");
- printf("-- Jogador um: %c --\n", jogadorUm);
- printf("-- Jogador dois: %c --\n", jogadorDois);
- printf("\n -- FINAL --\n\n");
- //INICIANDO FUNÇÃO
- desenho_do_jogo(jogadorUm, jogadorDois);
- }
- else if (gStatusDoJogo == 0) {
- system("color 0c");
- exit(0);
- }
- else if ((gStatusDoJogo != 0) && (gStatusDoJogo != 1)) {
- system("color 0c");
- printf("Erro no jogo!\nStatus do jogo esta diferente do previsto\n");
- exit(0);
- }
- printf("Quer continuar 'jogando' ? (S\\n): ");
- respostaParaFechamento = getche();
- printf("\n\n");
- }while((respostaParaFechamento == 'S') || (respostaParaFechamento == 's'));
- leitura_readme();
- printf("\t\t\tAperte algo para fechar\n");
- system("pause>null");
- return(0);
- }
- void desenho_do_jogo (char jogadorUm, char jogadorDois) {
- //VARIÁVEIS
- USI indice, rodadaAtual;
- //PRÓTIPO DE FUNÇÕES
- void semantica_do_jogo (char jogadorUm, char jogadorDois);
- for (indice = 0; indice <= 3; indice++)
- printf("-- GERANDO NUMEROS --\n\n");
- for (indice = 0; indice <= 24; indice++) {
- printf("#");
- }
- printf("\n");
- for (indice = 0; indice <= 6; indice++) {
- rodadaAtual++;
- printf("# \t\t\t#\n");
- if (rodadaAtual == indice+1) {
- printf("# \t%c\t%c\t#\n", jogadorUm, jogadorDois);
- if(rodadaAtual == 7) {
- printf("# \t\t\t#\n");
- }
- }
- }
- for (indice = 0; indice <= 24; indice++) {
- printf("#");
- }
- printf("\n\n");
- printf(" -- RESULTADO --\n");
- //INICIANDO FUNÇÃO
- semantica_do_jogo(jogadorUm, jogadorDois);
- printf("-- FIM DO RESULTAD0 --\n\n");
- }
- void semantica_do_jogo (char jogadorUm, char jogadorDois) {
- //VARIÁVEIS
- USI numGenUm, numGenDois = 0;
- //FUNÇÃO PARA NÚMERO ALEATÓRIO
- srand((unsigned)time(NULL));
- //GERA NÚMERO ALEATÓRIO
- numGenUm = 6 + (rand() % 100);
- numGenDois = 6 + (rand() % 100);
- jogadorUm = toupper(jogadorUm);
- jogadorDois = toupper(jogadorDois);
- if (numGenUm > 100)
- numGenUm = 100;
- else if (numGenDois > 100)
- numGenDois = 100;
- printf("Pontos sorteado para '%c': %d\nPontos sorteado para '%c': %hu\n", jogadorUm, numGenUm, jogadorDois, numGenDois);
- if (numGenUm > numGenDois){
- jogadorUm = toupper(jogadorUm);
- printf("Vencedor '%c', pontuacao %hu\n", jogadorUm, numGenUm);
- FILE *vencedor;
- vencedor = fopen("vencedor.txt","a");
- if (vencedor == NULL)
- printf("Nao conseguimos acessar o arquivo\n");
- else {
- fprintf(vencedor, "Vencedor = '%c', pontuacao: %hu\n", jogadorUm, numGenUm);
- fflush(vencedor);
- fclose(vencedor);
- }
- }
- else if (numGenDois > numGenUm) {
- jogadorDois = toupper(jogadorDois);
- printf("Vencedor '%c', pontuacao: %hu\n", jogadorDois, numGenDois);
- FILE *vencedor;
- vencedor = fopen("vencedor.txt","a");
- if (vencedor == NULL)
- printf("Nao conseguimos acessar o arquivo\n");
- else {
- fprintf(vencedor, "Vencedor = '%c', pontuacao: %hu\n", jogadorDois, numGenDois);
- fflush(vencedor);
- fclose(vencedor);
- }
- }
- else if (numGenUm == numGenDois) {
- printf("\nDeu empate essa bosta, jogador '%c' com seguinte valor: %hu, jogador '%c' com seguintes valor: %hu\n", jogadorUm, numGenUm, jogadorDois, numGenDois);
- FILE *vencedor;
- vencedor = fopen("vencedor.txt","a");
- if (vencedor == NULL)
- printf("Nao conseguimos acessar o arquivo\n");
- else {
- fprintf(vencedor, "Ocorreu um empate\nPontuacao do jogador '%c': %hu\nPontuacao do jogador '%c': %hu\n", jogadorUm, numGenUm, jogadorDois, numGenDois);
- fflush(vencedor);
- fclose(vencedor);
- }
- }
- else if ((numGenUm == 66) || (numGenDois == 66)) {
- printf("Bem vindo ao outro mundo\n");
- printf("Voce achou um easter egg e foi apenas por pura sorte, sera que voce ira descobrir o por que?\n");
- FILE *easteregg;
- easteregg = fopen("easterEggPorque.txt", "a");
- if (easteregg == NULL)
- printf("Nao conseguimos acessar o arquivo\n");
- else {
- if (numGenUm == 66) {
- numGenUm = 666;
- fprintf(easteregg, "Voce descobriu o porque provavelmente...\nRazao: %d\n", numGenUm);
- }
- else if (numGenDois == 66) {
- numGenDois = 666;
- fprintf(easteregg, "Voce descobriu o porque provavelmente...\nRazao: %d\n", numGenDois);
- }
- }
- fflush(easteregg);
- fclose(easteregg);
- }
- else {
- printf("Deu algum erro em algo mas vou exibir alguns dados do jogo\nJogador '%c' com seguinte valor: %hu, Jogador '%c' com seguinte valor %hu\n", jogadorUm, numGenUm, jogadorDois, numGenDois);
- FILE *vencedor;
- vencedor = fopen("vencedor.txt","a");
- if (vencedor == NULL)
- printf("Nao conseguimos acessar o arquivo\n");
- else {
- fprintf(vencedor, "Ocorreu um erro e vamos exibir os detalhes mesmo asssim\nPontuacao do jogador '%c': %hu\nPontuacao do jogador '%c': %hu\n", jogadorUm, numGenUm, jogadorDois, numGenDois);
- fflush(vencedor);
- fclose(vencedor);
- }
- }
- }
- void criar_readme (void) {
- FILE *arquivo;
- arquivo = fopen("readme.txt", "w");
- if (arquivo == NULL)
- printf("Nao consegui fazer escrita do arquivo\n");
- else {
- fprintf(arquivo, "\n\t\t--------------- README DO JOGO ---------------\n");
- fprintf(arquivo, "Esse e um jogo para se jogar quando nao tiver nada para fazer e estiver entediado, ou nem isso. Vai la saber ne...");
- fprintf(arquivo, "\n\t\t--------------- README DO JOGO ---------------\n");
- fflush(arquivo);
- fclose(arquivo);
- }
- }
- void leitura_readme (void) {
- char read;
- FILE *arquivo;
- arquivo = fopen("readme.txt", "r");
- if (arquivo == NULL)
- printf("Nao consegui fazer a leitura do arquivo\n");
- else {
- while((read=fgetc(arquivo))!=EOF){
- putchar(read);
- }
- }
- fflush(arquivo);
- fclose(arquivo);
- }
Advertisement
Add Comment
Please, Sign In to add comment