Perl — jeu de devinette

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Perl — devinette
Type Exemple / exercice Perl
Notions saisie, conditions, boucles, rand

Deux petits jeux de devinette en Perl illustrant la saisie utilisateur, les conditions et les boucles.

Deviner un animal

#!/usr/bin/env perl

# Jeu de devinettes
# -----------------
# L'utilisateur choisit un animal parmi une liste donnée,
# et le programme doit deviner duquel il s'agit.

use strict;
use warnings;

print "Choisissez un animal parmi les suivants :\n";
print "Chat, Mouette, Lama, Chouette\n";
print '-' x 30 . "\n";

print 'Est-ce que c\'est un oiseau [o/n] ? ';
my $choice = <>;
chomp $choice;

# 'lc' convertit une chaîne en minuscules (lower case)
if (lc($choice) eq 'o')
{
    print 'Est-ce que c\'est un oiseau nocturne [o/n] ? ';
    $choice = <>;
    chomp $choice;
    if (lc($choice) eq 'o') { print "C'est une chouette !\n"; }
    else                    { print "C'est une mouette !\n"; }
}
else
{
    print 'Est-ce que cet animal crache [o/n] ? ';
    $choice = <>;
    chomp $choice;
    if (lc($choice) eq 'o') { print "C'est un lama !\n"; }
    else                    { print "C'est un chat !\n"; }
}

Deviner un nombre

use strict;
use warnings;

my $nb_mystere = int (rand 101);
my $essai = -1;

print "Devinez le nombre mystère.\n";

while ($essai != $nb_mystere)
{
    print '> ';
    $essai = <>;
    if    ($essai < $nb_mystere) { print "C'est plus.\n"; }
    elsif ($essai > $nb_mystere) { print "C'est moins.\n"; }
}

print "Gagné !";

Voir aussi