Sign in to follow this  
Followers 0
Fegarur

Script de BlackJack

4 posts in this topic

Ya se que a la anterior versión traje este script actualizado, pero lo perdí. cheesy.gif

Descripción:
Permite jugar al BlackJack en el RPG Maker, apuestas incluidas.

Recursos Necesarios:
[SPOILER]user posted image[/SPOILER]

Script:[SPOILER]
CODE
#-------------------
Jeu de Black-Jack
#-------------------

class Scene_Blackjack

def main
@help_window = Window_Help.new
@table_window = Window_Table.new
@bet_window = Window_Bet.new
@bet_window.index = 0
@money_window = Window_Money.new
@hitstay_window = Window_HitStay.new
@hitstay_window.active = false
@cards = []
@graphic = []
@card_used = 0
variable_init
shuffle2
val_graphic
shuffle
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze

@help_window.dispose
@table_window.dispose
@bet_window.dispose
@money_window.dispose
@hitstay_window.dispose
end

def update
@table_window.update
@bet_window.update
@help_window.update
@money_window.update
@hitstay_window.update
if @bet_window.active
update_bet
return
end
if @hitstay_window.active
update_hitstay
return
end
end

def update_bet
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@bet_window.index = 5
return
end
if Input.trigger?(Input::C)
case @bet_window.index
when 0
@bet = 25
if ($game_party.gold >= @bet) and ((@currentbet+@bet) <= 500)
$game_system.se_play($data_system.decision_se)
bet
else
$game_system.se_play($data_system.buzzer_se)
return
end
when 1
@bet = 50
if ($game_party.gold >= @bet) and ((@currentbet+@bet) <= 500)
$game_system.se_play($data_system.decision_se)
bet
else
$game_system.se_play($data_system.buzzer_se)
return
end
when 2
@bet = 100
if ($game_party.gold >= @bet) and ((@currentbet+@bet) <= 500)
$game_system.se_play($data_system.decision_se)
bet
else
$game_system.se_play($data_system.buzzer_se)
return
end
when 3
@bet = 500
if ($game_party.gold >= @bet) and ((@currentbet+@bet) <= 500)
$game_system.se_play($data_system.decision_se)
bet
else
$game_system.se_play($data_system.buzzer_se)
return
end
when 4
$game_system.se_play($data_system.decision_se)
start_blackjack
when 5
$game_system.se_play($data_system.cancel_se)
$game_party.gain_gold(@currentbet)
$scene = Scene_Map.new
end
end
end

def update_hitstay
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@hitstay_window.index = 1
return
end
if Input.trigger?(Input::C)
case @hitstay_window.index
when 0
hit
when 1
stay
end
end

end

def bet
$game_party.lose_gold(@bet)
@currentbet += @bet
@money_window.refresh(@currentbet)
end

def start_blackjack
@bet_window.active = false
@m_hand1 = @cards[@card_used]
@graphic1 = @graphic[@card_used]
check_cards
@card_used +=1
@m_hand2 = @cards[@card_used]
@graphic2 = @graphic[@card_used]
check_cards
@card_used +=1
@d_hand1 = @cards[@card_used]
@d_graphic1 = @graphic[@card_used]
check_cards
@card_used +=1
@d_hand2 = @cards[@card_used]
@d_graphic2 = @graphic[@card_used]
@m_total = @m_hand1+@m_hand2
@d_total = @d_hand1+@d_hand2
if @m_hand1 == 1
@m_ace =1
@m_hand1=@m_hand1+10
@m_total=@m_hand1 + @m_hand2
end
if @m_hand2 == 1
if @m_hand1 != 11
@m_ace = 1
@m_hand2 = @m_hand2+10
@m_total = @m_hand1+@m_hand2
else
@m_hand2 = 1
@m_total = @m_hand1+@m_hand2
end
end

if @d_hand1 == 1
@d_ace =1
@d_hand1=@d_hand1+10
@d_total=@d_hand1 + @d_hand2
end
if @d_hand2 == 1
if @d_hand1 != 11
@d_ace = 1
@d_hand2 = @d_hand2+10
@d_total = @d_hand1+@d_hand2
else
@d_card2 = 1
@d_total = @d_hand1+@d_hand2
end
end
draw_cards

check_win

end

def shuffle
j = 51
k = 0
temp = 0
temp2 = 0

while (j>=0)
k = rand(j)

temp = @cards[j]
temp2 = @graphic[j]
@cards[j] = @cards[k]
@graphic[j] = @graphic[k]
@cards[k] = temp
@graphic[k] = temp2

j-=1

end

end

def shuffle2
@cards = [1,2,3,4,5,6,7,8,9,10,10,10,10,
1,2,3,4,5,6,7,8,9,10,10,10,10,
1,2,3,4,5,6,7,8,9,10,10,10,10,
1,2,3,4,5,6,7,8,9,10,10,10,10,
0,0]
end

def val_graphic
for i in 0...53
@graphic[i] = i
end
end

def check_cards
if @card_used == 52
shuffle
@card_used = 0
end
end

def draw_cards
@table_window.refresh(@m_hand1,@graphic1,
@m_hand2,@graphic2,
@m_hand3,@graphic3,
@m_hand4,@graphic4,
@m_hand5,@graphic5,
@d_hand1,52,
@d_hand2,@d_graphic2,
@d_hand3,@d_graphic3,
@d_hand4,@d_graphic4,
@d_hand5,@d_graphic5,
@m_total)
end

def draw_real_cards
@table_window.refresh(@m_hand1,@graphic1,
@m_hand2,@graphic2,
@m_hand3,@graphic3,
@m_hand4,@graphic4,
@m_hand5,@graphic5,
@d_hand1,@d_graphic1,
@d_hand2,@d_graphic2,
@d_hand3,@d_graphic3,
@d_hand4,@d_graphic4,
@d_hand5,@d_graphic5,
@m_total)
end

def variable_init
@bet = 0
@currentbet = 0
@dummy_gold = 0
@m_hand1 = 0
@graphic1 = 53
@m_hand2 = 0
@graphic2 = 53
@m_hand3 = 0
@graphic3 = 53
@m_hand4 = 0
@graphic4 = 53
@m_hand5 = 0
@graphic5 = 53
@d_hand1 = 0
@d_graphic1 = 53
@d_hand2 = 0
@d_graphic2 = 53
@d_hand3 = 0
@d_graphic3 = 53
@d_hand4 = 0
@d_graphic4 = 53
@d_hand5 = 0
@d_graphic5 = 53
@m_ace = 0
@d_ace = 0
@test = 0
end

def hit
check_cards
@card_used +=1
if @m_hand3 == 0
@m_hand3 = @cards[@card_used]
@graphic3 = @graphic[@card_used]
elsif @m_hand4 == 0 and @m_hand3 != 0
@m_hand4 = @cards[@card_used]
@graphic4 = @graphic[@card_used]
elsif @m_hand5 == 0 and @m_hand4 != 0
@m_hand5 = @cards[@card_used]
@graphic5 = @graphic[@card_used]
end

if @cards[@card_used] == 1
if @m_total <=10
@m_ace = 1
@m_total += 11
else
@m_total += 1
end
else
@m_total += @cards[@card_used]
end

check_win2


end

def stay
while (@d_total<=@m_total)
check_cards
@card_used +=1
if @d_hand3 == 0
@d_hand3 = @cards[@card_used]
@d_graphic3 = @graphic[@card_used]
elsif @d_hand4 == 0 and @m_hand3 != 0
@d_hand4 = @cards[@card_used]
@d_graphic4 = @graphic[@card_used]
elsif @d_hand5 == 0 and @m_hand4 != 0
@d_hand5 = @cards[@card_used]
@d_graphic5 = @graphic[@card_used]
end

if @cards[@card_used] == 1
if @d_total <=10
@d_ace = 1
@d_total += 11
else
@d_total += 1
end
else
@d_total += @cards[@card_used]
end
end
check_win3
end

def check_win
if @test == 0
if @m_total == 21 and @d_total != 21
draw_real_cards
win
elsif @m_total != 21 and @d_total == 21
draw_real_cards
lose
elsif @m_total == 21 and @d_total == 21
draw_real_cards
tie
else
@test = 1
@hitstay_window.active = true
end
end
end

