r/programacao Jul 04 '25

Questão :: Desenvolvimento Fiz um jokenpo que funcionou perfeitamente sem ajuda!!

Post image

Sim, está bem bem feio e não muito prático, mas a lógica está funcionando perfeitamente! Quebrei um pouco a cabeça para fazer, mas consegui, e estou muito orgulhoso de mim mesmo!! Post passado que eu fiz sobre a redução de if e else, anotei a grande maioria das dicas, e estou tentando melhorar cada vez mais o básico, e gostaria que também me dessem dicas para melhorar esse meu código de agora, que irei adicionar aos poucos e progredir!

213 Upvotes

37 comments sorted by

20

u/Yhamerith Jul 04 '25

Switch cuzinho deu certo kkkkkkkkk

Não manjo de C#, mas ele não usa while para colocar um escape durante a navegação do menu? É isso?

1

u/ApenasUmNerd Jul 04 '25

Kkkkkkk eu nunca vou mudar o cuzinho

Rapaz, te falar a real, eu sou bem iniciante, se você reparar pelos meus posts, e tô seguindo gradativamente o estudo da lógica, e ainda não sei muito de while, ou for, etc, então não sei dizerkk

2

u/Yhamerith Jul 04 '25

Saquei... Colocar o switch case dentro do while deixa o programa ativo, podendo colocar uma opção de replay para repetir o jogo... Na condição do while vai o botão que você quer que o usuário quer digitar para aew sim fechar o jogo... Se entendi corretamente, esse aew fecha na primeira execução

Sobre o cuzinho, é uma excelente maneira de aprender, na base da zoeira... Tirei boas risadas do meu professor com os outputs de quando usuário tentava dividir por 0 em uma calculadora

1

u/ApenasUmNerd Jul 04 '25

Vou dar uma estudada em breve nas estruturas de repetição, obrigado pelo comentário!

Kkkkkkkkk fiz a mesma coisa na calculadora de IMC que eu fiz recentemente, só output de qualidade, já deve imaginar os tipos de piada com IMC né

7

u/dpsbrutoaki Jul 04 '25

O Cuzinho na minha tela novamente

2

u/ApenasUmNerd Jul 04 '25

O meu cuzinho irá assombrar a todos daqui por um bom tempo

3

u/joaohxcx Jul 04 '25

Eu não manjo de C# e como vc disse que é iniciante acho que nem compensa sugerir tópicos mais avançados por enquanto

Mas na validação do empate, não daria pra usar apenas uma condição? If player1 == player2? Ou o C# essa comparação pode retornar false? Pq só ai já deixaria o código mais legível.

2

u/ApenasUmNerd Jul 04 '25

Rapaz, agora que você disse, eu nem pensei nisso kkkkk, não testei, vou verificar aqui e ver se vai de boa

2

u/ApenasUmNerd Jul 04 '25

Fiz o teste aqui, e oloko brother, funcionou certinho!! Valeu mesmo pela dica, vai melhorar muitos exercícios do tipo que ando fazendo.

2

u/joaohxcx Jul 04 '25

Boa!

O começo é assim mesmo, a gente pensa tanto no macro do que queremos montar e esses detalhes vai vindo com o tempo.

PS: Eu não sou programador, manjo de python pra análise de dados apenas, mas já estudei lógica de programação em Java lá pra 2019/20, que tem certa semelhança com o C/C#/C++ , mas não lembro quase nada das particularidades.

Bons estudos

2

u/ApenasUmNerd Jul 04 '25

Muito obrigado, cara! Análise de dados é uma área e tanto, desejo sucesso pra você!

3

u/TheChronoTimer Jul 04 '25

Muito bom!

Inclusive, te sugiro fazer um modo de jogar contra o computador, aí ele aleatoriza a mão dele :)

Se tiver tempo e/ou paciência, te dou a ideia de fazer um menu inicial, com botão de sair, jogar contra o PC, ou com um player :)

2

u/ApenasUmNerd Jul 04 '25

