Ir ao conteúdo
  • Cadastre-se

João Augusto Gomes Ribeiro

Membro Pleno
  • Posts

    24
  • Cadastrado em

  • Última visita

posts postados por João Augusto Gomes Ribeiro

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

  2. 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]);
    		}
    	}

     

    problema.png

    • Amei 1
  3.  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.

  4. 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)
      }

     

  5. @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;
    	}
    	}

     

    • Curtir 1
  6. @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.

    • Curtir 1
  7. 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;
    	}
    	}

     

    • Curtir 1
  8. 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;
    	}
    	}

     

    • Curtir 1
  9. @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;
    	}
    	}

     

    • Curtir 1
  10. @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

    • Curtir 1
  11. #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.

    • Curtir 1

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!