lundi 14 janvier 2008

Programmation poétique - Chapitre IV : Back to School...

"Je t'explique Pierre : au bout de 3 bons points, tu as le droit de choisir une image. Au bout de 3 images, tu gagnes un poster pour ta chambre. Au bout de 3 posters, comme tu as été très sage et studieux, tu as droit à un bisous de ma part !"

"Tu sais quoi frérot ? Au bout de 3 smacks de la maîtresse, tu as droit, au choix, à une nuit avec elle et des menottes, ou de boire un 'sky avec le dirlo, dans son bureau"

Pierre n'a que 8 ans. Il n'est donc pas trop tenté par faire des salop3ries avec son institutrice (qui en plus n'aime que les chats et Derrick...). Par contre, il est bien tenté par un alcoolisme précoce. Il fouille donc ses poches et réfléchit :


Recompenses = [
:bon_point,
:image,
:poster,
:bisous_maitresse,
:whisky_dirlo
]

class Array
def que_des_bons_points?
res = true
self.each{|elt|
res = false if elt != :bon_point
}
res
end

def attrape_valeur val
i = 0
while self[i] != val
i += 1
end
i
end
end

def convertir recompense, cadeaux
liste = cadeaux
while !liste.que_des_bons_points?
brouillon = []
for elt in liste
if recompense.include? elt then
if elt == :bon_point then
brouillon.push elt
else
i = recompense.attrape_valeur elt
3.times{brouillon.push recompense[i-1]}
end
else
puts "Pfff ! #{elt} ne sert a rien !"
end
end
liste = brouillon
end
liste.length
end

puts "Allez, comptons !"

poche = [:poster, :bon_point, :image, :image, :caillou]
deja = convertir Recompenses, poche
puts "J'ai deja #{deja} bons points"

but = [:whisky_dirlo]
total = convertir Recompenses, but
puts "Il m'en reste #{total-deja} a avoir..."
puts "Et je tiens ma cuite !!!"

0 commentaires: