Ir para conteúdo
Fórum Script Brasil

Familía Santos

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Familía Santos

Familía Santos's Achievements

0

Reputação

  1. Olá boa noite amigos, estou a desenvolver um jogo em c++ estilo "tiktak toe" (jogo da velha.. jogo do galo...) e o programa consiste em nós pudermos escolher se conseguimos jogar contra a máquina ou contra algum player, até agora consegui fazer tudo direitinho mas não consigo colocar o programa a jogar contra o pc e preciso de entregar o trabalho para esta semana! gostava de saber se alguém pode ajudar, vou disponibilizar aqui o código para darem uma olhada: #include <iostream> #include <stdlib.h> #include <string> #include <locale> #define VERMELHO "\x1b[31m" #define VERDE "\x1b[32m" #define AZUL "\x1b[34m" #define RESET "\x1b[0m" using namespace std; void init(int board[] [3]); char printBlock(int block); void show (int board[] [3]); void playMove (int board[] [3], int); int checkContinue (int *board[3]); int checkWIn (int *board[3]); int game (int board[] [3]); void scoreboard (int, int &, int &); string nome1, nome2; int main() { int board [3][3]; int cont=0, player1=0, player2=0, result; char s; setlocale(LC_ALL,"Portuguese"); cout<<"********************* "<<endl; cout<<"* JOGO DO GALO! *"<<endl; cout<<"********************* "<<endl; cout<<"Clique em ENTER para começar!"<<endl; cin.get(); system("clear||cls"); cout<<"OLA! BEM-VINDO AO JOGO DO GALO, AS REGRAS SÃO SIMPLES! VAMOS LÁ REVER!!"<<endl; cout<<"clica em ENTER para passar de regra em regra!"<<endl; cin.get(); cout<<"REGRA 1: Arranja um amigo para jogar contigo pois o jogo só funciona com 2 jogadores"<<endl; cin.get(); cout<<"REGRA 2: Nenhum jogador pode tentar jogar em algum casa já preenchida"<<endl; cin.get(); cout<<"REGRA 3: A linha de peças iguais pode ser construida na vertical, na horizontal ou na oblíqua"<<endl; cin.get(); cout<<"REGRA 4: Os dois jogadores colocam, alternadamente, as suas peças de forma a construirem uma linha com 3 peças iguais em tabuleiros 3 × 3"; cin.get(); cout<< "AGORA QUE ESTÁS PRONTO PARA JOGAR VAMOS LÁ COMEÇAR!!"<<endl; cout<<"ENTER para prosseguir!"<<endl; cin.get(); system("clear||cls"); cout<<"Insere o nome do primeiro jogador: "; cin>>nome1; cout<<"Insere o nome do segundo jogador: "; cin>>nome2; system("clear||cls"); cout<<"Olá "<<nome1<<" bem-vindo, apartir de agora és o jogador 1"<<endl; cout<<"Olá "<<nome2<<" bem-vindo, apartir de agora és o jogador 2"<<endl; cin.get(); do{ init(board); result=game(board); show(board); scoreboard(result, player1, player2); cout<<RESET"\n Outra partida?"<<endl; cout<<RESET"0. Sair"<<endl; cout<<RESET"1. Jogar de novo."<<endl; cin>>cont; }while(cont); return 0; } void init(int board[][3]) { for(int i=0;i<3;i++) for(int j=0;j<3;j++) board[i][j]=0; } char printBlock(int block) { if(block==0) return ' '; else if(block==1) cout<<VERDE " X"; else cout<<AZUL " O"; } void show(int board[][3]) { cout<<endl; for(int row=0; row<3; row++){ cout<<" "<<printBlock(board[row][0])<<VERMELHO " |"; cout<<" "<<printBlock(board[row][1])<<VERMELHO" |" ; cout<<" "<<printBlock(board[row][2])<<endl; if(row!=2){ cout<<VERMELHO"___ ___ ___" RESET "\n"<<endl; } } } void playMove(int board[][3], int player) { int row, col, check; do{ cout<<"Linha: "; cin>>row; cout<<"Coluna: "; cin>>col; row--;col--; check=board[row][col] || row <0 || row>2 || col<0 || col>2; if(check) cout<<"Essa casa não está vazia ou está fora do intervalo 3x3"<<endl; }while(check); if(player==0) board[row][col]=1; else board[row][col]=-1; } int checkContinue(int board[][3]) { for(int i=0; i<3; i++) for(int j=0; j<3; j++) if(board[i][j]==0) return 1; return 0; } int checkWin(int board[][3]) { int row, col, sum; for(row=0; row<3; row++){ sum=0; for(col=0; col<3; col++) sum+=board[row][col]; if(sum==3) return 1; system("clear||cls"); if(sum==-3) return -1; system("clear||cls"); } for(col=0; col<3; col++){ sum=0; for(row=0; row<3; row++) sum+= board[row][col]; if(sum==3) return 1; system("clear||cls"); if(sum==-3) return -1; system("clear||cls"); } sum=0; for(row=0; row <3; row++) sum += board[row][row]; if(sum==3) return 1; system("clear||cls"); if(sum==-3) return -1; system("clear||cls"); sum=board[0][2]+board[1][1]+board[2][0]; if(sum==3) return 1; if(sum==-3) return -1; return 0; } int game(int board[][3]) { int turn=0, cont, win; do{ show(board); if (1+turn%2==1){ cout<<RESET""<<nome1<<endl; }else{ cout<<RESET ""<<nome2<<endl; } playMove(board, turn%2); turn++; cont=checkContinue(board); win=checkWin(board); }while(cont && !win); if(win==1){ cout<<nome1<<" ganhou!\n"<<endl; return 1; }else if(win==-1){ cout<<nome2<<" ganhou!\n"<<endl; return 2; }else cout<<"Empate\n"<<endl; return 0; } void scoreboard(int result, int &player1, int &player2) { if(result==1) player1++; if(result==2) player2++; cout<<"\nPlacar: "<<endl; cout<<player1<<"x"<<player2<<endl; }
×
×
  • Criar Novo...