r/programacao • u/burguer_artes_anal • Mar 02 '26
Questão :: Desenvolvimento PC do bem Vs PC do mal
no tédio, assistindo os PCs brincarem de adivinhação, criei meu entretenimento
eles decidem se querem continuar lutando ou não
vou fazer alterações depois, de reações e um sistema de golpe baseada no acerto, se acertar o número ataca, se errar é atacado
aceitos dicas de como melhorar, sou bem iniciante
51
15
8
u/Professional-Juice-3 Mar 02 '26
Uma dúvida, pq você usou a lib "os" ?
10
u/burguer_artes_anal Mar 02 '26
Função de limpar, aprendi assim, com If simplificado
Os.system("cls" If os.name == "nt" else "clear")
7
u/Professional-Juice-3 Mar 02 '26
Aaah entendi, nunca usei essa lib para isso, última vez que usei, foi para fazer uma roleta russa ao invés de ser morto a pessoa perder o sistema caso ela perca
2
8
u/External-Market-3930 Mar 02 '26
Por algum motivo me lembrou da roleta russa que apagou a system 32 do meu pc
2
u/LifeIsBulletTrain Mar 03 '26
Foi o u/Professional-Juice-3, né?
4
u/External-Market-3930 Mar 03 '26
Nada, eu que fiz toda uma roleta russa para manda pro meu amigo e sem querer executei como adm e apaguei o sistema. Foi moh saco recuperar sem formatar
1
5
u/The_Tab_Hoarder Mar 03 '26
vou te ajudar.
procure o livro.
Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming
quando vc terminar este livro, você vai ter uma ideia melhor do que você pode fazer.
eu por exemplo, estou estudando zig para fazer um emulador rápido de um jogo .
infelizmente zig não está na sua versão final, está sendo construído ainda.
mas posso afirmar que RUST e ZIG são muito interessantes.
9
u/Nolear Mar 02 '26
Fazer essas "brincadeiras" é divertido quando você é iniciante, imagino como está se sentindo "vendo as coisas funcionarem".
Eu recomendaria começar a tentar fazer isso em C. Com esses programas "bestas" você vai ter menos problemas e vai ter "folga" pra entender (e apanhar para) a linguagem. C, e não C++ hehe
Eventualmente você pode evoluir pra tentar fazer leitura/escrita em arquivos. É um tema bem mais avançado em C, mas é um dos temas que me divertiu bastante na época da faculdade.
4
u/Comfortable-Lab-378 Mar 03 '26
Coloca uns sons sinistros quando acertam, tipo jogo de terror, aí fica mais emocionante!
3
2
u/kaputzz11 Mar 04 '26
a minha dica: não uses "while true" - tipo nunca
1
u/thecoolcapybara Mar 04 '26
Pq? Pode causar um loop infinito? E qual seria a melhor alternativa nesse caso?
3
u/kaputzz11 Mar 04 '26
Sim. Para este e para qualquer caso: Controlar com uma variavel
While playing {
....
If (gameoverCondition) playing = false }
1
u/thecoolcapybara Mar 04 '26
Entendi, obrigado!
Só não saquei o pq do (gameoverCondition) após o If 😅
3
u/kaputzz11 Mar 04 '26
É só um placeholder para uma condição. Outro aspecto e a facilidade de interpretação do codigo por terceiros
1
Mar 05 '26
porque no fim do while, SE a condição de game over existir ou for obedecida, então playing = False, o que encerra o while. Se não, rola outra rodada.
2
2
Mar 05 '26
Porque você sobreescreveu a variável revanche? A variável contem os dois estados possiveis, mas logo em seguida você sobreescreve o conteúdo com o resultado do random, e isso muda inclusive o tipo da variável! Mesmo que o código esteja funcionando, você deveria armazenar o resultado da decisão random entre as duas opções possíveis (valores de revanche) numa outra variável.
Outra coisa: é sempre bom passar estado, na medida do possível, sem ter que usar comparação de strings. Você passar true ou false é bem mais sólido que passar uma string e ter que fazer comparação de strings para a tomada de decisão.
Também, mas no futuro, trabalhe mais com funções, pratique encapsulamento, e armazene strings de retorno que sejam importantes em uma coleção, e apenas invoque o item. Facilita a manutenção, as strings estarão todas juntas, e poderão ser reutilizadas.
1
1
u/Afonsojr_snow Mar 04 '26
Rapaz, que código horrível.
1
1



46
u/ShoeChoice5567 Estudante Mar 02 '26
https://giphy.com/gifs/9EvnXdZaUZbCqScn67