def check_win2
if @m_total >= 22 and @m_ace == 1
@m_total -= 10
@m_ace = 0
draw_cards
elsif @m_total >= 22
draw_real_cards
lose
elsif @m_total == 21
draw_real_cards
win
elsif @m_total <=20
draw_cards
@hitstay_window.active = true
end
end

def check_win3
if @d_total >= 22 and @d_ace == 1
@d_total -= 10
@d_ace = 0
draw_real_cards
elsif @d_total >= 22
draw_real_cards
win
elsif @d_total == 21
draw_real_cards
lose
elsif @d_total > @m_total and @d_total <= 20
draw_real_cards
lose
elsif @d_total == @m_total
draw_real_cards
tie
elsif @d_total < @m_total
draw_real_cards
win
end
end

def win
$game_party.gain_gold(@currentbet*2)
@help_window.set_text("Win!")
delay(3)
$scene = Scene_Map.new
end

def lose
@help_window.set_text("Lose!")
delay(3)
$scene = Scene_Map.new
end

def tie
$game_party.gain_gold(@currentbet)
@help_window.set_text("Tie!")
delay(3)
$scene = Scene_Map.new
end

def delay(seconds)
for i in 0...(seconds * 10)
sleep 0.1
Graphics.update
end
end

end



class Window_Table < Window_Base

def initialize
super(0, 64, 512, 416)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
refresh
end
#--------------------------------------------------
def refresh(hand1 = 0, graphic1 = 53,
hand2 = 0, graphic2 = 53,
hand3 = 0, graphic3 = 53,
hand4 = 0, graphic4 = 53,
hand5 = 0, graphic5 = 53,
d_hand1 = 0, d_graphic1 = 53,
d_hand2 = 0, d_graphic2 = 53,
d_hand3 = 0, d_graphic3 = 53,
d_hand4 = 0, d_graphic4 = 53,
d_hand5 = 0, d_graphic5 = 53,
total = 0)

@hand1 = hand1
@hand2 = hand2
@hand3 = hand3
@hand4 = hand4
@hand5 = hand5
@d_hand1 = d_hand1
@d_hand2 = d_hand2
@d_hand3 = d_hand3
@d_hand4 = d_hand4
@d_hand5 = d_hand5
@graphic1 = graphic1
@graphic2 = graphic2
@graphic3 = graphic3
@graphic4 = graphic4
@graphic5 = graphic5
@d_graphic1 = d_graphic1
@d_graphic2 = d_graphic2
@d_graphic3 = d_graphic3
@d_graphic4 = d_graphic4
@d_graphic5 = d_graphic5
@total = total

self.contents.clear

self.contents.draw_text(32, 320, 128, 32, "Your Hand: " + @total.to_s)

graphic
end

