Ir ao conteúdo
  • Cadastre-se

João Augusto Gomes Ribeiro

Membro Pleno
  • Posts

    24
  • Cadastrado em

  • Última visita

Tudo que João Augusto Gomes Ribeiro postou

  1. @fspjonny Obrigado por responder ,e Desculpe pelo incomodo desnecessário,Mas o erro se devia especificamente a uma biblioteca que eu queria instalar, Que era o "pyalsaaudio",Quando tentei instalar outras bibliotecas deu certo.
  2. Bom eu comecei a Desenvolver em Python a alguns dias ,Até aí tudo bem ,Mas Quero me aprofundar mais e partir a usar bibliotecas mais avançadas ,O problema é que estou Tentando instalar as bibliotecas com o comando: python -m pip install <nome da biblioteca> Eu instalei as ferramentas do Visual Studio,E o SDK do windows 10. E o erro é que não conseguiu achar o Diretório de algum cabeçalho : Como "Basetsd.h","io.h",ou o cabeçalho da própria biblioteca .
  3. Bom estou trabalhando com a biblioteca SFML. Estou tentando fazer uma versão do Space invaders, O problema é no movimento dos aliens ,Eu queria que eles fossem do inicio ao fim da tela depois voltar para o inicio.Mas eles ficam no fim da tela parados invés de voltar. if (ini2[0][8].getPosition().x + ini2[0][8].getLocalBounds().width == window.getSize().x) { for (int p = 0; p < 9; p++) { X1[p] -= 0.3; } } if(ini2[0][8].getPosition().x + ini2[0][8].getLocalBounds().width <= window.getSize().x) { for (int p = 0; p < 9; p++) { X1[p] += 0.3; } } for (int i = 0; i < 2; i++) { for (int p = 0; p < 9; p++) { ini2[i][p].setPosition(X1[p], Y1[i]); } }
  4. Olá. Estou à procura de uma linha de aprendizado para programação em c++, Eu sei o básico pois tudo que já sei veio de vídeos no youtube,livros e fontes da internet.Mas eu ando perdido nos estudos e quero uma base para aprender.
  5. bom estou tentando fazer um projeto com a biblioteca <graphics.h>,eu fiz tudo: baixei o pacote winBGIM,adicionei as bibliotecas "graphics.h" e "wingbim.h" na pasta include do code::blocks,adicionei o "libbgi.a" para a pasta lib,coloquei os Parâmetros -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 no code::blocks. problema: Depois que compilo e executo,não aparece a janela pedida no código e aparece uma janela de alerta falando que o programa parou de funcionar e fecha. meu codigo; #include <graphics.h> main(){ initwindow(400,300); // cria e abre uma janela gráfica com 400x300 pixels (largura x altura) moveto(0,0); // move o cursor gráfico para a coordenada 0,0 (origem do plano cartesiano) lineto(50,50); // desenha (plota) uma linha até a coordenada 50,50 (x,y) while(!kbhit()); // aguarda, em loop, até que uma tecla seja pressionada closegraph(); // fecha o modo gráfico e retorna ao modo de saída-padrão (texto) }
  6. @devair1010Eu estou com uma duvida onde eu irei usar esses codigos pois eu fiz uma gambiarra #include <iostream> using namespace std; void mostrar(); int pos[9],velha[3][3],o,p,r,c,g,s; string aux="O"; bool ganhador,jog_inv=false,empatou; void X_ou_O(){ if(aux=="O"){ aux = "X"; }else{ if(aux=="X"){ aux = "O"; } } } void terminou_velha(){ g = false; //horizontal if(velha[0][0]==velha[0][1]&&velha[0][1]==velha[0][2]){ g = true; }else{ if(velha[1][0]==velha[1][1]&&velha[1][1]==velha[1][2]){ g = true; }else{ if(velha[2][0]==velha[2][1]&&velha[2][1]==velha[2][2]){ g = true; }else{ //vertical if(velha[0][0]==velha[1][0]&&velha[1][0]==velha[2][0]){ g = true; }else{ if(velha[0][1]==velha[1][1]&&velha[1][1]==velha[2][1]){ g = true; }else{ if(velha[0][2]==velha[1][2]&&velha[1][2]==velha[2][2]){ g = true; }else{ //diagonal if(velha[0][0]==velha[1][1]&&velha[1][1]==velha[2][2]){ g = true; }else{ if(velha[0][2]==velha[1][1]&&velha[1][1]==velha[2][0]){ g = true; } } } } } } } } } int main(){ for(o=0;o<3;o++){ for(p=0;p<3;p++){ c = c + 1; velha[o][p] = c; } } mostrar(); for(r=0;r<9;r++){ if(r==9){ if(g==false){ empatou = true; } } X_ou_O(); if(g==false){ cout << "voce vai colocar {" << aux << "} " << "em que posicao" << endl; cin >> pos[r]; system("cls"); }else{ if(g==true){ cout << " JOGO ENCERRADO!!!!!! " << endl; system("pause"); return 0; }else{ if(jog_inv==true){ cout << " JOGADA INVALIDA " << endl; cout << " +----+-----+----+" << endl; cout << " Digite uma posicao para colocar {" << aux << "} de novo" << endl; cin >> pos[r]; system("cls"); }else{ if(empatou==true){ cout << " JOGO EMPATOU " << endl; system("pause"); return 0; } } } } if(pos[r]<1 || pos[r]>9){ jog_inv = true; }else{ for(s=0;s<9;s++){ if(pos[s]==pos[r]){ jog_inv = true; } } } cout << " +----+-----+----+" << endl; for(o=0;o<3;o++){ for(p=0;p<3;p++){ if(pos[r] != velha[o][p]){ if(velha[o][p] > 9)cout << " [ " << char (velha[o][p]) << "] "; else cout << " [ " <<(velha[o][p]) << "] "; }else{ velha[o][p] = (int)aux[0]; cout << " [ " << char ( velha[o][p] ) << "] "; } } cout << endl; cout << " +----+-----+----+" << endl; }// ver se o jogo empatou terminou_velha(); } system ("pause"); return 0; } void mostrar(){ cout << " +----+-----+----+" << endl; for(o=0;o<3;o++){ for(p=0;p<3;p++){ cout << " [ " << velha[o][p] << "] " ; } cout << endl; cout << " +----+-----+----+" << endl; } }
  7. @devair1010Bom eu descobri isso em outra postagem sua sobre o jogo da velha,mesmo assim obrigado. Bom eu não tenho mais esse problema ,mas eu tenho outros problemas que são: quando um jogador faz uma jogada igual a uma jogada anterior: for(r=0;r<9;r++){ cout << "voce vai colocar {" << aux << "} " << "em que posicao" << endl; cin >> pos[r]; system("cls"); for(s=0;s<9;s++){ if(pos[s]==pos[r]){ preencher = true; } } if(preencher==true){ cout << " JOGADA INVALIDA " << endl; cout << " +----+-----+----+" << endl; cout << " Digite uma posicao para colocar {" << aux << "} de novo" << endl; cin >> pos[r]; system("cls"); } ou quando faz uma jogada maior que o numero de casas: for(r=0;r<9;r++){ cout << "voce vai colocar {" << aux << "} " << "em que posicao" << endl; cin >> pos[r]; system("cls"); if(pos[r]>9){ cout << " JOGADA INVALIDA " << endl; cout << " +----+-----+----+" << endl; cout << " Digite uma posicao para colocar {" << aux << "} de novo" << endl; cin >> pos[r]; system("cls"); } } ou quando o jogo empatou(quando nenhum jogador conseguiu ganhar): for(r=0;r<9;r++){ if(empatou==true){ cout << "JOGO EMPATADO" << endl; system("pause"); return 0; } if(r==9){ if(ganhou!=true){ empatou = true; } } } Nenhumas dessas funcionou pode me ajudar,obrigado.
  8. Bom eu estou fazendo um programa do jogo da velha e estou com um problema na hora de fazer o programa declarar se: a posição escolhida já foi escolhida antes ,ou caso a posição seja maior que o numero de casas, e para fazer o programa empatar(que é quando nem o jogador que controla"X" e nem o jogador que controla "O" ganhou). O código: #include <iostream> using namespace std; void mostrar(); int pos[9],velha[3][3],o,p,r,c,s; string aux="O"; bool g,preencher=false; void X_ou_O(){ if(aux=="O"){ aux = "X"; }else{ if(aux=="X"){ aux = "O"; } } } void terminou_velha(){ g = false; //horizontal if(velha[0][0]==velha[0][1]&&velha[0][1]==velha[0][2]){ g = true; }else{ if(velha[1][0]==velha[1][1]&&velha[1][1]==velha[1][2]){ g = true; }else{ if(velha[2][0]==velha[2][1]&&velha[2][1]==velha[2][2]){ g = true; }else{ //vertical if(velha[0][0]==velha[1][0]&&velha[1][0]==velha[2][0]){ g = true; }else{ if(velha[0][1]==velha[1][1]&&velha[1][1]==velha[2][1]){ g = true; }else{ if(velha[0][2]==velha[1][2]&&velha[1][2]==velha[2][2]){ g = true; }else{ //diagonal if(velha[0][0]==velha[1][1]&&velha[1][1]==velha[2][2]){ g = true; }else{ if(velha[0][2]==velha[1][1]&&velha[1][1]==velha[2][0]){ g = true; } } } } } } } } } void jogada_invalida(){ for(o=0;o<3;o++){ for(p=0;p<3;p++){ } } if(pos[r]>9){ preencher = true; } } int main(){ for(o=0;o<3;o++){ for(p=0;p<3;p++){ c = c + 1; velha[o][p] = c; } } mostrar(); for(r=0;r<9;r++){ X_ou_O(); jogada_invalida(); if(preencher==true){ cout << " JOGADA INVALIDA " << endl; cout << " +----+-----+----+" << endl; cout << " Digite uma posicao para colocar {" << aux << "} de novo" << endl; cin >> pos[r]; system("cls"); }else{ if(g==false){ cout << "voce vai colocar {" << aux << "} " << "em que posicao" << endl; cin >> pos[r]; system("cls"); }else{ if(g==true){ cout << " JOGO ENCERRADO!!!!!! " << endl; system("pause"); return 0; } } } cout << " +----+-----+----+" << endl; for(o=0;o<3;o++){ for(p=0;p<3;p++){ if(pos[r] != velha[o][p]){ if(velha[o][p] > 9)cout << " [ " << char (velha[o][p]) << "] "; else cout << " [ " <<(velha[o][p]) << "] "; }else{ velha[o][p] = (int)aux[0]; cout << " [ " << char ( velha[o][p] ) << "] "; } } cout << endl; cout << " +----+-----+----+" << endl; } terminou_velha(); } system ("pause"); return 0; } void mostrar(){ cout << " +----+-----+----+" << endl; for(o=0;o<3;o++){ for(p=0;p<3;p++){ cout << " [ " << velha[o][p] << "] " ; } cout << endl; cout << " +----+-----+----+" << endl; } }
  9. Olá @devair1010 Eu agora estou com um problema na hora de exibir quando um jogador ganha, recentemente o código está assim. #include <iostream> using namespace std; void mostrar(); int pos[9],velha[3][3],o,p,r,c; string aux="O"; bool g; void X_ou_O(){ if(aux=="O"){ aux = "X"; }else{ if(aux=="X"){ aux = "O"; } } } int main(){ for(o=0;o<3;o++){ for(p=0;p<3;p++){ c = c + 1; velha[o][p] = c; } } mostrar(); for(r=0;r<9;r++){ cout << "Digite uma posicao: " << endl; cin >> pos[r]; system("cls"); cout << " +----+-----+----+" << endl; for(o=0;o<3;o++){ for(p=0;p<3;p++){ if(pos[r] != velha[o][p]){ if(velha[o][p] > 9)cout << " [ " << char (velha[o][p]) << "] ";//essa linhas aqui else cout << " [ " <<(velha[o][p]) << "] ";//e essa também }else{ if(pos[r] == velha[o][p]){ X_ou_O(); velha[o][p] = (int)aux[0]; cout << " [ " << char ( velha[o][p] ) << "] "; } } } cout << endl; cout << " +----+-----+----+" << endl; } for(o=0;o<3;o++){ if(velha[o][1]==velha[o][2]&&velha[o][2]==velha[o][3]){ g = true; } } for(p=0;p<3;p++){ if(velha[1][p]==velha[2][p]&&velha[2][p]==velha[3][p]){ g = true; } } if(velha[1][1]==velha[2][2]&&velha[2][2]==velha[3][3]){ g = true; } if(velha[1][3]==velha[2][2]&&velha[2][2]==velha[3][1]){ g = true; } if(g==true){ cout << " JOGO FINALIZADO!!!" << endl; system("cls"); } } system ("pause"); return 0; } void mostrar(){ cout << " +----+-----+----+" << endl; for(o=0;o<3;o++){ for(p=0;p<3;p++){ cout << " [ " << velha[o][p] << "] " ; } cout << endl; cout << " +----+-----+----+" << endl; } }
  10. @devair1010 O único problema do código é que não vai converter as casas onde foi escolhido anteriormente #include <iostream> using namespace std; void mostrar(); int pos[9],velha[3][3],o,p,r,c; string aux="O"; void X_ou_O(){ if(aux=="O"){ aux = "X"; }else{ if(aux=="X"){ aux = "O"; } } } int main(){ for(o=0;o<3;o++){ for(p=0;p<3;p++){ c = c + 1; velha[o][p] = c; } } mostrar(); for(r=0;r<9;r++){ cout << "Digite uma posicao: " << endl; cin >> pos[r]; system("cls"); cout << " +----+-----+----+" << endl; for(o=0;o<3;o++){ for(p=0;p<3;p++){ if(pos[r] != velha[o][p]){ cout << " [ " << velha[o][p] << "] "; }else{ if(pos[r] == velha[o][p]){ X_ou_O(); velha[o][p] = (int)aux[0]; cout << " [ " << (char)velha[o][p] << "] "; } } } cout << endl; cout << " +----+-----+----+" << endl; } } system ("pause"); return 0; } void mostrar(){ cout << " +----+-----+----+" << endl; for(o=0;o<3;o++){ for(p=0;p<3;p++){ cout << " [ " << velha[o][p] << "] " ; } cout << endl; cout << " +----+-----+----+" << endl; } }
  11. @devair1010Eu irei esclarecer o que eu quero fazer, vi esse exercício no canal do Gustavo Guanabara no curso de logica de programação(algoritmo/portugol) da aula 15. Eu até baixei o pacote da aula para entender ,vi que ele usou uma função que fazia uma variável inteira receber um caractere que era "numpcarac" ,tentei de todas formas achar uma função ou outra maneira ,que fazia a mesma coisa que essa função pois era só isso que faltava pro meu programa dar certo.Aula dele aqui em baixo ↓ ↓ ↓ ↓ https://www.youtube.com/watch?v=hkE9WrjpAAk
  12. @devair1010 Oi ,você sabe o que é atoi? e se souber pode me dizer o que é.
  13. @devair1010Olha cara eu só quero que a variável "velha" receba X ou O, Que o resto tá no papo
  14. @devair1010Olha cara eu não consigo declarar uma variável como "char" não sei se é o compilador ou outra coisa,tive que mudar para "string" e agora deu esse erro: [Error] invalid conversion from 'const char*' to 'int' [-fpermissive]
  15. #include <iostream> using namespace std; void mostrar(); int pos[9],velha[3][3],o,p,r,c; char *aux="O"; void X_ou_O(){ if(aux=="O"){ aux = "X"; }else{ if(aux=="X"){ aux = "O"; } } } int main(){ X_ou_O(); for(o=0;o<3;o++){ for(p=0;p<3;p++){ c = c + 1; velha[o][p] = c; } } for(o=0;o<3;o++){ for(p=0;p<3;p++){ velha[o][p] = (int)aux; } } mostrar(); for(r=0;r<9;r++){ cout << "Digite um valor: " << endl; cin >> pos[r]; system("cls"); cout << " +----+-----+----+" << endl; for(o=0;o<3;o++){ for(p=0;p<3;p++){ cout << " [ " << velha[o][p] << "] "; } cout << endl; cout << " +----+-----+----+" << endl; } } system ("pause"); return 0; } void mostrar(){ cout << " +----+-----+----+" << endl; for(o=0;o<3;o++){ for(p=0;p<3;p++){ cout << " [ " << velha[o][p] << "] " ; } cout << endl; cout << " +----+-----+----+" << endl; } } @devair1010 tá aqui.
  16. @devair1010 Desculpa eu só queria diminuir o código, quer código todo?
  17. int velha[3][3],o,p,c; string aux; aux = "O"; void X_ou_O(){ // lopping para ficar mudando entre X e O if(aux=="O"){ aux = "X"; }else{ if(aux=="X"){ aux = "O"; } } } for(o=0;o<3;o++){ for(p=0;p<3;p++){ c = c + 1; velha[o][p] = c; } } for(o=0;o<3;o++){ for(p=0;p<3;p++){ if(posicao[r] == c){ velha[o][p] = (int)aux; // faz com que a casa que eu escolhi receba X ou O } } } @devair1010
  18. @devair1010 bom deu um erro: [Error] invalid cast from type 'std::string {aka std::basic_string<char>}' to type 'int'
  19. Eu estou fazendo um programa sobre o jogo da velha,porém o único problema é que eu tenho que fazer uma variável inteira receber um caractere (que no caso é o "X" ou "O") Mas não dá certo tem como me ajudar

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!