Rômulo_SD Postado Agosto 6, 2012 Denunciar Share Postado Agosto 6, 2012 Dai galera queria compartilha com vocês meu primeiro jogo em c++é um simples jogo da velha.Se alguém puder dar uma opinião pra melhorar eu agradeço.já sei que da pra melhorar usando função ou outras coisas mas ainda não cheguei láServe pra quem ta estudando array multidimensional como euvaleu!#include <iostream> #include <cstdlib> #include <string> #define l 3 #define c 3 using namespace std; //JOGO DA VELHA int main() { short i,j,lin,col,contl,d,contd=0,ct,contc; char mt[l][c],op; string nome [2]; cout<<"General Public License\nJogo da velha v1.0\nProgramador:Romulo Sorato\nTestador:Romulo Sorato"<<endl; cout<<"Legenda:\nJogador 1:X\nJogador 2:O"<<endl<<endl; for(i=0; i<2; i++) { cout<<"Digite nome jogador "<<i+1<<endl; cin>>nome[i]; } cout<<"Digite o numero da linha e coluna para cada posicao que voce deseja marcar:"<<endl<<endl; do { for(i=0; i<l; i++) for(j=0; j<c; j++) mt[i][j]='?'; for(i=0; i<l; i++) { cout<<" "; for(j=0; j<c; j++) { cout<<mt[i][j]<<" "; } cout<<endl; } cout<<endl; do { do { cout<<"Jogador :"<<nome[0]<<endl; cin>>lin>>col; if(mt[lin][col]!='?') { cout<<"Posicao já marcada.Digite outra posicao"<<endl; } else { mt[lin][col]='X'; break; } } while(true); system("CLS"); for(i=0; i<l; i++) { cout<<" "; for(j=0; j<c; j++) { cout<<mt[i][j]<<" "; } cout<<endl; } cout<<endl; //validação linha,diagonal,diagonal secundario e coluna do jogador 1 e se deu velha ct=0; contd=0; d=c-1; for(i=0; i<l; i++) { contc=0; contl=0; if(mt[i][i]=='X'||mt[i][d]=='X') contd++; d--; for(j=0; j<c; j++) { if(mt[i][j]!='?') ct++; if(mt[i][j]=='X') contl++; if(mt[j][i]=='X') contc++; } if(contl==3||contd==3||contc==3) { cout<<endl; cout<<"Player 1 wins!!"<<endl; system ("PAUSE"); break; } if(contl==3||contd==3||contc==3) break; } if(contl==3||contd==3||contc==3) break; if(ct==l*c) { cout<<"Jogo da velha"<<endl; break; } // cout<<"Jogador 2:"<<nome[1]<<endl; cin>>lin>>col; do { if(mt[lin][col]!='?') { cout<<"Posicao já marcada.Digite outra posicao"<<endl; } else { mt[lin][col]='O'; break; } } while(true); system("CLS"); for(i=0; i<l; i++) { cout<<" "; for(j=0; j<c; j++) { cout<<mt[i][j]<<" "; } cout<<endl; } cout<<endl; //validação linha,diagonal,diagonal secundario e coluna do jogador 2 e se deu velha ct=0; contd=0; d=c-1; for(i=0; i<l; i++) { contc=0; contl=0; if(mt[i][i]=='O'||mt[i][d]=='0') contd++; d--; for(j=0; j<c; j++) { if(mt[i][j]!='?') ct++; if(mt[i][j]=='O') contl++; if(mt[j][i]=='O') contc++; } if(contl==3||contd==3||contc==3) { cout<<endl; cout<<"Player 2 wins!!"<<endl; system ("PAUSE"); break; } } if(contl==3||contd==3||contc==3) break; if(ct==l*c) { cout<<"Deu velha!"<<endl; break; } } while(true); cout<<"Deseja continuar?"<<endl; cin>>op; } while(op=='s'); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PedroCunha Postado Agosto 6, 2012 Denunciar Share Postado Agosto 6, 2012 (editado) Uma pequena dúvida:você não ter inicializado todas as variáveis não causou nenhum erro no programa? Editado Agosto 6, 2012 por PedroCunha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro~ Postado Agosto 7, 2012 Denunciar Share Postado Agosto 7, 2012 Voce não colocou um delimitador, para o usuario não digitar um valor em uma posição que já tem um valor.por exemplo usuario 1 coloca o x na posição 1,2 se o usuario 2 colocar na mesma posição da um loop infinito Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rômulo_SD Postado Agosto 9, 2012 Autor Denunciar Share Postado Agosto 9, 2012 (editado) Dai galera já arrumei os bugs brigado por me avisarem agora ta lançada a versão 2.0!Vlw!#include <iostream> #include <cstdio> #include <cstdlib> #include <string> #define l 3 #define c 3 using namespace std; //JOGO DA VELHA int main() { short i,j,lin,col,contl,d,contd=0,ct,contc,contd2; char mt[l][c],op; char nome1[20],nome2[20]; cout<<"General Public License\nJogo da velha v2.0\nProgramador:Romulo Sorato\nTestador:Romulo Sorato"<<endl; cout<<"Legenda:\nJogador 1:X\nJogador 2:O"<<endl<<endl; cout<<"Digite nome jogador 1"<<endl; cin.getline(nome1,20,'\n'); cout<<"Digite nome jogador 2"<<endl; cin.getline(nome2,20,'\n'); cout<<"Digite o numero da linha e coluna para cada posicao que voce deseja marcar:"<<endl<<endl; do { //Prenchendo com a matriz com "?" for(i=0; i<l; i++) for(j=0; j<c; j++) mt[i][j]='?'; //----------- //mostrando a matriz for(i=0; i<l; i++) { cout<<" "; for(j=0; j<c; j++) { cout<<mt[i][j]<<" "; } cout<<endl; } //------------ cout<<endl; do { do { //Pegando posição jogador 1 cout<<"Jogador :"<<nome1<<endl; cin>>lin>>col; //------------------ if(mt[lin][col]!='?') { cout<<"Posicao já marcada.Digite outra posicao"<<endl; } else { mt[lin][col]='X'; break; } } while(true); system("CLS"); for(i=0; i<l; i++) { cout<<" "; for(j=0; j<c; j++) { cout<<mt[i][j]<<" "; } cout<<endl; } cout<<endl; //validação linha,diagonal,diagonal secundario e coluna do jogador 1 e se deu velha ct=0; contd=0; contd2=0; d=c-1; for(i=0; i<l; i++) { contc=0; contl=0; if(mt[i][i]=='X') contd++; if(mt[i][d]=='X') contd2++; d--; for(j=0; j<c; j++) { if(mt[i][j]!='?') ct++; if(mt[i][j]=='X') contl++; if(mt[j][i]=='X') contc++; } if(contl==3||contd==3||contc==3||contd2==3) { cout<<"Player 1 wins!!"<<endl; system ("PAUSE"); break; } } if(contl==3||contd==3||contc==3||contd2==3) break; if(ct==l*c) { cout<<"Jogo da velha"<<endl; break; } // do { cout<<"Jogador 2:"<<nome2<<endl; cin>>lin>>col; if(mt[lin][col]!='?') { cout<<"Posicao já marcada.Digite outra posicao"<<endl; } else { mt[lin][col]='O'; break; } } while(true); system("CLS"); for(i=0; i<l; i++) { cout<<" "; for(j=0; j<c; j++) { cout<<mt[i][j]<<" "; } cout<<endl; } cout<<endl; //validação linha,diagonal,diagonal secundario e coluna do jogador 2 e se deu velha ct=0; contd=0; contd2=0; d=c-1; for(i=0; i<l; i++) { contc=0; contl=0; if(mt[i][i]=='O') contd++; if(mt[i][d]=='O') contd2++; d--; for(j=0; j<c; j++) { if(mt[i][j]!='?') ct++; if(mt[i][j]=='O') contl++; if(mt[j][i]=='O') contc++; } if(contl==3||contd==3||contc==3||contd2==3) { cout<<"Player 2 wins!!"<<endl; system ("PAUSE"); break; } } if(contl==3||contd==3||contc==3||contd2==3) break; if(ct==l*c) { cout<<"Jogo da velha"<<endl; break; } } while(true); cout<<"Deseja continuar?(S ou s para continuar e qualquer outra para sair)"<<endl; cin>>op; tolower(op); system("CLS"); } while(op=='s'); return 0; } Editado Agosto 9, 2012 por Rômulo_SD Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Rômulo_SD
Dai galera queria compartilha com vocês meu primeiro jogo em c++
é um simples jogo da velha.
Se alguém puder dar uma opinião pra melhorar eu agradeço.
já sei que da pra melhorar usando função ou outras coisas mas ainda não cheguei lá
Serve pra quem ta estudando array multidimensional como eu
valeu!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.