def graphic
x = 0
y = 0
@frame_width = 71
@frame_height = 96
if @graphic1 !=nil
@xpos1 = @graphic1*@frame_width
else
@xpos1 = 52
end
if @graphic2 !=nil
@xpos2 = @graphic2*@frame_width
else
@xpos2 = 52
end
if @graphic3 !=nil
@xpos3 = @graphic3*@frame_width
else
@xpos3 = 52
end
if @graphic4 !=nil
@xpos4 = @graphic4*@frame_width
else
@xpos4 = 52
end
if @graphic5 !=nil
@xpos5 = @graphic5*@frame_width
else
@xpos5 = 52
end
if @d_graphic1 !=nil
@xposd1 = @d_graphic1*@frame_width
else
@xposd1 = 52
end
if @graphic2 !=nil
@xposd2 = @d_graphic2*@frame_width
else
@xposd2 = 52
end
if @d_graphic3 !=nil
@xposd3 = @d_graphic3*@frame_width
else
@xposd3 = 52
end
if @graphic4 !=nil
@xposd4 = @d_graphic4*@frame_width
else
@xposd4 = 52
end
if @d_graphic5 !=nil
@xposd5 = @d_graphic5*@frame_width
else
@xposd5 = 52
end
bitmap = RPG::Cache.picture("cards")
src_rect_hand1 = Rect.new(@xpos1, 0, @frame_width, @frame_height)
src_rect_hand2 = Rect.new(@xpos2, 0, @frame_width, @frame_height)
src_rect_hand3 = Rect.new(@xpos3, 0, @frame_width, @frame_height)
src_rect_hand4 = Rect.new(@xpos4, 0, @frame_width, @frame_height)
src_rect_hand5 = Rect.new(@xpos5, 0, @frame_width, @frame_height)
src_rect_d_hand1 = Rect.new(@xposd1, 0, @frame_width, @frame_height)
src_rect_d_hand2 = Rect.new(@xposd2, 0, @frame_width, @frame_height)
src_rect_d_hand3 = Rect.new(@xposd3, 0, @frame_width, @frame_height)
src_rect_d_hand4 = Rect.new(@xposd4, 0, @frame_width, @frame_height)
src_rect_d_hand5 = Rect.new(@xposd5, 0, @frame_width, @frame_height)
self.contents.blt(0,192,bitmap,src_rect_hand1)
self.contents.blt(96,192,bitmap,src_rect_hand2)
self.contents.blt(96*2,192,bitmap,src_rect_hand3)
self.contents.blt(96*3,192,bitmap,src_rect_hand4)
self.contents.blt(96*4,192,bitmap,src_rect_hand5)
self.contents.blt(0,0,bitmap,src_rect_d_hand1)
self.contents.blt(96,0,bitmap,src_rect_d_hand2)
self.contents.blt(96*2,0,bitmap,src_rect_d_hand3)
self.contents.blt(96*3,0,bitmap,src_rect_d_hand4)
self.contents.blt(96*4,0,bitmap,src_rect_d_hand5)

end


end


class Window_Bet < Window_Selectable
# ------------------------------------
def initialize
super(512, 64, 128, 224)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@column_max = 1
refresh
self.index = 0
end
# ------------------------------------

def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
@item_max = 6
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
# ------------------------------------
def draw_item(index)
x = 4
y = index * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
case index
when 0
self.contents.draw_text(x , y, 128, 32, "25", 0)
when 1
self.contents.draw_text(x , y, 128, 32, "50", 0)
when 2
self.contents.draw_text(x , y, 128, 32, "100", 0)
when 3
self.contents.draw_text(x , y, 128, 32, "500", 0)
when 4
self.contents.draw_text(x , y, 128, 32, "Done", 0)
when 5
self.contents.draw_text(x , y, 128, 32, "Quit", 0)
end
end
# ------------------------------------
def update_help
@help_window.set_text("" )
end
end


class Window_Money < Window_Base
# ------------------------------------
def initialize
super(512, 288, 128, 96)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@bet = 0
refresh(@bet)
end
# ------------------------------------
def refresh(bet)
@bet = bet
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(0, 0, 96, 32, $game_party.gold.to_s,2)
self.contents.draw_text(0, 32, 96, 32, @bet.to_s, 2)
end
end


class Window_HitStay < Window_Selectable
# ------------------------------------
def initialize
super(512, 384, 128, 96)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name =$fontface
self.contents.font.size = $fontsize
@column_max = 1
refresh
self.index = 0
end
# ------------------------------------

def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
@item_max = 2
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
# ------------------------------------
def draw_item(index)
x = 4
y = index * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
case index
when 0
self.contents.draw_text(x , y, 128, 32, "Hit", 0)
when 1
self.contents.draw_text(x , y, 128, 32, "Stay", 0)
end
end
# ------------------------------------
def update_help
@help_window.set_text("" )
end
end

[/SPOILER]

Instrucciones:
+ Pegad el script sobre Main.
+ Traducid lo necesario, digo yo que lo querréis ver en español. xD.png
+ Disfrutadlo, se aprende rápido a jugar.

Créditos:
Script creado por LanLan Edited by Fegarur
0

Share this post


Link to post
Share on other sites
Bueno algo tarde pero... Aquí tienes los recursos originales:

[SPOILER]user posted image[/SPOILER]
Imagen


Y en cuanto a la traducción, lo traduje yo hace ya un año =P Así que para quien lo quiera, lo dejo aquí ya traducido:

[spoiler]
CODE
class Scene_Blackjack

def main
@help_window = Window_Help.new
@table_window = Window_Table.new
@bet_window = Window_Bet.new
@bet_window.index = 0
@money_window = Window_Money.new
@hitstay_window = Window_HitStay.new
@hitstay_window.active = false
@cards = []
@graphic = []
@card_used = 0
variable_init
shuffle2
val_graphic
shuffle
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze

@help_window.dispose
@table_window.dispose
@bet_window.dispose
@money_window.dispose
@hitstay_window.dispose
end

def update
@table_window.update
@bet_window.update
@help_window.update
@money_window.update
@hitstay_window.update
if @bet_window.active
update_bet
return
end
if @hitstay_window.active
update_hitstay
return
end
end

def update_bet
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@bet_window.index = 5
return
end
if Input.trigger?(Input::C)
case @bet_window.index
when 0
@bet = 25
if ($game_party.gold >= @bet) and ((@currentbet+@bet) <= 500)
$game_system.se_play($data_system.decision_se)
bet
else
$game_system.se_play($data_system.buzzer_se)
return
end
when 1
@bet = 50
if ($game_party.gold >= @bet) and ((@currentbet+@bet) <= 500)
$game_system.se_play($data_system.decision_se)
bet
else
$game_system.se_play($data_system.buzzer_se)
return
end
when 2
@bet = 100
if ($game_party.gold >= @bet) and ((@currentbet+@bet) <= 500)
$game_system.se_play($data_system.decision_se)
bet
else
$game_system.se_play($data_system.buzzer_se)
return
end
when 3
@bet = 500
if ($game_party.gold >= @bet) and ((@currentbet+@bet) <= 500)
$game_system.se_play($data_system.decision_se)
bet
else
$game_system.se_play($data_system.buzzer_se)
return
end
when 4
$game_system.se_play($data_system.decision_se)
start_blackjack
when 5
$game_system.se_play($data_system.cancel_se)
$game_party.gain_gold(@currentbet)
$scene = Scene_Map.new
end
end
end

def update_hitstay
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@hitstay_window.index = 1
return
end
if Input.trigger?(Input::C)
case @hitstay_window.index
when 0
hit
when 1
stay
end
end

end

def bet
$game_party.lose_gold(@bet)
@currentbet += @bet
@money_window.refresh(@currentbet)
end

def start_blackjack
@bet_window.active = false
@m_hand1 = @cards[@card_used]
@graphic1 = @graphic[@card_used]
check_cards
@card_used +=1
@m_hand2 = @cards[@card_used]
@graphic2 = @graphic[@card_used]
check_cards
@card_used +=1
@d_hand1 = @cards[@card_used]
@d_graphic1 = @graphic[@card_used]
check_cards
@card_used +=1
@d_hand2 = @cards[@card_used]
@d_graphic2 = @graphic[@card_used]
@m_total = @m_hand1+@m_hand2
@d_total = @d_hand1+@d_hand2
if @m_hand1 == 1
@m_ace =1
@m_hand1=@m_hand1+10
@m_total=@m_hand1 + @m_hand2
end
if @m_hand2 == 1
if @m_hand1 != 11
@m_ace = 1
@m_hand2 = @m_hand2+10
@m_total = @m_hand1+@m_hand2
else
@m_hand2 = 1
@m_total = @m_hand1+@m_hand2
end
end

if @d_hand1 == 1
@d_ace =1
@d_hand1=@d_hand1+10
@d_total=@d_hand1 + @d_hand2
end
if @d_hand2 == 1
if @d_hand1 != 11
@d_ace = 1
@d_hand2 = @d_hand2+10
@d_total = @d_hand1+@d_hand2
else
@d_card2 = 1
@d_total = @d_hand1+@d_hand2
end
end
draw_cards

check_win

end

def shuffle
j = 51
k = 0
temp = 0
temp2 = 0

while (j>=0)
k = rand(j)

temp = @cards[j]
temp2 = @graphic[j]
@cards[j] = @cards[k]
@graphic[j] = @graphic[k]
@cards[k] = temp
@graphic[k] = temp2

