Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- =begin
- *** SCRIPT CREADO POR NEWOLD, FEBRERO-MARZO 2011, TRIPLE TRIAD 1.0 ***
- =end
- module Newold
- # ******************************************************************************
- # Este módulo se encarga de mostrar un tutorial in-game
- # ******************************************************************************
- module Tutorial
- # -----------------------------------------------------------------------------
- def showtutorial
- # ------------------------------------------------------------------------------
- # *** Textos a mostrar ***
- # ------------------------------------------------------------------------------
- @tutorial_help = []
- @tutorial_help[0] = [
- # Imagen para mostrar
- "tt1",
- # Título
- "Introducción",
- # Contenido
- "Este juego se origina en naipes del tarot modificados por el científico
- Orlan en la saga Final Fantasy.
- Los soldados solían jugar para matar el tiempo entre batallas.
- Al principio todas las cartas tenían le misma figura de un diablo,
- pero el juego se extendió y aumentó la variedad de cartas y reglas."
- ]
- @tutorial_help[1] = [
- # Imagen para mostrar
- "tt2",
- # Título
- "Las cartas:",
- # Contenido
- "1) Figura
- 2) Valores
- La carta tiene un valor diferente en cada borde.
- Hay 10 valores; 1 es el menor y 'A' el mayor.
- 3) Elemento
- Afinidad elemental de la carta, que según las reglas puede afectar
- su fuerza en el juego."
- ]
- @tutorial_help[2] = [
- # Imagen para mostrar
- "tt3",
- # Título
- "Campo de batalla:",
- # Contenido
- "1) Campo de batalla
- Aquí se van colocando las cartas, una a una.
- 2) Elemento
- Según las reglas en uso algunas casillas pueden mostrar su afinidad elemental."
- ]
- @tutorial_help[3] = [
- # Imagen para mostrar
- "tt4",
- # Título
- "Reglas básicas:",
- # Contenido
- "Si al colocar una carta su valor supera en un borde a una carta adyacente
- del rival, ésta da la vuelta y cambia de color.
- Se juega por turnos hasta ocupar las nueve casillas y gana quien ha dado la
- vuelta a más cartas.
- Nota: Pulsando los botones 'Y' y 'Z' puedes ver las reglas en uso"
- ]
- @tutorial_help[4] = [
- # Imagen para mostrar
- "tt5",
- # Título
- "Elección de cartas:",
- # Contenido
- "Antes de comenzar la partida, se eligen las 5 cartas a utilizar.
- Se debe prestar atención a su valor y a su afinidad elemental.
- Si la regla 'Random' está activa, las cartas se eligirán aleatoriamente.
- En el modo de seleción manual, usa las direcciones para seleccionar las
- cartas y los botones 'L' y 'R' para cambiar la página activa
- 1) Nombre de la carta
- 2) Cantidad que se posee
- 3) Carta seleccionada
- 4) Número de página"
- ]
- @tutorial_help[5] = [
- # Imagen para mostrar
- "tt6",
- # Título
- "Regla 'Igual':",
- # Contenido
- "Según la regla igual, si se coloca una carta con dos o mas bordes cuyos
- valores igualan lo de cartas adyacentes del rival,
- éstas ultimas darán la vuelta.
- En la figura, la carta colocada iguala en 4 a la de arriba y en 1 a
- la de la izquierda, y por lo tanto las dos cartas rojas darán la vuelta."
- ]
- @tutorial_help[6] = [
- # Imagen para mostrar
- "tt7",
- # Título
- "Regla 'Suma':",
- # Contenido
- "Según la regla suma, si se coloca una carta con dos o más bordes cuyos
- valores den el mismo resultado sumados a los de cartas adyacentes del rival,
- éstas últimas darán la vuelta.
- En la figura, la carta colocada suma por la parte de arriba 3 + 4 y por
- la parte izquierda 2 + 5, en las dos partes suma 7, por lo que dará
- la vuelta a dos cartas."
- ]
- @tutorial_help[7] = [
- # Imagen para mostrar
- "tt8",
- # Título
- "Regla 'Combo':",
- # Contenido
- "Según la regla combo, las cartas que han dado la vuelta a causa de la
- regla igual o suma actúan como si acabaran de ser puestas, y pueden dar
- la vuelta a otras cartas.
- En la figura, las dos cartas azules acaban de dar la vuelta, y la de arriba
- dará la vuelta a la roja por superarla en valor."
- ]
- @tutorial_help[8] = [
- # Imagen para mostrar
- "tt9",
- # Título
- "Regla 'Pared':",
- # Contenido
- "La regla especial pared consiste en utilizar la pared (borde exterior)
- del campo de batalla como si fuera un borde de casta a los efectos de la
- regla igual. A la pared se le asigna el valor 'A'.
- Nota: A veces puede estar presente la regla 'Pared' + 'Suma'."
- ]
- @tutorial_help[9] = [
- # Imagen para mostrar
- "tt10",
- # Título
- "Regla 'Elemental':",
- # Contenido
- "Según la regla especial elemental, los valores de las cartas varían
- de acuerdo a su afinidad elemental.
- Si una carta ocupa una casilla de su mismo elemento, sus valores de ataque
- aumentan en 1 punto.
- Por el contrario, si los elementos no coinciden, sus valores de ataque
- disminuirán en 1 punto."
- ]
- @tutorial_help[11] = [
- # Imagen para mostrar
- nil,
- # Título
- "Otras reglas especiales:",
- # Contenido
- "- Abierto
- Las cartas a utilizar están a la vista desde el principio.
- - Mano mezclada
- Las cartas a utilizar son elegidas al azar.
- - Hasta la muerte
- En caso de empate, comienza de inmediato otra partida.
- - Combo Extend
- Las paredes pueden efectuar combos.
- - Check All Cards
- Las reglas Igual, Suma o pared pueden ser cumplidas evaluando cualquier
- carta adyacente a la jugada"
- ]
- @tutorial_help[12] = [
- # Imagen para mostrar
- nil,
- # Título
- "Reglas de pago:",
- # Contenido
- "Cuando termina la partida, el perdedor debe pagar una cantidad de cartas al
- ganador. La cantidad de cartas a pagar se designa por la regla de pago activa.
- - Una
- Ésta es la regla básica de pago y consiste en la entrega de una de
- las cartas que el perdedor a utilizado en la partida, a elección del ganador.
- - Directo
- El jugador recibe las cartas a las que ha dado la vuelta y pierde
- aquellas a las que el adversario ha dado la vuelta.
- - Diferencia
- El ganador elige, entre las cartas utilizadas por el rival en la partida,
- una cantidad igual a la diferencia en cartas volteadas.
- - Todas
- El ganador recibe todas las cartas utilizadas por el perdedor en la partida.
- - Ninguna
- No se gana ni se pierden cartas jugando con la regla de pago 'Ninguna'"
- ]
- @tutorial_help[12] = [
- # Imagen para mostrar
- nil,
- # Título
- nil,
- # Contenido
- "/cY eso sería todo lo que deberías de saber sobre las reglas
- /cdel juego Triple Triad."
- ]
- # ------------------------------------------------------------------------------
- # ------------------------------------------------------------------------------
- # *** Inicio del tutorial ***
- # ------------------------------------------------------------------------------
- Audio.bgm_stop
- Graphics.transition(8)
- Audio.se_play("CardsGame/tutorial/fx",100)
- draw_text_action("TUTORIAL")
- for i in 0...30
- if i == 15
- Audio.bgm_play("CardsGame/tutorial/Original Triple Triad",85)
- end
- if i >= 22
- @textaction.x -= 25
- @textaction.opacity -= 25
- end
- Graphics.update
- end
- @textaction.visible = false
- Graphics.freeze
- #Graphics.freeze
- #@textaction.visible = false
- #Graphics.transition(20)
- @frame = 0
- @maxframes = 5
- for i in 0...@tutorial_help.size
- Graphics.update
- Graphics.freeze
- draw_help_tutorial(i)
- @tutohelp.dispose if @tutohelp != nil
- @bitmaptuto.dispose if @bitmaptuto != nil
- end
- draw_text_action("FIN DEL TUTORIAL")
- Graphics.freeze
- @textaction.visible = false
- Graphics.transition(55)
- # ------------------------------------------------------------------------------
- end
- # -----------------------------------------------------------------------------
- # -----------------------------------------------------------------------------
- def draw_help_tutorial(id = 0)
- return if @tutorial_help[id] == nil
- # Recopilación de datos
- title = @tutorial_help[id][1]
- imaname = @tutorial_help[id][0]
- content = @tutorial_help[id][2].split("\n")
- if imaname != nil
- @bitmaptuto = Sprite.new
- @bitmaptuto.bitmap = Bitmap.new("CardsGame/tutorial/#{imaname}")
- @bitmaptuto.x = 320 - (@bitmaptuto.bitmap.width / 2)
- @bitmaptuto.y = 460 - @bitmaptuto.bitmap.height
- mod_y = true
- elsif @bitmaptuto != nil
- @bitmaptuto.bitmap.clear
- mod_y = false
- end
- b = Bitmap.new(1,1)
- b.font.size = 18
- w = 600
- h = b.text_size(content[0]).height
- h_real = (h*content.size) + 24 + h - (title == nil ? h : 0)
- color1 = Color.new(0,0,0,255)
- color1b = Color.new(35,2,2,255)
- color2 = Color.new(255,255,255,255)
- color3 = Color.new(227,179,11,255)
- color4 = Color.new(11,199,227,255)
- data_pos = [[1,0],[-1,0],[0,1],[0,-1],[0,2]]
- # Creando la imagen
- if @tutohelp == nil or @tutohelp.disposed?
- @tutohelp = Sprite.new
- @tutohelp.z = 100000
- else
- @tutohelp.bitmap.clear
- end
- win = Bitmap.new("CardsGame/tutorial/win")
- @tutohelp.bitmap = Bitmap.new(w,h_real)
- @tutohelp.bitmap.stretch_blt(@tutohelp.bitmap.rect,win,win.rect)
- @tutohelp.bitmap.font.size = 18
- # Posicionarla en la pantalla
- @tutohelp.x = 320 - (w/2)
- if !mod_y
- @tutohelp.y = 240 - (h_real/2)
- @tutohelp.y = 0 if @tutohelp.y < 0
- else
- @tutohelp.y = 440 - @bitmaptuto.bitmap.height - @tutohelp.bitmap.height
- end
- #Añadiendo el contenido a la imagen
- x = 10
- @tutohelp.bitmap.font.color = color1
- for i in 0...data_pos.size
- y = 5
- # Título
- if title != nil and title != ''
- x1 = x + data_pos[i][0]
- y1 = y + data_pos[i][1]
- @tutohelp.bitmap.draw_text(x1,y1,w-10,h,title)
- y += h + 4
- end
- # Contenido
- for j in 0...h*content.size
- if content[j] != nil
- x1 = data_pos[i][0] + x
- y1 = y + data_pos[i][1]
- if content[j][0,2] == '/c'
- align = 1
- text = content[j][2,content[j].size]
- else
- text = content[j]
- align = 0
- end
- @tutohelp.bitmap.draw_text(x1,y1,w-10,h,text,align)
- end
- y += h
- end
- end
- y = 5
- # Título
- if title != nil and title != ''
- @tutohelp.bitmap.font.color = color4
- @tutohelp.bitmap.draw_text(x,y,w-10,h,title)
- @tutohelp.bitmap.fill_rect(0,h+7,w,1,color1)
- @tutohelp.bitmap.fill_rect(0,h+8,w,1,color1b)
- y += h + 4
- end
- # Contenido
- for i in 0...h*content.size
- if content[i] != nil
- if content[i][0,1] == '-' or content[i][0,1][/\d/] != nil
- color = color3
- else
- color = color2
- end
- if content[i][0,2] == '/c'
- align = 1
- text = content[i][2,content[i].size]
- else
- text = content[i]
- align = 0
- end
- @tutohelp.bitmap.font.color = color
- @tutohelp.bitmap.draw_text(x,y,w-10,h,text,align)
- end
- y += h
- end
- # Esperar a pulsar una tecla para continuar
- Graphics.transition(8)
- n = 0
- loop do
- Graphics.update
- Input.update
- minicardanimate if n % 3 == 0
- n += 1
- if n == 300
- n = 0
- Graphics.frame_reset
- end
- break if Input.trigger?(Input::C) or Input.trigger?(Input::B)
- end
- @minicard.dispose
- end
- # -----------------------------------------------------------------------------
- # -----------------------------------------------------------------------------
- def minicardanimate
- bitmap = Bitmap.new("CardsGame/tutorial/minicard")
- if @minicard != nil
- if !@minicard.disposed?
- @minicard.bitmap.clear
- end
- end
- @minicard = Sprite.new
- @minicard.z = 200000
- @minicard.bitmap = Bitmap.new(22,36)
- @minicard.bitmap.blt(0,0,bitmap,Rect.new(@frame*22,0,22,36))
- @minicard.x = 320 - (@minicard.bitmap.width / 2)
- @minicard.y = @tutohelp.bitmap.height + @tutohelp.y -
- (@minicard.bitmap.height / 2)
- @minicard.zoom_x = @minicard.zoom_y = 0.7
- @frame += 1
- @frame = 0 if @frame == @maxframes
- end
- # -----------------------------------------------------------------------------
- end
- # ******************************************************************************
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement