1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| class Personnage {
var nom = "personnage"
var vie = 10
var argent = 100
def donnerBisou(p: Princesse) = println(nom + " a donné un bisou à " + p.nom)
def gagnerArgent(n: Int) = argent += n
def perdreArgent(n: Int) = argent -= n
def battre(e: Ennemi) = println(nom + " a battu " + e.nom)
def battre(b: Boss) = println(nom + " a battu " + b.nom)
def entrerChateau() = println(nom + " est entré dans le chateau")
def mourir(s: java.lang.String) = {
println(s)
vie -= 1
}
}
class Ennemi {
var nom = "ennemi"
def battre(p: Personnage) = {
println(nom + " a battu " + p.nom)
p.vie -= 1
}
}
class Boss {
var nom = "boss"
def battre(p: Personnage) = {
println(nom + " a battu " + p.nom)
p.vie -= 1
}
def battre(p: Boss) = println(nom + " a battu " + p.nom)
def battre(p: Ennemi) = println(nom + " a battu " + p.nom)
}
class Princesse {
var nom = "princesse"
def donnerBisou(p: Personnage) = println(nom + " a donné un bisou à " + p.nom)
def donnerGifle(p: Personnage) = println(nom + " a donné une gifle à " + p.nom)
}
class Jeu {
var gameOver = false
val mario = new Personnage
val peach = new Princesse
val goomba = new Ennemi
val bowser = new Boss
mario.nom = "mario"
peach.nom = "peach"
goomba.nom = "goomba"
bowser.nom = "bowser"
val rand = new scala.util.Random
def chance(n: Int, m: Int) = rand.nextInt(m) >= n
def jourDeMalchance {
for(i <- 1 to 10; if!(gameOver)) {
if (chance(1, 5)) {
println(mario.nom + " saute par dessus le premier trou")
if (chance(1, 3)) {
println(mario.nom + " saute par dessus le deuxième trou")
if (chance(3, 4)) {
mario.battre(goomba)
if (chance(3, 10) || chance(3,10)) {
mario.entrerChateau()
if(chance(1, 2)) {
mario.battre(bowser)
if(chance(2, 3)) {
peach.donnerBisou(mario)
gameOver = true
} else peach.donnerGifle(mario)
} else bowser.battre(mario)
} else mario.mourir(mario.nom + " n'a pas réussi à entrer dans le chateau")
} else goomba.battre(mario)
} else mario.mourir(mario.nom + " est tombé dans le deuxième trou")
} else mario.mourir(mario.nom + " est tombé dans le premier trou")
if(mario.vie == 0) gameOver = true
}
println("*" * 50)
Thread.sleep(1000)
}
} |
Partager