-
Notifications
You must be signed in to change notification settings - Fork 0
/
app_2.rb
123 lines (105 loc) ยท 3.49 KB
/
app_2.rb
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
require 'bundler'
Bundler.require
require_relative 'lib/game'
require_relative 'lib/player'
require_relative 'lib/human_player'
def perform
### INTRO ###
puts "----------------------------------------------------------------------"
puts "๐๐๐๐๐ Bienvenue dans le game 'Human vs POO-kemons' ๐๐๐๐๐"
puts "----------------------------------------------------------------------"
puts " Le but du jeu est d'รชtre le dernier survivant contre des pokemons! "
puts "----------------------------------------------------------------------"
puts
### INITIALISATION DU JOUEUR ###
puts
puts "Salut ! Quel est ton blase ?"
print "> "
human_name = gets.chomp
human_player = HumanPlayer.new(human_name)
### INITIALISATION DES POKEMONS ###
pokemon1 = Player.new("Dracofeu")
pokemon2 = Player.new("Magicarpe")
pokemons = [pokemon1, pokemon2]
puts
puts "โ๏ธโ๏ธโ๏ธ Bienvenue #{human_player.name}. Tu as l'honneur de combattre contre #{pokemon1.name} et #{pokemon2.name} ! โ๏ธโ๏ธโ๏ธ"
puts
puts "En garde, #{human_player.name} !"
puts
# PARAMETRAGE DU MENU
def menu(pokemon1, pokemon2)
puts
puts "C'est ร ton tour. Quelle action veux-tu effectuer ?"
puts
puts "a - chercher une meilleure arme ๐ซ"
puts "s - chercher ร se soigner ๐"
puts "1 - attaquer #{pokemon1.name} ๐"
puts "2 - attaquer #{pokemon2.name} ๐"
puts
print "> "
user_choice = gets.chomp.to_s
end
### EXECUTION DU COMBAT ###
while human_player.life_points > 0 && (pokemon1.life_points > 0 || pokemon2.life_points > 0) do
puts
puts "-----------------------------------"
puts "Voici l'รฉtat de chaque combattant :"
human_player.show_state
pokemon1.show_state
pokemon2.show_state
puts
### TRANSITION ###
puts "Appuie sur la touche ENTER pour exรฉcuter le prochain round"
print "> "
gets.chomp
puts
puts "LET'S FIGHT ! โ๏ธ "
### HUMAN_PLAYER JOUE EN PREMIER A CHAQUE ROUND ###
case menu(pokemon1, pokemon2)
when "a"
human_player.search_weapon
when "s"
human_player.search_health_pack
when "1"
human_player.attacks(pokemon1)
when "2"
human_player.attacks(pokemon2)
else
puts "Mauvaise entrรฉe...choisis une action parmi les options du menu."
user_choice = gets.chomp.to_s #autre solution >>> "next" pour retour au dรฉbut de la boucle !
end
### TRANSITION ###
puts
puts "Appuie sur la touche ENTER pour continuer le combat"
print "> "
gets.chomp
puts
#### ATTAQUE DES POKEMONS ###
puts "๐ฑ๐ฑ๐ฑ C'est au tour des pokemons d'attaquer ! ๐ฑ๐ฑ๐ฑ"
puts
pokemons.each do |pokemon|
if pokemon.life_points > 0 #attaque d'un pokemon seulement s'il est encore en vie
pokemon.attacks(human_player)
else
pokemon.show_state
end
end
if human_player.life_points <= 0
human_player.show_state
puts
puts "๐๐๐ Aie aie aie ! T'es dead. GAME OVER ๐๐๐"
break
end
if pokemon1.life_points <= 0 && pokemon2.life_points <= 0
puts
puts "โ๏ธโ๏ธโ๏ธ Tous les pokemons sont dead. YOU WIN ๐๐๐"
break
end
puts
puts "Appuie sur la touche ENTER pour continuer le combat"
print "> "
gets.chomp
puts
end
end
perform