j-=1

end

end

def shuffle2
@cards = [1,2,3,4,5,6,7,8,9,10,10,10,10,
1,2,3,4,5,6,7,8,9,10,10,10,10,
1,2,3,4,5,6,7,8,9,10,10,10,10,
1,2,3,4,5,6,7,8,9,10,10,10,10,
0,0]
end

def val_graphic
for i in 0...53
@graphic[i] = i
end
end

def check_cards
if @card_used == 52
shuffle
@card_used = 0
end
end

def draw_cards
@table_window.refresh(@m_hand1,@graphic1,
@m_hand2,@graphic2,
@m_hand3,@graphic3,
@m_hand4,@graphic4,
@m_hand5,@graphic5,
@d_hand1,52,
@d_hand2,@d_graphic2,
@d_hand3,@d_graphic3,
@d_hand4,@d_graphic4,
@d_hand5,@d_graphic5,
@m_total)
end

def draw_real_cards
@table_window.refresh(@m_hand1,@graphic1,
@m_hand2,@graphic2,
@m_hand3,@graphic3,
@m_hand4,@graphic4,
@m_hand5,@graphic5,
@d_hand1,@d_graphic1,
@d_hand2,@d_graphic2,
@d_hand3,@d_graphic3,
@d_hand4,@d_graphic4,
@d_hand5,@d_graphic5,
@m_total)
end

def variable_init
@bet = 0
@currentbet = 0
@dummy_gold = 0
@m_hand1 = 0
@graphic1 = 53
@m_hand2 = 0
@graphic2 = 53
@m_hand3 = 0
@graphic3 = 53
@m_hand4 = 0
@graphic4 = 53
@m_hand5 = 0
@graphic5 = 53
@d_hand1 = 0
@d_graphic1 = 53
@d_hand2 = 0
@d_graphic2 = 53
@d_hand3 = 0
@d_graphic3 = 53
@d_hand4 = 0
@d_graphic4 = 53
@d_hand5 = 0
@d_graphic5 = 53
@m_ace = 0
@d_ace = 0
@test = 0
end

def hit
check_cards
@card_used +=1
if @m_hand3 == 0
@m_hand3 = @cards[@card_used]
@graphic3 = @graphic[@card_used]
elsif @m_hand4 == 0 and @m_hand3 != 0
@m_hand4 = @cards[@card_used]
@graphic4 = @graphic[@card_used]
elsif @m_hand5 == 0 and @m_hand4 != 0
@m_hand5 = @cards[@card_used]
@graphic5 = @graphic[@card_used]
end

if @cards[@card_used] == 1
if @m_total <=10
@m_ace = 1
@m_total += 11
else
@m_total += 1
end
else
@m_total += @cards[@card_used]
end

check_win2


end

def stay
while (@d_total<=@m_total)
check_cards
@card_used +=1
if @d_hand3 == 0
@d_hand3 = @cards[@card_used]
@d_graphic3 = @graphic[@card_used]
elsif @d_hand4 == 0 and @m_hand3 != 0
@d_hand4 = @cards[@card_used]
@d_graphic4 = @graphic[@card_used]
elsif @d_hand5 == 0 and @m_hand4 != 0
@d_hand5 = @cards[@card_used]
@d_graphic5 = @graphic[@card_used]
end

if @cards[@card_used] == 1
if @d_total <=10
@d_ace = 1
@d_total += 11
else
@d_total += 1
end
else
@d_total += @cards[@card_used]
end
end
check_win3
end

def check_win
if @test == 0
if @m_total == 21 and @d_total != 21
draw_real_cards
win
elsif @m_total != 21 and @d_total == 21
draw_real_cards
lose
elsif @m_total == 21 and @d_total == 21
draw_real_cards
tie
else
@test = 1
@hitstay_window.active = true
end
end
end

def check_win2
if @m_total >= 22 and @m_ace == 1
@m_total -= 10
@m_ace = 0
draw_cards
elsif @m_total >= 22
draw_real_cards
lose
elsif @m_total == 21
draw_real_cards
win
elsif @m_total <=20
draw_cards
@hitstay_window.active = true
end
end