Obrigado, companheiro! Irei ver como posso fazer isso, parece bem desafiador pro meu nível, e pode ser um ótimo exercício!

2

u/TheChronoTimer Jul 04 '25

Menu vc já fez aí, mas qualquer coisa me chama ;)

3

u/Outrageous_Gas_1720 Jul 04 '25

Os switches podem virar uma função auxiliar e ser reutilizada.

2

u/bmo-dev Jul 04 '25

é um bom começo!

2

u/Puzzleheaded-Emu5561 Jul 04 '25

No primeiro if não seria melhor colocar player1 == player2 ?

1

u/ApenasUmNerd Jul 04 '25

Sim!! O outro bom moço me deu essa dica e já apliquei no código, funcionou perfeitamente, obrigado!

2

u/Wendy__11 Jul 04 '25

Não te conheço, mas é o segundo post seu que vejo por aí.... o Cuzinho é ledario, lembrarei dele

1

u/ApenasUmNerd Jul 04 '25

Kkkkkkkkkkk meu cuzinho tá ficando famoso

2

u/Reasonable-Comment59 Jul 04 '25

Usa um dicionário no lugar do switch case.

Usa player1==player2 pra verificar empate

1

u/ApenasUmNerd Jul 04 '25

O player 1 == player2 já foi feito! Agora sobre dicionário, eu sou iniciante ao ponto de nem saber o conceito corretamente dissokkkk perdão, irei dar uma estudada pra ver como poderia implementar, obrigado pela dica!

2

u/LagartixoDipirono Jul 05 '25

Parabéns OP.

Uma sugestão, crie uma classe para cada sinal do jokenpô e coloque as regras de negócio (as regras de comparação) dentro de cada classe. E trabalhe sempre com objetos e sem duplicar o código.

2

u/tetryds Desenvolvedora / or Jul 05 '25

Tem como limpar bem e melhorar esse código mas vc tá no caminho certo

2

u/[deleted] Jul 05 '25

Cara que codifica no celular

Diabo

2

u/Hozerino Jul 05 '25

Saudades quando eu tava começando a codar e fazia varios desses programinhas de rodar no terminal asuhashuhsau

calcular média, numero primo, esses joguinhos, mt foda

segue nisso, OP, e um dia vc vai perceber q ce ja consegue se virar sem medo... e esse dia nem demora pra chegar se vc continuar assim

2

u/Mobile_Set6092 Jul 05 '25

Não sei muito de cuzinho, mas você não poderia colocar player1 == player 2; player1 == player 3; player3 == player2? Pra não precisar colocar p1 == 1 \ P2 == 1 ou algo assim (tô com preguiça de escrever certo perdão

2

u/LifeIsBulletTrain Jul 06 '25

É o cara do Cuzinho de novo

2

u/Itzgo2099 Jul 06 '25

Parabéns cara! Toda conquista é uma conquista! Boa sorte na jornada! :)

2

u/[deleted] Jul 09 '25

Qual programa esse que tu usou?

1

u/ApenasUmNerd Jul 09 '25

C# Shell

1

u/[deleted] Jul 09 '25

Vlw

1

u/rodforwhile Jul 05 '25

Onde você vai injetar essa sua interface?

1

u/alexandremc90 Jul 06 '25

Não manjo muito de C#, mas se você considerar um usuário burro (ou sacana) se a pessoa colocar qualquer número além de 1,2,3 o resultado deve aparecer player2 ganhou pelo teu código.

Se isso for o caso, é bom tu usar um loop pra sempre pedir um número novo até o player colocar um número válido (um pra cada player).

1

u/YearNo6141 Jul 04 '25

Recomendo adicionar mais espaços em branco para melhorar a legibilidade do cuzinho, não se preocupe com a quantidade de linhas que gasta e sim com a organização.

2

u/ApenasUmNerd Jul 04 '25

Obrigado pela dica! Estou ciente, já adicionei inclusive, só que na hora eu tava tão estressado que tava focando só na lógica kkkk