dfop02

Membros
  • Content Count

    26
  • Joined

  • Last visited

Community Reputation

0 Neutro

About dfop02

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Bom dia/tarde/noite. Eu sou o Dfop, sou aluno de T.I. gostaria de pedir a ajuda de vocês para desenvolver uma inteligência artificial para os jogadores poderem jogar contra. Nos meus estudos, eu consegui desenvolver o jogo e uma I.A. bem simples, qualquer jogador pouco experiente em xadrez a derrotaria facilmente, porém talvez seja um desafio bacana aos novatos, e eu gostaria de aprimora-la a ponto de que seja realmente um desafio até aos mais experientes jogadores, pensei em desenvolver essa parte por meio de uma rede neural, onde posso botar duas IA para jogarem uma contra a outra na expectativa que sua experiencia em movimentos e jogadas sejam aprimoradas com cada derrota, e assim consiga melhorar, porém é um assunto complexo até para mim, dei uma estudada sobre o tema um pouco e não consegui me adaptar ainda, caso alguém saiba mais sobre, por favor diga se é viável. Caso a rede neural esteja fora de opção, este é o esquema da IA que eu tentei propor até o momento: Uma função pega todas as jogadas possíveis do computador, vou chama-lo de computer, e então os salva em uma lista de movimentos, cada movimento é pontuado de a acordo com a importância da peça que ele pode matar, no próximo passo eu vou simular 5 jogadas a frente para tentar descobrir qual a melhor opção no momento (o que tiver maior pontuação, ou seja, eliminar mais peças do q ser eliminado), e assim no final escolher a de maior pontuação. A grosso modo basicamente é isso, alguém pode me ajudar a melhorar o desempenho dela? O código em si é complicado de mostrar pois cada um tem seu modo de visualizar e escreve-lo, então prefiro explicar assim pois fica mais acessível a todos que puderem ajudar.
  2. Tente tirar os elif e bote apenas if... if... if.
  3. print("Digite quantos elementos o vetor terá: ") n = input() vetor_1[n] vetor_2[n] soma[n] print("\nDigite os valores do vetor 1:\n") for i in range(n): vetor_1[i] = input() print("Digite os valores do vetor 2:\n") for i in range(n): vetor_2[i] = input() print("A soma dos vetores 1 e 2 é:\n") for i in range(n): soma[i] = vetor_1[i] + vetor_2[i] print(soma[i]) Eu não entendi a parte final do código, mas é só usar um if para satisfazer o que faltar. Acredito que seja isso que precise =)
  4. Estou com um pequeno problema aqui pra comperar uma string com uma letra, e também gostaria q tudo q o usuario digitasse no scanf seja automaticamente em maiusculo, pra evitar mais erros mas também não soube fazer, podem me explicar o que estou errando? Já tentei também botar a comparação padrão de strings strcmp mas n funcionou também =/ int digitar_jogada(){ int i, lin, col; char onde_esta[2], onde_vai[2]; printf("\nDigite com qual peça deseja jogar: "); scanf("%s", onde_esta); printf("\nDigite onde deseja jogar: "); scanf("%s", onde_vai); for (i=0; i<2; i++){ // Get the line **DA ERRO NA LINHA ABAIXO** if(onde_esta[i] == "A"){ col = 1; } else if(onde_esta[i] == "B"){ col = 2; } else if(onde_esta[i] == "C"){ col = 3; } else if(onde_esta[i] == "D"){ col = 4; } else if(onde_esta[i] == "E"){ col = 5; } else if(onde_esta[i] == "F"){ col = 6; } else if(onde_esta[i] == "G"){ col = 7; } else if(onde_esta[i] == "H"){ col = 8; } // Get the cols else if(onde_esta[i] == 1){ lin = 1; } else if(onde_esta[i] == 2){ lin = 2; } else if(onde_esta[i] == 3){ lin = 3; } else if(onde_esta[i] == 4){ lin = 4; } else if(onde_esta[i] == 5){ lin = 5; } else if(onde_esta[i] == 6){ lin = 6; } else if(onde_esta[i] == 7){ lin = 7; } else if(onde_esta[i] == 8){ lin = 8; } } return lin, col; }
  5. Certo, agora tive um progresso, mas por ser em uma linguagem que não estou habituado, eu não entendi bem as declarações e funções, apenas a parte lógica, basicamente ele manda a "IA" jogar de forma randômica em qualquer local não escolhido? Pelo menos foi o que deu a entender. Essa manipulação funciona bem em jogos de menor porte como jogo da velha que tem apenas 9 casas para preencher, mas em coisas mais elaboradas como damas e xadrez requer um refinamento a mais, algum tipo de filtragem nas jogadas, ou algo do gênero pra classificar como boas(executar) ou ruins(ignorar). Vou pesquisar sobre.
  6. Sinceramente, não ajudou muito... A ideia de vim buscar ajuda no fórum é de que alguém ajude com sugestões e/ou exemplos de como fazer. Mandar links de buscas no google é muito vago (O que alias eu já fiz antes de vir aqui, mas não encontrei o que procuro), eu procuro fazer uma IA especifica em uma linguagem especifica (C), mas não espero códigos prontos, quero aprender a fazer. Ainda assim eu agradeço a atenção o/
  7. Eu estou fazendo um xadrez como trabalho pra faculdade, e queria fazer a IA dele pra além de ser player 1 vs player 2, tenha player vs comp. Acontece que não faço a menor ideia de como fazer, alguém pode me dar uma luz de como fazer o comp jogar sozinho?
  8. Eu estou com uma extrema dificuldade em conseguir entender e aplicar uma simples barra de rolagem em um Toplevel para mostrar todo o conteudo da lista. Por favor, alguém pode me ajudar me passando um exemplo extremamente simples de como fazer um scrollbar funcional para um toplevel no python 3?
  9. Seu código está meio embolado, tente simplificar pra poder se ajudar na hora de erros e afins, mas se liga: #include<stdio.h> #include<stdlib.h> main(){ ## MATRIZ A ## int matrizA = [[]]; # Criei a matriz A vazia int lin, col; #criei as variaveis que guardam lin e col printf("Informe o numero de linhas da matriz: "); scanf("%d",&lin); #pega o valor da linha printf("\nInforme o numeros de colunas da matriz: "); scanf("%d",&col); #pega o valor da coluna ## MATRIZ B ## int matrizB = [[]]; # Criei a matriz B vazia # não precisa criar dnv lin e col, e so reutiliza-las printf("Informe o numero de linhas da matriz B: "); scanf("%d",&lin); printf("\nInforme o numeros de colunas da matriz B: "); scanf("%d",&col); ## cria a matriz que vai salvar a soma int matrizC = [[]]; int i, j; # Para cada linha... for(i=0;i<lin;i++){ # Para cada coluna... for(j=0;j<col;j++){ #pegue cada valor da matriz A e da matriz B, soma eles, e salva em C matrizC[i][j] = matrizA[i][j] + matrizB[i][j]; } } } Testa aí
  10. Perdão pela demora, eu não estava com ele comigo, eu deixei na faculdade, mas ontem fui lá e fiz uma copia pra mim, a parte de cadastro está assim: char cadastro(){ FILE *fptr; fptr = fopen("login.txt", "a"); if (fptr == NULL){ printf("Falha ao conectar \n"); return; } printf("\nUsuario: "); scanf("%s", &usuario); fprintf(fptr, "Usuario: %s\n", usuario); printf("\nSenha: "); fsenha(senha); /*fprintf(fptr, "Senha: %s\n", senha);*/ printf("\n\nConfirme a Senha: "); fsenha(csenha); fprintf(fptr, "Senha: %s\n", csenha); fprintf(fptr, " "); /*if (senha == csenha){ fprintf(fptr, "Usuario: %s\n", usuario); fprintf(fptr, "Senha: %s\n", csenha); } else{ printf("\nConfirmacao de senha incorreta"); system("pause>null"); cadastro(); }*/ fclose(fptr); } Por enquanto ele só escreve no txt, dps como comentario tentei botar um erro alí caso digitasse a confirmação de senha diferente da senha, mas não deu certo e deixei assim pra corrigir dps, e a função fsenha abaixo faz com que a senha fique oculta a quem digita, mas ele tem um erro também, ele vai direto sem a necessidade de pressionar enter, acredito q tirando o for pra while daria certo, mas n imagino como fazer. char fsenha (char senha[6]) { i = 0; for(i = 0; i <= 5; i++){ senha[i] = getch(); if(senha[i] == '\r') break; else printf("*"); } senha[i] = '\0'; } E a parte de login() eu não tenho mesmo ideia do que fazer, pensei em fazer com q cada login gerasse uma ID unica para cada usuario e senha, mas n tenho ideia de como reconhecer cada id como tal usuario e tal senha... Essa parte realmente estou a deriva, só sei q preciso abrir o arquivo txt para ler as informações, mas fora isso... E você disse que era facil, quase infartei hahaha Podem me ajudar?
  11. Eu estou fazendo um trabalho na faculdade e preciso de um sistema que "cadastre" uma pessoa usando txt, pois estou no 1 periodo, e não tenho recursos como banco de dados para utilizar, pensei em fazer assim, a entrada sera o usuario, senha e confirmação da senha, ele vai salvar essas informações em um arquivo txt, para que mesmo fechando o programa, ele continue a funcionar, aí, o sistema de login funcionaria se por acaso um desses login e senha fossem usados. Será que é muito complicado de se aplicar? Podem me ajudar? Tenho poucas semanas. Eu tentei montar algo, mas o que eu fiz transcreve por cima do que já salvou!
  12. Eu tentei mas ainda não consegui, mas mudei bastante de como estava, olhem: def prodMatrix(matrizA, matrizB): """Multiplica duas matrizes.""" matrizR = [] if colunasA != linhasB: print("não tem solucao") else: for k in range(linhasA): matrizR.append([0]*colunasB) for i in range(colunasB): matrizR[k][i] = 0 for i in range(linhasA): for j in range(colunasA): for k in range(colunasB): print(matrizR[i][j]) matrizR[i][k] += matrizA[i][j] * matrizB[i][k] return matrizR Ainda não da certo =/
  13. não se é permitido... mas up