
Rager
Membro Pleno-
Posts
73 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Rager postou
-
@NIGHT FALL Meu sobrinho me ajudou a escolher e montar, e como falei que já queria algo que desce para fazer um upgrage futuro, ele deve ter escolhido essa por isso. Vou testar com essa fonte que citei do meu amigo então. Muito obrigado
-
Olá pessoal, boa noite! Hoje ao ligar meu pc deu um estalo e acho que foi a fonte( vi um post aqui no forum sobre problemas num lote dessa fonte também). Ela é nova, um mês de uso. O pc não liga, mas o led da placa-mãe e de vídeo acendem. A fonte fica fazendo um barulho baixo, ao tentar ligar, tipo um "tec tec tec". Queria ter a certeza que o problema foi a fonte, meu amigo tem uma fonte seventeam 750w v-force - st-750z-af. Será que consigo usá-la para fazer o teste? Meu pc é um Ryzen 5 3600, placa-mãe gigabyte aorus pro wifi, gtx 1660 super. Desde já muito obrigado!
-
Show!! A lógica até a parte que chama a função eu entendi, só não entendi muito bem a lógica dentro da função jogadaComputador(), poderia dar uma comentada dentro da função por favor? Obrigado!!! Abraço!
-
Ok!! Bacana! Mas você teria com dar uma ideia de como fazer a jogada da maquina em cima desse codigo que postei? Obrigado
-
Muito interessante essa ideia mesmo @Rafael Domingues Corrêa !! Valeu, vou estudar sim! Acho que consegui chegar mais ou menos onde eu queria @Rio, dêem uma olhada , sei que pode estar meio confuso, mas eu chego lá rsrs Queria fazer o seguinte agora, baseado nesse código, fazer o jogo "Jogador vs Máquina". Pela minhas pesquisas vi que existe uma função chamada "rand"(randomico), para que a máquina jogue.Tentei fazer aqui mas não deu certo. É possível implementar isso nesse código? Muito obrigado pela força que estão me dando! #include <stdio.h>#include <stdlib.h>#include <conio.h>int main(){// Caractere '32' na tabela ASCII representa campos vazios ou espaço ' '.// Caractere '88' na tabela ASCII representa 'X'.// Caractere '79' na tabela ASCII representa 'O'.char bloco[3][3];int jogada=0;int jogador=1;int posicao=0; printf("###################################\n"); printf("########## JOGO DA VELHA ##########\n"); printf("###################################\n\n\n"); int x, y; for(x=0; x<3; x++){ for(y=0;y<3;y++){ bloco[x][y]=32; // Parece confuso mas isso e um espaco } }while(jogada<9){ for(x=0;x<3;x++){ for(y=0;y<3;y++){ if(y!=2) printf(" %c |",bloco[x][y]) ; else printf(" %c",bloco[x][y]); } if(x!=2) printf("\n--- --- ---\n"); } printf("\n\n"); printf("Jogador %d Digite a posicao (1-9): ", jogador); scanf("%d", &posicao); printf("\n"); switch(posicao){ case 1: if(jogador==1){ if(bloco[0][0]==32){ bloco[0][0]=88; jogador=2; jogada++; } }else{ if(bloco[0][0]==32){ bloco[0][0]=79; jogador=1; jogada++; } } break; case 2: if(jogador==1){ if(bloco[0][1]==32){ bloco[0][1]=88; jogador=2; jogada++; } }else{ if(bloco[0][1]==32){ bloco[0][1]=79; jogador=1; jogada++; } } break; case 3: if(jogador==1){ if(bloco[0][2]==32){ bloco[0][2]=88; jogador=2; jogada++; } }else{ if(bloco[0][2]==32){ bloco[0][2]=79; jogador=1; jogada++; } } break; case 4: if(jogador==1){ if(bloco[1][0]==32){ bloco[1][0]=88; jogador=2; jogada++; } }else{ if(bloco[1][0]==32){ bloco[1][0]=79; jogador=1; jogada++; } } break; case 5: if(jogador==1){ if(bloco[1][1]==32){ bloco[1][1]=88; jogador=2; jogada++; } }else{ if(bloco[1][1]==32){ bloco[1][1]=79; jogador=1; jogada++; } } break; case 6: if(jogador==1){ if(bloco[1][2]==32){ bloco[1][2]=88; jogador=2; jogada++; } }else{ if(bloco[1][2]==32){ bloco[1][2]=79; jogador=1; jogada++; } } break; case 7: if(jogador==1){ if(bloco[2][0]==32){ bloco[2][0]=88; jogador=2; jogada++; } }else{ if(bloco[2][0]==32){ bloco[2][0]=79; jogador=1; jogada++; } } break; case 8: if(jogador==1){ if(bloco[2][1]==32){ bloco[2][1]=88; jogador=2; jogada++; } }else{ if(bloco[2][1]==32){ bloco[2][1]=79; jogador=1; jogada++; } } break; case 9: if(jogador==1){ if(bloco[2][2]==32){ bloco[2][2]=88; jogador=2; jogada++; } }else{ if(bloco[2][2]==32){ bloco[2][2]=79; jogador=1; jogada++; } } break; default: printf("Valor Invalido!\n\n"); break; } if((bloco[0][0]==88 && bloco[0][1]==88 && bloco[0][2]==88)|| (bloco[1][0]==88 && bloco[1][1]==88 && bloco[1][2]==88)|| (bloco[2][0]==88 && bloco[2][1]==88 && bloco[2][2]==88)|| (bloco[0][0]==88 && bloco[1][0]==88 && bloco[2][0]==88)|| (bloco[0][1]==88 && bloco[1][1]==88 && bloco[2][1]==88)|| (bloco[0][2]==88 && bloco[1][2]==88 && bloco[2][2]==88)|| (bloco[0][0]==88 && bloco[1][1]==88 && bloco[2][2]==88)|| (bloco[0][2]==88 && bloco[1][1]==88 && bloco[2][0]==88)) { for(x=0;x<3;x++){ for(y=0;y<3;y++){ if(y!=2) printf(" %c |", bloco[x][y]) ; else printf(" %c", bloco[x][y]); } if(x!=2) printf("\n--- --- ---\n"); } printf("\n\n\a\t\tJOGADOR %d VENCEU!!!\n", jogador-1); break; } if((bloco[0][0]==79 && bloco[0][1]==79 && bloco[0][2]==79)|| (bloco[1][0]==79 && bloco[1][1]==79 && bloco[1][2]==79)|| (bloco[2][0]==79 && bloco[2][1]==79 && bloco[2][2]==79)|| (bloco[0][0]==79 && bloco[1][0]==79 && bloco[2][0]==79)|| (bloco[0][1]==79 && bloco[1][1]==79 && bloco[2][1]==79)|| (bloco[0][2]==79 && bloco[1][2]==79 && bloco[2][2]==79)|| (bloco[0][0]==79 && bloco[1][1]==79 && bloco[2][2]==79)|| (bloco[0][2]==79 && bloco[1][1]==79 && bloco[2][0]==79)) { for(x=0;x<3;x++){ for(y=0;y<3;y++){ if(y!=2) printf(" %c |", bloco[x][y]) ; else printf(" %c", bloco[x][y]); } if(x!=2) printf("\n--- --- ---\n"); } printf("\n\n\a\t\tJOGADOR %d VENCEU!!!\n", jogador+1); break; } if(jogada==9){ for(x=0;x<3;x++){ for(y=0;y<3;y++){ if(y!=2) printf(" %c |",bloco[x][y]) ; else printf(" %c",bloco[x][y]); } if(x!=2) printf("\n--- --- ---\n"); } printf("\n\n"); printf("\n\n\a\t\tO JOGO EMPATOU!\n"); } }}
-
@Rafael Domingues Corrêa, muito bacana essa sua ideia, mas como sou meio inexperiente não imagino como faça mesmo,rs. Acredito que logo termino esse que o @Rio está dando uma força, ai na sequência quero tentar fazer desse modo que falou sim! Dêem uma olhada como está ficando. Ainda tenho algumas dúvidas nesse erros: - caso o usuário digite algo diferente que está dentro do case, não estou conseguindo fazer com que informe "valor invalido" e repita a jogada - se o usuário escolhe uma posição que já está preechida, o programa aceita e troca pela atual executada. Muito obrigado a todos pela ajuda!! #include <stdio.h>#include <stdlib.h>#include <conio.h>int main(){// Caractere '32' na tabela ASCII representa campos vazios ou espaço ' '.// Caractere '88' na tabela ASCII representa 'X'.// Caractere '79' na tabela ASCII representa 'O'.char bloco[3][3];int jogada=0; printf("---------------------------\n"); printf("-------Jogo da Velha-------\n"); printf("---------------------------\n\n"); int x, y; for(x=0; x<3; x++){ for(y=0;y<3;y++){ bloco[x][y]=32; // Parece confuso mas isso e um espaco } }int jogador=1;int posicao=0;int pos=0;while(pos<9){ // lembrando que voce pediu o quadro assim // 1 2 3 // 4 5 6 // 7 8 9 for(x=0;x<3;x++){ for(y=0;y<3;y++){ if(y!=2) printf("%c |",bloco[x][y]) ; else printf("%c",bloco[x][y]); } if(x!=2) printf("\n-- -- --\n"); } printf("\n\n"); printf("Jogador %d Digite a posicao (1-9): ", jogador); scanf("%d", &posicao); printf("\n"); switch(posicao){ case 1: if(jogador==1){ bloco[0][0]=88; jogador=2; pos++; }else{ bloco[0][0]=79; jogador=1; pos++; } break; case 2: if(jogador==1){ bloco[0][1]=88; jogador=2; pos++; }else{ bloco[0][1]=79; jogador=1; pos++; } break; case 3: if(jogador==1){ bloco[0][2]=88; jogador=2; pos++; }else{ bloco[0][2]=79; jogador=1; pos++; } break; case 4: if(jogador==1){ bloco[1][0]=88; jogador=2; pos++; }else{ bloco[1][0]=79; jogador=1; pos++; } break; case 5: if(jogador==1){ bloco[1][1]=88; jogador=2; pos++; }else{ bloco[1][1]=79; jogador=1; pos++; } break; case 6: if(jogador==1){ bloco[1][2]=88; jogador=2; pos++; }else{ bloco[1][2]=79; jogador=1; pos++; } break; case 7: if(jogador==1){ bloco[2][0]=88; jogador=2; pos++; }else{ bloco[2][0]=79; jogador=1; pos++; } break; case 8: if(jogador==1){ bloco[2][1]=88; jogador=2; pos++; }else{ bloco[2][1]=79; jogador=1; pos++; } break; case 9: if(jogador==1){ bloco[2][2]=88; jogador=2; pos++; }else{ bloco[2][2]=79; jogador=1; pos++; } break; default: system("cls"); printf("Valor Invalido !\n"); break; } if((bloco[0][0]==88 && bloco[0][1]==88 && bloco[0][2]==88)|| (bloco[1][0]==88 && bloco[1][1]==88 && bloco[1][2]==88)|| (bloco[2][0]==88 && bloco[2][1]==88 && bloco[2][2]==88)|| (bloco[0][0]==88 && bloco[1][0]==88 && bloco[2][0]==88)|| (bloco[0][1]==88 && bloco[1][1]==88 && bloco[2][1]==88)|| (bloco[0][2]==88 && bloco[1][2]==88 && bloco[2][2]==88)|| (bloco[0][0]==88 && bloco[1][1]==88 && bloco[2][2]==88)|| (bloco[0][2]==88 && bloco[1][1]==88 && bloco[2][0]==88)) { for(x=0;x<3;x++){ for(y=0;y<3;y++){ if(y!=2) printf("%c |",bloco[x][y]) ; else printf("%c",bloco[x][y]); } if(x!=2) printf("\n-- -- --\n"); } printf("\n\n\a\t\tJOGADOR %d VENCEU!!!\n", jogador-1); break; } if((bloco[0][0]==79 && bloco[0][1]==79 && bloco[0][2]==79)|| (bloco[1][0]==79 && bloco[1][1]==79 && bloco[1][2]==79)|| (bloco[2][0]==79 && bloco[2][1]==79 && bloco[2][2]==79)|| (bloco[0][0]==79 && bloco[1][0]==79 && bloco[2][0]==79)|| (bloco[0][1]==79 && bloco[1][1]==79 && bloco[2][1]==79)|| (bloco[0][2]==79 && bloco[1][2]==79 && bloco[2][2]==79)|| (bloco[0][0]==79 && bloco[1][1]==79 && bloco[2][2]==79)|| (bloco[0][2]==79 && bloco[1][1]==79 && bloco[2][0]==79)) { for(x=0;x<3;x++){ for(y=0;y<3;y++){ if(y!=2) printf("%c |",bloco[x][y]) ; else printf("%c",bloco[x][y]); } if(x!=2) printf("\n-- -- --\n"); } printf("\n\n\a\t\tJOGADOR %d VENCEU!!!\n", jogador+1); break; } if(pos==9){ for(x=0;x<3;x++){ for(y=0;y<3;y++){ if(y!=2) printf("%c |",bloco[x][y]) ; else printf("%c",bloco[x][y]); } if(x!=2) printf("\n-- -- --\n"); } printf("\n\n"); printf("\n\n\a\t\tO JOGO EMPATOU!\n"); } } }
-
beleza @Rio, eu vi, sem problemas! Estou estudando em cima desse código para ter uma boa interpretação e estou fazendo uns incrementos, logo postarei para você dar uma olhada! Valeu man!
-
Tranquilo @Math.Pi !! @Rio , tentei aqui mas ainda não consegui, acho que não entendi muito bem
-
@Math.Pi , sou novo em programação e também não tenho conhecimento em C#, esse ai fiz em C.
-
Olá, após muitas pesquisas cheguei nesse programa que é um jogo da velha. Minha dúvida é a seguinte, gostaria ao invés de escolher a posição no tabuleiro por linha e coluna, usar o teclado numérico do computador. Exemplo do teclado: 7 8 9 Se o usuário escolher a posição "tabul[2][1]" na matriz, ele digitará 4. 4 5 6 3 2 1 Seria possível utlizar um Switch com matrizes? Tentei aqui mas não obtive sucesso. Algué pode me ajudar? Desde já agredeço!! #include<stdio.h>#include<conio.h>main(){ char tabul[3][3]; char O='O', X='X'; int jogada=0, linha, coluna; for(linha=0; linha<3; linha++) for(coluna=0; coluna<3; coluna++) tabul[linha][coluna]=' '; while(jogada<=9) { printf("\t ###################################\n"); printf("\t ########## JOGO DA VELHA ##########\n"); printf("\t ###################################\n\n\n"); for(linha=0; linha<3; linha++) { printf("\t\t %c \xBA %c \xBA %c\n", tabul[linha][0], tabul[linha][1], tabul[linha][2]); if(linha < 3-1) { printf("\t\t ÍÍÍ\xCEÍÍÍ\xCEÍÍÍ\n"); } } if(jogada%2)printf("JOGADOR 2 \nLINHA: "); else printf("JOGADOR 1 \nLINHA: "); scanf("%d", &linha); printf("COLUNA: "); scanf("%d", &coluna); if(tabul[linha-1][coluna-1]==' ') { if(jogada%2)tabul[linha-1][coluna-1]=X; else tabul[linha-1][coluna-1]=O; jogada++; } if((tabul[0][0]==O && tabul[0][1]==O && tabul[0][2]==O)|| (tabul[1][0]==O && tabul[1][1]==O && tabul[1][2]==O)|| (tabul[2][0]==O && tabul[2][1]==O && tabul[2][2]==O)|| (tabul[0][0]==O && tabul[1][0]==O && tabul[2][0]==O)|| (tabul[0][1]==O && tabul[1][1]==O && tabul[2][1]==O)|| (tabul[0][2]==O && tabul[1][2]==O && tabul[2][2]==O)|| (tabul[0][0]==O && tabul[1][1]==O && tabul[2][2]==O)|| (tabul[0][2]==O && tabul[1][1]==O && tabul[2][0]==O)) { printf("\n\a\t\tJOGADOR 1 VENCEU!!!"); break; } if((tabul[0][0]==X && tabul[0][1]==X && tabul[0][2]==X)|| (tabul[1][0]==X && tabul[1][1]==X && tabul[1][2]==X)|| (tabul[2][0]==X && tabul[2][1]==X && tabul[2][2]==X)|| (tabul[0][0]==X && tabul[1][0]==X && tabul[2][0]==X)|| (tabul[0][1]==X && tabul[1][1]==X && tabul[2][1]==X)|| (tabul[0][2]==X && tabul[1][2]==X && tabul[2][2]==X)|| (tabul[0][0]==X && tabul[1][1]==X && tabul[2][2]==X)|| (tabul[0][2]==X && tabul[1][1]==X && tabul[2][0]==X)) { printf("\n\n\n\n\a\t\tJOGADOR 2 VENCEU!!!"); break; } if(jogada==9) { printf("PARTIDA EMPATADA"); break; } } getch(); return(0);}
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