J'ai essayé de travailler sur un faux script, mais quelque chose ne va pas et ça me rend frustré. Il randomise 4 nombres et les compare à 4 autres nombres, mais pour une raison quelconque, une fois les nombres devinés, il ne les imprimera plus.Ruby n'imprime pas de variable
#RubyCodeStart
pass1 = 4
pass2 = 9
pass3 = 2
pass4 = 8
guess = 0
flag1 = 0
flag2 = 0
flag3 = 0
flag4 = 0
loop do
if flag1 == 0
crack1 = rand(0..9)
end
if flag2 == 0
crack2 = rand(0..9)
end
if flag3 == 0
crack3 = rand(0..9)
end
if flag4 == 0
crack4 = rand(0..9)
end
if crack1 == pass1
crack1 = pass1
flag1 = 1
end
if crack2 == pass2
crack2 = pass2
flag2 = 1
end
if crack3 == pass3
crack3 = pass3
flag3 = 1
end
if crack4 == pass4
crack4 = pass4
flag4 = 1
end
guess += 1
puts "#{crack1} \| #{crack2} \| #{crack3} \| #{crack4} === Guess \# #{guess}"
# if crack == pass
# break
# end
end
sleep(30)
Rien de ce que je fais fonctionne, et il refuse de l'imprimer, il passe être trouvé. Je vais ajouter des données si nécessaire.
Sortie:
8 | 0 | 6 | 1 === Guess # 1
4 | 6 | 1 | 8 === Guess # 2
| 1 | 3 | === Guess # 3
| 1 | 5 | === Guess # 4
| 3 | 9 | === Guess # 5
| 3 | 3 | === Guess # 6
| 5 | 4 | === Guess # 7
| 3 | 4 | === Guess # 8
| 4 | 3 | === Guess # 9
| 0 | 6 | === Guess # 10
| 3 | 8 | === Guess # 11
| 4 | 5 | === Guess # 12
| 2 | 4 | === Guess # 13
| 8 | 7 | === Guess # 14
| 8 | 4 | === Guess # 15
| 9 | 5 | === Guess # 16
| | 7 | === Guess # 17
| | 5 | === Guess # 18
| | 7 | === Guess # 19
| | 7 | === Guess # 20
| | 7 | === Guess # 21
| | 1 | === Guess # 22
| | 2 | === Guess # 23
| | | === Guess # 24
| | | === Guess # 25
| | | === Guess # 26
| | | === Guess # 27
| | | === Guess # 28
| | | === Guess # 29
| | | === Guess # 30
| | | === Guess # 31
| | | === Guess # 32
| | | === Guess # 33
| | | === Guess # 34
| | | === Guess # 35
| | | === Guess # 36
| | | === Guess # 37
| | | === Guess # 38
| | | === Guess # 39
| | | === Guess # 40
FYI: Cela n'a aucun sens de définir 'crack1 = pass1' dans un test pour' si crack1 == pass1'. S'ils sont déjà égaux, les rendre égaux ne fait rien. – meagar
Vous pouvez utiliser des tableaux au lieu de noms de variables avec des nombres incrémentés. Par exemple, 'pass = [4,9,2,8]' et les appelle 'pass [0]' à 'pass [3]'. –