[LINUX] Janken en Ruby

Janken in Ruby (Rock-Paper-Scissors)

1. Structure de Janken

Qu'est-ce que Janken en premier lieu? ?? Goo, choki et par sont sélectionnés les uns des autres pour décider du résultat. Cette fois, nous nous battrons avec le joueur par programme. Goo Rock Papier Choki Ciseaux Par Jouez. (Dans le programme, rand, qui renvoie des nombres aléatoires, joue un rôle actif, mais ce sera plus tard)

2. Sélection de la main du joueur

Substitution par entrée

p 'rock-paper-scissors'
player=gets

↑ Demandez-leur de choisir entre la pierre, le papier et les ciseaux Il est également important de traiter les fautes d'orthographe des joueurs

3. Sélection manuelle du programme

Déterminé par un nombre aléatoire.

program_hand=rand(3)

↑ program_hand renverra 0, 1, 2 sous forme de nombres aléatoires.

4. Organisez

Pour les humains, la notation des caractères Rock-Paper-Scissors est facile à comprendre, mais à partir du programme (machine), les nombres sont plus faciles à comprendre que les caractères, comme cela a été fait avec les nombres aléatoires 0, 1 et 2.

Par conséquent, dans les deux joueurs (joueur, programme) qui jouent Janken, les mains sont représentées par des chiffres et des lettres.

0 Goo Rock 1 papier Choki 2 ciseaux par

if program_hand==0
	program="rock"
elsif program_hand==1
	program="paper"
elsif program_hand==2
	program="scissors"
end
if player=="rock"
	player_hand=0
elsif player=="paper"
	player_hand=1
elsif player=="scissors" 
	player_hand=2
end

5. Gagnez ou perdez le Janken

Voici la branche conditionnelle Utiliser l'instruction if

if player_hand==program_hand
	p 'draw'
elsif ((player_hand==0 and program_hand==2) or (player_hand==1 and program_hand==0) or (player_hand==2 or program_hand==0))and a==1
	p 'you win'
elsif 
	p 'you lose'
end

En écrivant l'expression de la condition, la logique peut sortir continuellement. (Et et ou) On semble parler de la supériorité de la logique, mais c'est difficile. Il est rapide, facile et facile de mettre la personne que vous voulez calculer en premier entre parenthèses.

6. Réponse aux fautes d'orthographe

Vous êtes censé choisir entre la pierre, le papier et les ciseaux, Comment gérez-vous les autres entrées? ??

one more please Afficher

Faire apparaître une variable appelée a. Valeur initiale 0 Remplacez a = 1 uniquement lorsque l'un des rochers, du papier et des ciseaux est entré.

Jugement utilisant un

↓ Achèvement

p 'rock-paper-scissors'
player=gets


a=0

if player=="rock"
	player_hand=0
	a=1
elsif player=="paper"
	player_hand=1
	a=1
elsif player=="scissors" 
	player_hand=2
	a=1
end

program_hand=rand(3)


if program_hand==0
	program="rock"
elsif program_hand==1
	program="paper"
elsif program_hand==2
	program="scissors"
end



if a==0
	p 'one more please'
elsif player_hand==program_hand
	p 'draw'
elsif ((player_hand==0 and program_hand==2) or (player_hand==1 and program_hand==0) or (player_hand==2 or program_hand==0))and a==1
	p 'you win'
elsif 
	p 'you lose'
end

p "player",player,"program",program

Recommended Posts

Janken en Ruby
Janken
Exécuter des commandes système dans Ruby
Différences entre Ruby et Python dans la portée
Dessinez un cœur en rubis avec PyCall
Dans Ruby, inspect ne remplace pas to_s
Essayez quelque chose comme Python for-else dans Ruby
Comment écrire Ruby to_s en Python
GNU GLOBAL (gtags) + α dans Go, Ruby, Python
Créez un jeu Janken en une seule ligne (python)
Record de pythoniste réincarné en Ruby on Rails
Nom de groupe symbolique d'expression régulière en Python / Ruby
Combinaison de regroupement en Python / Ruby / PHP / Golang (Go)