Ir ao conteúdo
  • Cadastre-se

João Augusto Gomes Ribeiro

Membros Plenos
  • Total de itens

    22
  • Registro em

  • Última visita

  • Qualificações

    N/D

Reputação

20

Sobre João Augusto Gomes Ribeiro

  • Data de Nascimento 06-11-2004 (14 anos)

Informações gerais

  • Cidade e Estado
    manaus/AM
  • Sexo
    Masculino
  1. 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]); } }
  2. 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.
  3. 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) }
  4. @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; } }
  5. @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.
  6. 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; } }
  7. 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; } }
  8. @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; } }
  9. @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
  10. @devair1010 Oi ,você sabe o que é atoi? e se souber pode me dizer o que é.
  11. @devair1010Olha cara eu só quero que a variável "velha" receba X ou O, Que o resto tá no papo
  12. @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]
  13. #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.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×