-
Notifications
You must be signed in to change notification settings - Fork 0
/
prueba_napakalaki.rb
127 lines (95 loc) · 3.08 KB
/
prueba_napakalaki.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
124
125
126
# encoding: UTF-8
#
# Programación y diseño orientado a objetos
# Grado en Ingeniería Informática
#
# 2013 © Copyleft - All Wrongs Reserved
#
# Ernesto Serrano <erseco@correo.ugr.es>
#
require_relative 'napakalaki'
module Napakalaki
#Definimos un array con jugadores
players = Array.new
players << 'Ernesto'
players << 'Noureddine'
players << 'Juan'
#Obtenemos el singleton del juego
np = Napakalaki.instance
#Inicializamos el juego
np.init_game(players)
#Inicializamos la variable result
result = LOSE
begin
#Obtenemos el current player
pl = np.get_current_player
opcion = 0;
begin
puts "Menu por consola"
puts "1.- Equipar 2 tesoros"
puts "2.- Descartar 2 tesoros visibles"
puts "3.- Luchar"
puts "4.- Mostrar Tesoros Visibles"
puts "5.- Mostrar Tesoros Ocultos"
print "Comando: "
opcion = gets.chomp.to_i
puts ""
case opcion
when 1
puts "-----------------"
puts "Equipando tesoros..."
#Hacemos visible el primer tesoro (si tiene ocultos)
if !pl.hidden_treasures.empty? then
# puts pl.hidden_treasures.at(0)
pl.make_treasure_visible(pl.hidden_treasures.at(0))
#Hacemos visible el segundo tesoro (si tiene ocultos)
if !pl.hidden_treasures.empty? then
# puts pl.hidden_treasures.at(0)
pl.make_treasure_visible(pl.hidden_treasures.at(0))
end
end
when 2
puts "Descartar tesoros..."
#Descartamos el 1er tesoro visible (si tiene...)
#Hacemos visible el primer tesoro (si tiene ocultos)
if !pl.visible_treasures.empty? then
# puts pl.hidden_treasures.at(0)
pl.discard_visible_treasure(pl.visible_treasures.at(0))
#Hacemos visible el segundo tesoro (si tiene ocultos)
if !pl.visible_treasures.empty? then
# puts pl.hidden_treasures.at(0)
pl.discard_visible_treasure(pl.visible_treasures.at(0))
end
end
when 3
puts "-----------------"
puts "Luchamos..."
#Luchamos
result = np.develop_combat
#Pintamos el resultado en la pantalla
puts "\t Jugador " + np.current_player.to_s
puts "\t Monstruo " + np.current_monster.to_s
puts "\t Result: " + result.to_s
#Siguiente turno
np.next_turn
when 4
puts "-----------------"
puts "Tesoros visibles: " + pl.visible_treasures.size.to_s
pl.visible_treasures.each do |t|
puts "\t - " + t.to_s
end
puts ""
when 5
puts "-----------------"
puts "Tesoros ocultos: " + pl.hidden_treasures.size.to_s
pl.hidden_treasures.each do |t|
puts "\t - " + t.to_s
end
puts ""
else
puts "-----------------"
puts "Opcion incorrecta\n"
end
end while opcion < 1 || opcion > 5
end while result != WINANDWINGAME #Mientras no gane el juego (nivel 10)
end