def check_win3
if @d_total >= 22 and @d_ace == 1
@d_total -= 10
@d_ace = 0
draw_real_cards
elsif @d_total >= 22
draw_real_cards
win
elsif @d_total == 21
draw_real_cards
lose
elsif @d_total > @m_total and @d_total <= 20
draw_real_cards
lose
elsif @d_total == @m_total
draw_real_cards
tie
elsif @d_total < @m_total
draw_real_cards
win
end
end

def win
$game_party.gain_gold(@currentbet*2)
@help_window.set_text("¡Ganaste!")
delay(3)
$scene = Scene_Map.new
end

def lose
@help_window.set_text("¡Perdiste!")
delay(3)
$scene = Scene_Map.new
end

def tie
$game_party.gain_gold(@currentbet)
@help_window.set_text("¡Empate!")
delay(3)
$scene = Scene_Map.new
end

def delay(seconds)
for i in 0...(seconds * 10)
sleep 0.1
Graphics.update
end
end

end



class Window_Table < Window_Base

def initialize
super(0, 64, 512, 416)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
refresh
end
#--------------------------------------------------------------------------
def refresh(hand1 = 0, graphic1 = 53,
hand2 = 0, graphic2 = 53,
hand3 = 0, graphic3 = 53,
hand4 = 0, graphic4 = 53,
hand5 = 0, graphic5 = 53,
d_hand1 = 0, d_graphic1 = 53,
d_hand2 = 0, d_graphic2 = 53,
d_hand3 = 0, d_graphic3 = 53,
d_hand4 = 0, d_graphic4 = 53,
d_hand5 = 0, d_graphic5 = 53,
total = 0)

@hand1 = hand1
@hand2 = hand2
@hand3 = hand3
@hand4 = hand4
@hand5 = hand5
@d_hand1 = d_hand1
@d_hand2 = d_hand2
@d_hand3 = d_hand3
@d_hand4 = d_hand4
@d_hand5 = d_hand5
@graphic1 = graphic1
@graphic2 = graphic2
@graphic3 = graphic3
@graphic4 = graphic4
@graphic5 = graphic5
@d_graphic1 = d_graphic1
@d_graphic2 = d_graphic2
@d_graphic3 = d_graphic3
@d_graphic4 = d_graphic4
@d_graphic5 = d_graphic5
@total = total

self.contents.clear

self.contents.draw_text(32, 320, 128, 32, "Mano: " + @total.to_s)

graphic
end

def graphic
x = 0
y = 0
@frame_width = 71
@frame_height = 96
if @graphic1 !=nil
@xpos1 = @graphic1*@frame_width
else
@xpos1 = 52
end
if @graphic2 !=nil
@xpos2 = @graphic2*@frame_width
else
@xpos2 = 52
end
if @graphic3 !=nil
@xpos3 = @graphic3*@frame_width
else
@xpos3 = 52
end
if @graphic4 !=nil
@xpos4 = @graphic4*@frame_width
else
@xpos4 = 52
end
if @graphic5 !=nil
@xpos5 = @graphic5*@frame_width
else
@xpos5 = 52
end
if @d_graphic1 !=nil
@xposd1 = @d_graphic1*@frame_width
else
@xposd1 = 52
end
if @graphic2 !=nil
@xposd2 = @d_graphic2*@frame_width
else
@xposd2 = 52
end
if @d_graphic3 !=nil
@xposd3 = @d_graphic3*@frame_width
else
@xposd3 = 52
end
if @graphic4 !=nil
@xposd4 = @d_graphic4*@frame_width
else
@xposd4 = 52
end
if @d_graphic5 !=nil
@xposd5 = @d_graphic5*@frame_width
else
@xposd5 = 52
end
bitmap = RPG::Cache.picture("Cartas")
src_rect_hand1 = Rect.new(@xpos1, 0, @frame_width, @frame_height)
src_rect_hand2 = Rect.new(@xpos2, 0, @frame_width, @frame_height)
src_rect_hand3 = Rect.new(@xpos3, 0, @frame_width, @frame_height)
src_rect_hand4 = Rect.new(@xpos4, 0, @frame_width, @frame_height)
src_rect_hand5 = Rect.new(@xpos5, 0, @frame_width, @frame_height)
src_rect_d_hand1 = Rect.new(@xposd1, 0, @frame_width, @frame_height)
src_rect_d_hand2 = Rect.new(@xposd2, 0, @frame_width, @frame_height)
src_rect_d_hand3 = Rect.new(@xposd3, 0, @frame_width, @frame_height)
src_rect_d_hand4 = Rect.new(@xposd4, 0, @frame_width, @frame_height)
src_rect_d_hand5 = Rect.new(@xposd5, 0, @frame_width, @frame_height)
self.contents.blt(0,192,bitmap,src_rect_hand1)
self.contents.blt(96,192,bitmap,src_rect_hand2)
self.contents.blt(96*2,192,bitmap,src_rect_hand3)
self.contents.blt(96*3,192,bitmap,src_rect_hand4)
self.contents.blt(96*4,192,bitmap,src_rect_hand5)
self.contents.blt(0,0,bitmap,src_rect_d_hand1)
self.contents.blt(96,0,bitmap,src_rect_d_hand2)
self.contents.blt(96*2,0,bitmap,src_rect_d_hand3)
self.contents.blt(96*3,0,bitmap,src_rect_d_hand4)
self.contents.blt(96*4,0,bitmap,src_rect_d_hand5)

