int main(int argc, char *argv[]) { QApplication a(argc, argv); Tabuleiro tron; tron.show(); return a.exec(); }
//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; }
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; } }
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)); }
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; }
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; }
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; }