Ir ao conteúdo
  • Cadastre-se

Lucas.Zottis

Membro Júnior
  • Posts

    9
  • Cadastrado em

  • Última visita

Reputação

6
  1. Opa, beleza? Estou fazendo um trabalho pra faculdade, onde eu preciso ler o arquivo ordenar os dados no programa e imprimir na tela. Por algum motivo o meu programa está quebrando, não consigo achar o motivo. Esse é o arquivo que quero ler. #include <stdio.h> #include <locale.h> #include <string.h> // Structs typedef struct{ char *Terra; char *Etnia; char *Uf; char *Municipio; double Superficie; char *Fase; char *Modalidade; }Dados; // Declarações de funções void LerArquivo(FILE *file); // Função principal int main(void){ char buf[1024]; char *field; Dados dado[727]; setlocale(LC_ALL, ""); FILE *file = fopen("rf_conservacao_terrasindigenas_estados_2017.csv", "r"); if(!file){ printf("Não foi possivel abrir arquivo!\n"); return 1; } else { printf("Arquivo aberto!\n"); system("Pause"); printf("\n"); int row = 0; int field_count; int index = 0; while(fgets(buf, 1024, file)){ field_count = 0; row++; if (row == 1){ continue; } field = strtok(buf, ";"); while(field){ // Achei que seria melhor utilizar o switch pois não precisaria verificar todas as opções. switch (field_count){ case 0:{ dado[index].Terra = field; break; } case 1:{ dado[index].Etnia = field; break; } case 2:{ dado[index].Uf = field; break; } case 3:{ dado[index].Municipio = field; break; } case 4:{ dado[index].Superficie = (double) *field; break; } case 5:{ dado[index].Fase = field; break; } case 6:{ dado[index].Modalidade = field; break; } } printf("%s\n", field); field = strtok(NULL, ";"); index++; field_count++; } } } fclose(file); return 0;
  2. Opa galera, estava aqui fazendo um trabalho da faculdade com manipulação de arquivos e me surgiu um pensamento de fazer um arquivo PDF. Arquivo foi criado mas não consegui abrir, é como se o arquivo estivesse corrompido. Alguém sabe me dizer se é possível criação de arquivos PDF com C? #include <stdio.h> #include <stdlib.h> int main() { FILE *file; if (file = fopen("Teste com PDF.pdf", "w") == NULL) { printf("Arquivo não aberto."); } else { printf("Arquivo foi aberto."); fprintf(file, "Frase gravada no arquivo com sucesso!"); fclose(file); } return 0; }
  3. /* Nome do programa: Tic Tac Toe Objetivo do programa: Fazer um jogo da velha para console Nome do programador: Lucas Zottis Data de criação: 08/05/2020 */ #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <windows.h> #include <string.h> #define TAM 8 // Dados sobre os players (a maquina conta como player e será inicializado no começo do jogo); typedef struct { // Nome do player, a maquina será COM; char name[10]; // Dados sobre partidas, vitórias, empates e derrotas; int match, win, tie, lose; }Player; // grade do jogo; char house[TAM]; // Referenciação dos players; Player player1; Player player2; Player com; /* Declaração das funções */ int Menu(void); void GameMode(void); void VersusCOM(void); void VersusHuman(void); int ExitProgram(void); void InitHouses(void); void Initiate(void); void ShowHouses(void); int HumanMove(int turn); int IAMove(void); int EmptyHouse(int spot, int turn); int Verify(void); int main() { // Inicializações; Initiate(); // CONFIGURANDO PARA O IDIOMA PORTUGUES; setlocale(LC_ALL, "Portuguese"); int i, j, leave; // Apresentação; char intro [5][40] = { "\n Olá!", "Prazer, eu sou o Cidão.", "Sejam bem vindos ao Tic Tac Toe.", "Espero que se divirtam.", "Tenham um bom jogo e boa sorte.\n", }; printf("* TIC - TAC - TOE *\n");; for (i = 0; i < 5; i++) { printf(" "); for (j = 0; j < 40; j++) { printf("%c", intro[i][j]); } printf("\n"); } system("pause"); system("CLS"); do { leave = Menu(); } while (leave == 0); return 0; } // Menu Principal; int Menu(void) { int menu; do{ // Menu principal; printf("* TIC - TAC - TOE *\n"); printf("\n 1 - Jogar"); printf("\n 2 - Estatísticas"); printf("\n 0 - Fechar"); printf("\n\n | Opção: "); scanf("%d", &menu); if (menu < 0 || menu > 2){ printf("\n Opção inválida!"); printf("\n Informe uma opção válida do menu."); sleep(2); } system("CLS"); }while(menu < 0 || menu > 2); switch(menu){ case 1: // Menu de seleção de modo de jogo; GameMode(); break; case 2: // Quadro de dados sobre partidas; printf("Aqui terá dados sobre as partidas."); Menu(); break; case 0: // Fechar programa; return ExitProgram(); break; } } // Modo de jogo; void GameMode(void){ int menu; do{ // Menu modo de Jogo; printf("* TIC - TAC - TOE *\n");; printf("\n 1 - vs COM"); printf("\n 2 - vs Player"); printf("\n 0 - Voltar"); printf("\n\n | Opção: "); scanf("%d", &menu); if (menu < 0 || menu > 2){ printf("\n Opção inválida!"); printf("\n Informe uma opção válida do menu."); sleep(2); } system("CLS"); }while(menu < 0 || menu > 2); switch (menu){ case 1: // Jogar vs COM; VersusCOM(); break; case 2: // Jogar vs Player; VersusHuman(); break; case 0: // Voltar para o menu principal; system("CLS"); break; } } // Versus COM; void VersusCOM(void) { int winner = 3; int turn = 1; InitHouses(); setbuf(stdin, NULL); printf("* TIC - TAC - TOE *\n"); printf("\n\n Player 1: "); gets(player1.name); system("CLS"); do { // Execução do jogo; printf("* TIC - TAC - TOE *\n"); ShowHouses(); switch (turn) { case 1: turn = HumanMove(turn); break; case 2: turn = IAMove(); break; } winner = Verify(); system("CLS"); } while (winner > 2); switch (winner) { // Verifica quem ganhou; case 1: // Player 1 ganhou!! printf("* TIC - TAC - TOE *\n"); ShowHouses(); printf("\n\n %s ganhou!!", player1.name); break; case 2: // Player 2 ganhou!! printf("* TIC - TAC - TOE *\n"); ShowHouses(); printf("\n\n %s ganhou!!", com.name); break; default: // Deu empate!! printf("* TIC - TAC - TOE *\n"); ShowHouses(); printf("\n\n %s e %s empataram!!", player1.name, com.name); break; } sleep(2); system("CLS"); } // Versus Humano; void VersusHuman(void) { int winner = 3; int turn = 1; InitHouses(); setbuf(stdin, NULL); printf("* TIC - TAC - TOE *\n"); printf("\n\n Player 1: "); gets(player1.name); printf("\n\n Player 2: "); gets(player2.name); system("CLS"); do { // Execução do jogo; printf("* TIC - TAC - TOE *\n"); ShowHouses(); switch (turn) { case 1: turn = HumanMove(turn); break; case 2: turn = HumanMove(turn); break; } winner = Verify(); system("CLS"); } while (winner > 2); switch (winner) { // Verifica quem ganhou; case 1: // Player 1 ganhou!! printf("* TIC - TAC - TOE *\n"); ShowHouses(); printf("\n\n %s ganhou!!", player1.name); break; case 2: // Player 2 ganhou!! printf("* TIC - TAC - TOE *\n"); ShowHouses(); printf("\n\n %s ganhou!!", player2.name); break; default: // Deu empate!! printf("* TIC - TAC - TOE *\n"); ShowHouses(); printf("\n\n %s e %s empataram!!", player1.name, player2.name); break; } sleep(2); system("CLS"); } // Sair programa; int ExitProgram(void) { char leave; int setExit = 0; do { // Sair do programa; printf("* TIC - TAC - TOE *\n"); printf("\n Deseja sair [S/N]? "); setbuf(stdin, NULL); scanf("%c", &leave); getchar(); if ((leave == 's') || (leave == 'S')) { system("CLS"); printf("* TIC - TAC - TOE *\n"); printf("\n Tchau!!"); sleep(1); return 1; } else { if ((leave == 'n') || (leave == 'N')) { system("CLS"); return 0; } else { printf("\n Opção invalida!!"); } } Sleep(750); system("CLS"); } while ((leave != 's' && leave != 'S') || (leave != 'n' && leave != 'N')); } // Inicializador de grade; void InitHouses(void) { int i; // Inicialização da grade; for (i = 0; i <= 9; i++) { house[i] = ' '; } } // Mostra grade; void ShowHouses(void) { int i, count; printf("\n"); printf(" "); for (i = 0; i <= 2; i++) { printf("|%c|", house[i]); } printf("\n"); printf(" "); for (i = 3; i <= 5; i++) { printf("|%c|", house[i]); } printf("\n"); printf(" "); for (i = 6; i <= 8; i++) { printf("|%c|", house[i]); } } // Inicializações; void Initiate(void){ // Player 1; player1.match = 0; player1.win = 0; player1.tie = 0; player1.lose = 0; // Player 2; player2.match = 0; player2.win = 0; player2.tie = 0; player2.lose = 0; // COM; strcpy(com.name, "Jarvas"); com.match = 0; com.win = 0; com.tie = 0; com.lose = 0; // Inicialização da grade; InitHouses(); } // Jogada humana; int HumanMove(int turn) { int spot, keepItOn; switch (turn) { case 1: printf("\n\n -> %s", player1.name); printf("\n Local [1-9]: "); scanf("%d", &spot); keepItOn = EmptyHouse(spot, turn); break; case 2: printf("\n\n -> %s", player2.name); printf("\n Local [1-9]: "); scanf("%d", &spot); keepItOn = EmptyHouse(spot, turn); break; } return keepItOn; } // Jogada IA; int IAMove(void) { int spot, i; // Definindo casa para jogar; srand(time(NULL)); spot = rand() % TAM; // Verifica se local está ocupado; if (house[spot] == ' ') { house[spot] = 'O'; return 1; } else { char dots[3] = "..."; char *s = dots; printf("\n\n -> %s está Pensando", com.name); for (i = 0; i < strlen(dots); i++) { printf("%c", *s); Sleep(200); } return 2; } } // Verifica se local está ocupado; int EmptyHouse(int spot, int turn) { switch (turn) { case 1: if (house[spot - 1] == ' '){ house[spot - 1] = 'X'; // Retorna 2 para passar o turno após jogado com sucesso; return 2; } else { printf(" Ocupado!!"); Sleep(750); // Retorna 1 para não passar o turno sem jogar return 1; } break; case 2: if (house[spot - 1] == ' '){ house[spot - 1] = 'O'; // Retorna 2 para passar o turno após jogado com sucesso; return 1; } else { printf(" Ocupado!!"); Sleep(750); // Retorna 1 para não passar o turno sem jogar return 2; } break; } } // Verifica se alguem ganhou; int Verify(void) { int i; // Verifica linhas; for(i=0; i<3; i++){ if(house[i*3] == house[i*3+1] && house[i*3] == house[i*3+2]){ if(house[i*3] == 'X') return 1; if(house[i*3] == 'O') return 2; } } // Verifica Colunas: for(i=0; i<3; i++){ if(house[i] == house[i+3] && house[i] == house[i+6]){ if(house[i] == 'X') return 1; if(house[i] == 'O') return 2; } } // Verifica Diagonal Principal: if(house[0] == house[4] && house[0] == house[8]){ if(house[0] == 'X') return 1; if(house[0] == 'O') return 2; } // Verifica Diagonal Secundária if(house[2] == house[4] && house[2] == house[6]){ if(house[2] == 'X') return 1; if(house[2] == 'O') return 2; } char tie = 1; for (i = 0; i <= TAM; i++) { if (house[i] == ' ') { tie = 0; break; } } if (tie) return 0; return 3; } E ai, após algum tempo, consegui achar um tempinho para ver as dicas aqui. Dei uma analisada por cima nos códigos enviados, mas não consegui rodar eles ainda. Fiz algumas correções nas dicas que deram e alguns problemas que encontrei enquanto testava
  4. @isrnick Obrigado pelas dicas. Deu uma boa melhorada com elas, mas sinto que o código desse jogo ainda não está bom. Eu estava testando o jogo e após algum tempo jogando, deu algum bug quando eu estava no meio do jogo que saiu sozinho da partida, voltando aos menus e saindo do jogo.
  5. @isrnick É para verificar se todas as casas da grade são diferentes de ' ', ou seja, se a grade estiver completa e mesmo assim ninguém formar um trio. Eu tava analisando a correção do verify que você fez, não seria melhor eu ter feito um laço for com um contador para verificar se todas as casas estão ocupadas?
  6. Foi mal, esqueci que tinha o facilitador.h. Ta ai. // Limpa tela; void Clean(){ system("CLS"); } // Limpa buffer; void limpabuffer(){ setbuf(stdin, NULL); } // Pula linha; void pulalinha(){ printf("\n"); } // Nome programa; void titulo(char nome[50]){ printf("\n\t\t\t\t | --------------- %s --------------- |\n", nome); } // Pausa; void pausa(){ printf("\n\t"); system("pause"); } adicionado 5 minutos depois @devair1010 Eu tinha feito ele faz algum tempo, então não me recordo quanto tempo. Eu tava mexendo em uns arquivos aqui e vi ele, pensei em tentar melhorar algumas coisas. Levou dois dias (entre trabalho e faculdade) para modificar ele. O código original tinha quase 700 linhas .
  7. E ai galera, certinho? Criei esse jogo da velha para praticar e gostaria de opiniões sobre ele. #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <windows.h> #include <string.h> #include "Facilitador.h" #define TAM 8 // Dados sobre os players (a maquina conta como player e será inicializado no começo do jogo); typedef struct { // Nome do player, a maquina será COM; char name[10]; // Dados sobre partidas, vitórias, empates e derrotas; int match, win, tie, lose; }Player; // grade do jogo; char house[TAM]; // Referenciação dos players; Player player1; Player player2; Player com; /* Declaração das funções */ void Menu(); void GameMode(); void VersusCOM(); void VersusHuman(); void ExitProgram(); void InitHouses(); void Initiate(); void ShowHouses(); void HumanMove(int turn); void IAMove(); void EmptyHouse(int spot, int turn); int Verify(); int main() { // Inicializações; Initiate(); // CONFIGURANDO PARA O IDIOMA PORTUGUES; setlocale(LC_ALL, "Portuguese"); int i, j; // Apresentação; char intro [5][40] = { "Olá!", "Prazer, eu sou o Jarvas.", "Sejam bem vindos ao Tic Tac Toe.", "Espero que se divirtam.", "Tenham um bom jogo e boa sorte.", }; titulo("TIC TAC TOE"); for (i = 0; i < 5; i++) { printf(" "); for (j = 0; j < 40; j++) { printf("%c", intro[i][j]); } pulalinha(); } pausa(); Clean(); Menu(); return 0; } // Menu Principal; void Menu() { int menu; do{ // Menu principal; titulo("TIC TAC TOE"); printf("\n 1 - Jogar"); printf("\n 2 - Estatísticas"); printf("\n 0 - Fechar"); printf("\n\n | Opção: "); scanf("%d", &menu); if (menu < 0 || menu > 2){ printf("\n Opção inválida!"); printf("\n Informe uma opção válida do menu."); sleep(2); } Clean(); }while(menu < 0 || menu > 2); switch(menu){ case 1: // Menu de seleção de modo de jogo; GameMode(); break; case 2: // Quadro de dados sobre partidas; printf("Aqui terá dados sobre as partidas."); Menu(); break; case 0: // Fechar programa; ExitProgram(); Menu(); break; } } // Modo de jogo; void GameMode(){ int menu; do{ // Menu modo de Jogo; titulo("TIC TAC TOE"); printf("\n 1 - vs COM"); printf("\n 2 - vs Player"); printf("\n 0 - Voltar"); printf("\n\n | Opção: "); scanf("%d", &menu); if (menu < 0 || menu > 2){ printf("\n Opção inválida!"); printf("\n Informe uma opção válida do menu."); sleep(2); } Clean(); }while(menu < 0 || menu > 2); switch (menu){ case 1: // Jogar vs COM; VersusCOM(); break; case 2: // Jogar vs Player; VersusHuman(); break; case 0: // Voltar para o menu principal; titulo("TIC TAC TOE"); Clean(); Menu(); break; } } // Versus COM; void VersusCOM() { int winner = 3; int turn = 1; InitHouses(); limpabuffer(); titulo("TIC TAC TOE"); printf("\n\n Player 1: "); gets(player1.name); Clean(); do { // Execução do jogo; titulo("TIC TA TOE"); ShowHouses(); switch (turn) { case 1: HumanMove(turn); turn = 2; break; case 2: IAMove(); turn = 1; break; } winner = Verify(); Clean(); } while (winner > 2); switch (winner) { // Verifica quem ganhou; case 1: // Player 1 ganhou!! titulo("TIC TA TOE"); ShowHouses(); printf("\n\n %s ganhou!!", player1.name); break; case 2: // Player 2 ganhou!! titulo("TIC TA TOE"); ShowHouses(); printf("\n\n %s ganhou!!", com.name); break; default: // Deu empate!! titulo("TIC TA TOE"); ShowHouses(); printf("\n\n %s e %s empataram!!", player1.name, com.name); break; } sleep(2); Clean(); GameMode(); } // Versus Humano; void VersusHuman() { int winner = 3; int turn = 1; InitHouses(); limpabuffer(); titulo("TIC TAC TOE"); printf("\n\n Player 1: "); gets(player1.name); printf("\n\n Player 2: "); gets(player2.name); Clean(); do { // Execução do jogo; titulo("TIC TA TOE"); ShowHouses(); switch (turn) { case 1: HumanMove(turn); turn = 2; break; case 2: HumanMove(turn); turn = 1; break; } winner = Verify(); Clean(); } while (winner > 2); switch (winner) { // Verifica quem ganhou; case 1: // Player 1 ganhou!! titulo("TIC TA TOE"); ShowHouses(); printf("\n\n %s ganhou!!", player1.name); break; case 2: // Player 2 ganhou!! titulo("TIC TA TOE"); ShowHouses(); printf("\n\n %s ganhou!!", player2.name); break; default: // Deu empate!! titulo("TIC TA TOE"); ShowHouses(); printf("\n\n %s e %s empataram!!", player1.name, player2.name); break; } sleep(2); Clean(); GameMode(); } // Sair programa; void ExitProgram() { char leave; int setExit = 0; do { // Sair do programa; titulo("TIC TAC TOE"); printf("\n Deseja sair [S/N]? "); limpabuffer(); scanf("%c", &leave); getchar(); if ((leave == 's') || (leave == 'S')) { Clean(); titulo("TIC TAC TOE"); printf("\n Tchau!!"); sleep(1); exit(0); } else { if ((leave == 'n') || (leave == 'N')) { Clean(); break; } else { printf("\n Opção invalida!!"); } } Sleep(750); Clean(); } while ((leave != 's' && leave != 'S') || (leave != 'n' && leave != 'N')); } // Inicializador de grade; void InitHouses() { int i; // Inicialização da grade; for (i = 0; i <= 9; i++) { house[i] = ' '; } } // Mostra grade; void ShowHouses() { int i, count; pulalinha(); printf(" "); for (i = 0; i <= 2; i++) { printf("|%c|", house[i]); } pulalinha(); printf(" "); for (i = 3; i <= 5; i++) { printf("|%c|", house[i]); } pulalinha(); printf(" "); for (i = 6; i <= 8; i++) { printf("|%c|", house[i]); } } // Inicializações; void Initiate(){ // Player 1; player1.match = 0; player1.win = 0; player1.tie = 0; player1.lose = 0; // Player 2; player2.match = 0; player2.win = 0; player2.tie = 0; player2.lose = 0; // COM; strcpy(com.name, "Jarvas"); com.match = 0; com.win = 0; com.tie = 0; com.lose = 0; // Inicialização da grade; InitHouses(); } // Jogada humana; void HumanMove(int turn) { int spot; switch (turn) { case 1: printf("\n\n -> %s", player1.name); printf("\n Local [1-9]: "); scanf("%d", &spot); break; case 2: printf("\n\n -> %s", player2.name); printf("\n Local [1-9]: "); scanf("%d", &spot); break; } EmptyHouse(spot, turn); } // Jogada IA; void IAMove() { int spot, i; // Definindo casa para jogar; srand(time(NULL)); spot = rand() % TAM; // Verifica se local está ocupado; if (house[spot] == ' ') { house[spot] = 'O'; } else { char dots[3] = "..."; char *s = dots; printf("\n\n -> %s está Pensando", com.name); for (i = 0; i < strlen(dots); i++) { printf("%c", *s); Sleep(200); } IAMove(); } } // Verifica se local está ocupado; void EmptyHouse(int spot, int turn) { switch (turn) { case 1: if (house[spot - 1] == ' '){ house[spot - 1] = 'X'; } else { printf(" Ocupado!!"); Sleep(750); } break; case 2: if (house[spot - 1] == ' '){ house[spot - 1] = 'O'; } else { printf(" Ocupado!!"); Sleep(750); } break; } } // Verifica se alguem ganhou; int Verify() { // winner = 1 é Player um - winner = 2 é player dois - winner = 0 é empate; int winner = 3; // Verifica se o Player 1 ganhou; if (house[0] == 'X' && house[1] == 'X' && house[2] == 'X') { winner = 1; } else { if (house[3] == 'X' && house[4] == 'X' && house[5] == 'X') { winner = 1; } else { if (house[6] == 'X' && house[7] == 'X' && house[8] == 'X') { winner = 1; } else { if (house[0] == 'X' && house[3] == 'X' && house[6] == 'X') { winner = 1; } else { if (house[1] == 'X' && house[4] == 'X' && house[7] == 'X') { winner = 1; } else { if (house[2] == 'X' && house[5] == 'X' && house[8] == 'X') { winner = 1; } else { if (house[0] == 'X' && house[4] == 'X' && house[8] == 'X') { winner = 1; } else { if (house[2] == 'X' && house[4] == 'X' && house[6] == 'X') { winner = 1; } } } } } } } } // Verifica se o Player 2 ganhou; if (house[0] == 'O' && house[1] == 'O' && house[2] == 'O') { winner = 2; } else { if (house[3] == 'O' && house[4] == 'O' && house[5] == 'O') { winner = 2; } else { if (house[6] == 'O' && house[7] == 'O' && house[8] == 'O') { winner = 2; } else { if (house[0] == 'O' && house[3] == 'O' && house[6] == 'O') { winner = 2; } else { if (house[1] == 'O' && house[4] == 'O' && house[7] == 'O') { winner = 2; } else { if (house[2] == 'O' && house[5] == 'O' && house[8] == 'O') { winner = 2; } else { if (house[0] == 'O' && house[4] == 'O' && house[8] == 'O') { winner = 2; } else { if (house[2] == 'O' && house[4] == 'O' && house[6] == 'O') { winner = 2; } } } } } } } } // Verifica se foi empate; if (winner != 0 && winner != 1) { if (house[0] != ' ' && house [1] != ' ' && house [2] != ' ' && house[3] != ' ' && house[4] != ' ' && house[5] != ' ' && house[6] != ' ' && house[7] != ' ' && house[8] != ' ') { winner = 0; } } return winner; }
  8. Opa! Queria saber se tem alguma forma de eu iniciar um o projeto através de um outro projeto dentro de uma mesma solução.
  9. E ai pessoal, tudo certo? Queria entender por quê o cursor se move para a esquerda após um comando que deveria fazer ele mover para um local especifico. Por exemplo, escrevi um código para mover o cursor em uma matriz de 9 espaços, devendo mover o cursor apenas quando aperto em uma das setas direcionais, porém quando eu aperto uma das setas ele move para o espaço e quando aperto para ir para outro espaço, primeiro ele vai para posição da direita e dai tenho que apertar novamente a tecla para ir pra onde eu quero. Alguem sabe o motivo e se tem alguma solução para isso. O código ta aqui embaixo para testarem. namespace Teste { class Teste { static void Main(string[] args) { byte i1, i2 = 0; char p1 = ' ', p2 = ' ', p3 = ' ', p4 = ' ', p5 = ' ', p6 = ' ', p7 = ' ', p8 = ' ', p9 = ' '; string grid1 = "+ - +"; char grid2 = '|'; byte h = 11, v = 5; // Posição de cada variavel Console.SetCursorPosition(7, 3); Console.Write(p1); Console.SetCursorPosition(11, 3); Console.Write(p2); Console.SetCursorPosition(15, 3); Console.Write(p3); Console.SetCursorPosition(7, 5); Console.Write(p4); Console.SetCursorPosition(11, 5); Console.Write(p5); Console.SetCursorPosition(15, 5); Console.Write(p6); Console.SetCursorPosition(7, 7); Console.Write(p7); Console.SetCursorPosition(11, 7); Console.Write(p8); Console.SetCursorPosition(15, 7); Console.Write(p9); // Desenha o quadro // Horizontal for (i1 = 5; i1 <= 13; i1 += 4) { // Vertical for (i2 = 2; i2 <= 8; i2 += 2) { Console.SetCursorPosition(i1, i2); Console.Write(grid1); } } // Horizontal for (i1 = 5; i1 <= 19; i1 += 4) { // Vertical for (i2 = 3; i2 <= 8; i2 += 2) { Console.SetCursorPosition(i1, i2); Console.Write(grid2); } } // Seta o cursor no centro do quadro Console.SetCursorPosition(h, v); do { switch (Console.ReadKey().Key) { // Caso seja pressionado a seta direita, move o cursor pra direita case ConsoleKey.RightArrow: h += 4; if (h > 15) { h = 15; } Console.SetCursorPosition(h, v); break; // Caso seja pressionado a seta esquerda, move o cursor para esquerda case ConsoleKey.LeftArrow: h -= 4; if (h < 7) { h = 7; } Console.SetCursorPosition(h, v); break; // Caso seja pressionado a seta para cima, move o cursor para cima case ConsoleKey.UpArrow: v -= 2; if (v < 3) { v = 3; } Console.SetCursorPosition(h, v); break; // Caso seja pressionado a seta para baixo, move o cursor para baixo case ConsoleKey.DownArrow: v += 2; if (v > 7) { v = 7; } Console.SetCursorPosition(h, v); break; // Caso seja pressionado enter, passa o valor 'X' para a variavel que está naquele local case ConsoleKey.Enter: switch (v) { case 3: switch (h) { case 7: p1 = 'x'; Console.Write(p1); break; case 11: p2 = 'x'; Console.Write(p2); break; case 15: p3 = 'x'; Console.Write(p3); break; } break; case 5: switch (h) { case 7: p4 = 'x'; Console.Write(p4); break; case 11: p5 = 'x'; Console.Write(p5); break; case 15: p6 = 'x'; Console.Write(p6); break; } break; case 7: switch (h) { case 7: p7 = 'x'; Console.Write(p7); break; case 11: p8 = 'x'; Console.Write(p8); break; case 15: p9 = 'x'; Console.Write(p9); break; } break; } break; } } while (Console.ReadKey().Key != ConsoleKey.Q); // Apertando 'Q' será encerrado o programa } } }

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!