end


end


class Window_Bet < Window_Selectable
# ------------------------------------
def initialize
super(512, 64, 128, 224)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@column_max = 1
refresh
self.index = 0
end
# ------------------------------------

def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
@item_max = 6
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
# ------------------------------------
def draw_item(index)
x = 4
y = index * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
case index
when 0
self.contents.draw_text(x , y, 128, 32, "25", 0)
when 1
self.contents.draw_text(x , y, 128, 32, "50", 0)
when 2
self.contents.draw_text(x , y, 128, 32, "100", 0)
when 3
self.contents.draw_text(x , y, 128, 32, "500", 0)
when 4
self.contents.draw_text(x , y, 128, 32, "Hecho", 0)
when 5
self.contents.draw_text(x , y, 128, 32, "Salir", 0)
end
end
# ------------------------------------
def update_help
@help_window.set_text("" )
end
end


class Window_Money < Window_Base
# ------------------------------------
def initialize
super(512, 288, 128, 96)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@bet = 0
refresh(@bet)
end
# ------------------------------------
def refresh(bet)
@bet = bet
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(0, 0, 96, 32, $game_party.gold.to_s,2)
self.contents.draw_text(0, 32, 96, 32, @bet.to_s, 2)
end
end


class Window_HitStay < Window_Selectable
# ------------------------------------
def initialize
super(512, 384, 128, 96)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name =$fontface
self.contents.font.size = $fontsize
@column_max = 1
refresh
self.index = 0
end
# ------------------------------------

def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
@item_max = 2
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
# ------------------------------------
def draw_item(index)
x = 4
y = index * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
case index
when 0
self.contents.draw_text(x , y, 128, 32, "Ir", 0)
when 1
self.contents.draw_text(x , y, 128, 32, "Plantarse", 0)
end
end
# ------------------------------------
def update_help
@help_window.set_text("" )
end
end
[/spoiler]

PD: En caso de usar mi traducción habría que guardar los recursos con el nombre de: Cartas en la carpeta Picture

EDIT: Vale no se que le pasa a los recursos originales O_o, usad los de fegarur XD Edited by TN-69
0

Share this post


Link to post
Share on other sites
Supongo que copiarías la imagen de un post, como está el recurso 'provisional' sin verlos completos. xD.png
Pero bueno, nadie ha dicho que funcionen o no.

PD: Te edito un poco para corregir ortografía, que me duelen los ojos de leerte. xD.png
0

Share this post


Link to post
Share on other sites
Mmm oks oks, el caso es que ese recurso lo saque de RPGCreativa (web francesa) junto con el script, baje la imagen y la subi de nuevo a imageshack o imagesuck o yo que se xD.png. Pero la pagina francesa murio asi que ...


PD: Mï ortojrafia s sunmamente vuena Edited by TN-69
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0