Exemple #1
0
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    Tabuleiro tron;
    tron.show();

    return a.exec();
}
Exemple #2
0
//criando um tabuleiro novo e imprimindo ele, apenas para ver funcionar
int main (int argc, char const* argv[])
{
  ImportadorPorArquivo * importador = new ImportadorPorArquivo();

  Tabuleiro * tabuleiro = new Tabuleiro(importador->get_linha());
  tabuleiro->imprime_tabuleiro();

  return 0;
}
Exemple #3
0
void Interface::MostraTabuleiro(Tabuleiro Mesa)
{
    int linha,coluna;

    cout<<"| A  | B  | C  | D  | E  | F  | G  | H  |"<<endl;

    for(linha=0;linha<=7;linha++)
    {
        cout<<linha+1<<"\t"<<endl;

        for(coluna=0;coluna<=7;coluna++)
        {
            if(Mesa.GetDadosCasa(linha,coluna)->GetPedra()==NULL)
            {
               cout<<"|____"/*<<endl*/;
            }
            else
            {
                if(Mesa.GetDadosCasa(linha,coluna)->GetPedra()->GetCor())
                {
                        if(Mesa.GetDadosCasa(linha,coluna)->GetPedra()->GetEhDama())
                        {
                                cout<<"|_DB_"/*<<endl*/;
                        }
                        else
                        {
                                cout<<"|__B_"/*<<endl*/;
                        }
                }
                else
                {
                        if(Mesa.GetDadosCasa(linha,coluna)->GetPedra()->GetEhDama())
                        {
                                cout<<"|_DP_"/*<<endl*/;
                        }
                        else
                        {
                               cout<<"|__P_"/*<<endl*/;
                        }
                }

            }

        }
        cout<<"|\n"<<endl;
    }
}
Exemple #4
0
void main (void) {
  Tabuleiro T;
  Jogador *J1,*J2;
  Usuario U1,U2;
  int lado=1;

  J1=&U1;
  J2=&U2;
  do {
    T.Draw ();
    if (lado)
      T=J2->Processa (T,lado);
    else
      T=J1->Processa (T,lado);
    lado=!lado;
  } while (!(T.End () || endgame));
}
Exemple #5
0
int Interface::Pontuacao (Tabuleiro Mesa)
{

    if(Mesa.GetPecasPretas()==0)
    {
        return 1;
    }
    else if(Mesa.GetPecasBrancas()==1)
    {
        return 2;
    }

    cout<<"\t\t\tPontuacao \n"<<endl;
    cout<<"Player 1: "<<(12-Mesa.GetPecasPretas())<< endl;
    cout<<"\t\tPlayer 2: "<<(12-Mesa.GetPecasBrancas())<<"\n\n"<< endl;

    return 0;
}
Exemple #6
0
jogo* arqtexto::Carregar(void) {
    try{
        this->LeArquivo(persistencia);
        
        Tabuleiro *Partida = new Tabuleiro();
        Casa *casa = new Casa();
        Pecas *pedra = new Pecas();
        jogo *Salvo = jogo::getInstance();

        int cor,dama,linha,coluna;

        while(!persistencia.fail())
        {

            persistencia>>cor;
            persistencia>>linha;
            persistencia>>coluna;

            if(cor=='22' && Partida->GetDadosCasa(linha,coluna)->GetPedra()!=NULL){
                Partida->GetDadosCasa(linha,coluna)->SetPedras(NULL);
            }
            else if(cor!='22')
            {
                persistencia>>dama;

                if(this->CorPedra(linha,coluna,Partida)!=cor || this->StatusPedra(linha,coluna,Partida)!=dama){
                    Pecas *pedra = new Pecas(cor);
                    //pedra->ehDama = dama;
                    Partida->GetDadosCasa(linha,coluna)->SetPedras(pedra);
                }
            } 
         }

        Salvo->tab=Partida;
        return Salvo;
    }
Exemple #7
0
Tabuleiro Usuario::Processa (Tabuleiro T, int lado) {
  int end=0,estado=1,sx,sy,i;

  T.ShowCursor ();
  do {
    gotoxy (40,1);
    cprintf ("Lado %d Estado=%d ",lado,estado);
    gotoxy (px*2+1,py+1);
    switch (getch ()) {
      case 0: switch (toupper (getch ())) {
                case UP:    py-=1;
                            break;
                case DOWN:  py+=1;
                            break;
                case RIGHT: px+=1;
                            break;
                case LEFT:  px-=1;
                            break;
              }
              if (px<0) px=7;
              if (py<0) py=7;
              if (px>7) px=0;
              if (py>7) py=0;
              T.DrawOne (px,py,T.tab[px][py]);
              break;
      case 27: endgame=1;
               end=1;
               break;
      case 'R': T.Draw ();
                break;
      case 13: if (estado) {
                 if (T.tab[px][py]%2==lado) {
                   textcolor (WHITE);
                   T.DrawOne (px,py,T.tab[px][py]);
                   textcolor (LIGHTGRAY);
                   estado=0;
                   sx=px;
                   sy=py;
                 }
               } else {
                 if (T.Checa (sx,sy,px,py,lado)) {
                   T.tab[px][py]=T.tab[sx][sy];
                   T.tab[sx][sy]=0;
                   end=1;
                   T.DrawOne (sx,sy,0);
                   textcolor (WHITE);
                   T.DrawOne (px,py,T.tab[px][py]);
                   textcolor (LIGHTGRAY);
                   if (T.comidas) {
                     for (i=0; i<T.comidas; i++) {
                       T.tab[T.pos[i][0]][T.pos[i][1]]=0;
                       T.DrawOne (T.pos[i][0],T.pos[i][1],0);
                     }
                   }
                 } else {
                   T.DrawOne (sx,sy,T.tab[sx][sy]);
                   estado=1;
                 }
               }
    }
  } while (!end);
  return T;
}