¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3390 miembros registrados.
El último usuario registrado es Byakuya88.

Nuestros miembros han publicado un total de 79775 mensajes en 11251 argumentos.
Navega con Google Chrome
[DESCARGA]

[RMXP] Pong

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

[RMXP] Pong

Mensaje por Ribbu el 2009-06-24, 13:25

Descripción:

Con este script se puede jugar al clásico Pong en el RPG Maker XP... Y sin necesidad de ningún recurso!

Screen:



Script:
Código:
#===================================
# Pong 1.0
#---------------------------------------------------------------
# El gran clásico adaptado a RPG Maker XP
#---------------------------------------------------------------
# Creado por Corbaque (03/06/2007)
#===================================
module Pong
  #-------------------------------------------------------------
  # Options
  #-------------------------------------------------------------
  # Remplacer par le nom du fichier sans
  # extension (dossier Pictures) si vous voulez
  # une image pour les barres (redimensionné
  # en jeu)
  BARRE_PERSO = false
  # Remplacer par le nom du fichier sans
  # extension (dossier Pictures) si vous voulez
  # une image pour la balle (redimensionné en
  # jeu)
  BALLE_PERSO = false
  COULEUR_JOUEUR_1 = Color.new(255, 100, 100, 255)
  COULEUR_JOUEUR_2 = Color.new(100, 100, 255, 255)
  TRAINEE = true
  module_function
  #-------------------------------------------------------------
  # Démarage
  #-------------------------------------------------------------
  def start(score=10)
      Graphics.freeze
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Points
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      @score = score
      @j1 = @cpu = 0
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Trainée
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      if TRAINEE
        @trainée = Sprite.new
        @trainée.bitmap = Bitmap.new(640, 480)
        @trainée.bitmap.fill_rect(0, 0, 640, 480, Color.new(0, 0, 0))
        @vide = Bitmap.new(640, 480)
        @vide.fill_rect(0, 0, 640, 480, Color.new(0, 0, 0))
      end
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Fond
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      @fond = Sprite.new
      @fond.bitmap = Bitmap.new(640, 480)
      @fond.bitmap.font.name = "Lucida Console"
      @fond.bitmap.font.size = 72
      @fond.bitmap.draw_text(0, 0, 640, 200, "0 - 0", 1)
      @fond.bitmap.font.size = 30
      @fond.bitmap.draw_text(0, 280, 640, 200, "Puntuación a alcanzar: #{@score}", 1)
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Barres
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      @barre_1 = Sprite.new
      @barre_1.bitmap = Bitmap.new(20, 100)
      @barre_2 = Sprite.new
      @barre_2.bitmap = @barre_1.bitmap
      @gls_1 = @gls_2 = 0.0
      if BARRE_PERSO
        pic = RPG::Cache.picture(BARRE_PERSO)
        @barre_1.bitmap.stretch_blt(@barre_1.bitmap.rect, pic, pic.rect)
      else
        # Remplissage
        @barre_1.bitmap.fill_rect(0, 0, 20, 100, Color.new(255, 255, 255))
        # Contour noir, haut
        @barre_1.bitmap.fill_rect(0, 0, 20, 2, Color.new(0, 0, 0, 122.5))
        # Gauche
        @barre_1.bitmap.fill_rect(0, 0, 2, 100, Color.new(0, 0, 0, 122.5))
        # Droite
        @barre_1.bitmap.fill_rect(18, 0, 2, 100, Color.new(0, 0, 0, 122.5))
        # Bas
        @barre_1.bitmap.fill_rect(0, 98, 20, 2, Color.new(0, 0, 0, 122.5))
      end
      # Repère
      @barre_1.oy = @barre_2.oy = 50
      # Position
      @barre_1.y = @barre_2.y = 240
      @barre_2.x = 620
      # Couleur
      @barre_1.color = COULEUR_JOUEUR_1
      @barre_2.color = COULEUR_JOUEUR_2
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Balle
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      @balle = Sprite.new
      # Position
      @balle.ox = @balle.oy = 10
      @balle.x, @balle.y = 320, 240
      @balle.angle = 135 + rand(90)
      @balle_float_x = @balle_float_y = 0.0
      @balle_veloc = 5
      @rotate = 0
      # Apparence
      @balle.bitmap = Bitmap.new(20, 20)
      if BALLE_PERSO
        pic = RPG::Cache.picture(BALLE_PERSO)
        @barre_1.bitmap.stretch_blt(@balle.bitmap.rect, pic, pic.rect)
      else
        20.times do |x|
            20.times do |y|
              r = Math.hypot(10-x, 10-y).to_i
              if r < 10
                  @balle.bitmap.set_pixel(x, y, Color.new(255, 255, 255))
              end
            end
        end
      end
      @fin = false
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Intro
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      @masque = Sprite.new
      @masque.bitmap = Bitmap.new(640, 480)
      @masque.bitmap.fill_rect(0, 0, 640, 480, Color.new(0, 0, 0))
      @masque.z = 200
      @t = Sprite.new
      @t.bitmap = Bitmap.new(400, 200)
      @t.x = 320
      @t.y = 100
      @t.ox = 200
      @t.zoom_x = 1.5
      @t.zoom_y = 1.5
      @t.bitmap.font.name = "Lucida Console"
      @t.bitmap.font.size = 30
      @t.bitmap.draw_text(0, 0, 400, 200, "Puntuación a alcanzar: #{@score}", 1)
      @t.z = 250
      Graphics.transition(10)
      Graphics.freeze
      @t.z = 250
      Graphics.transition(20)
      31.times do |i|
        Graphics.update
        @t.y = i * 180 / 30 + 100
        @t.zoom_x = 1.5 - i / 60.0
        @t.zoom_y = 1.5 - i / 60.0
      end
      Graphics.freeze
      @t.dispose
      @masque.z = -1
      Graphics.transition(20)
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Boucle de jeu
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Audio.bgm_play("Audio/BGM/" + "título",100,100)
      until @fin
        Graphics.update
        Input.update
        update()
      end
      @victoire = @fin == 1
      Graphics.freeze
      @masque.z = 200
      @t = Sprite.new
      @t.bitmap = Bitmap.new(400, 200)
      @t.x = 320
      @t.y = 100
      @t.ox = 200
      @t.bitmap.font.name = "Lucida Console"
      @t.bitmap.font.size = 30
      if @fin == 1
        @t.bitmap.draw_text(0, 0, 400, 200, "¡Has ganado!", 1)
      else
        @t.bitmap.draw_text(0, 0, 400, 200, "Perdiste...", 1)
      end
      @score = "#{@j1} - #{@cpu}"
      Graphics.transition(20)
      Graphics.freeze
      @t.z = 250
      Graphics.transition(20)
      20.times { Graphics.update }
      Graphics.freeze
      @t.dispose
      Graphics.transition(20)
      Graphics.freeze
      @masque.dispose
      @balle.dispose
      @barre_1.dispose
      @barre_2.dispose
      @trainée.dispose
      @fond.dispose
      Graphics.transition(10)
  end
  #-------------------------------------------------------------
  # Mise à jour
  #-------------------------------------------------------------
  def update
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Déplacement joueur
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      if Input.press?(Input::UP) and @barre_1.y > 50
        @barre_1.y -= 5
        @gls_1 -= 1 if @gls_1 < 10
      elsif Input.press?(Input::DOWN) and @barre_1.y < 430
        @barre_1.y += 5
        @gls_1 += 1 if @gls_1 < 10
      else
        @gls_1 = 0
      end
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Déplacement CPU
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      dis = (@balle.y - @barre_2.y)
      if dis.abs > 10 and @balle.x >= 300
        if (dis > 0 and @barre_2.y < 430) or (dis < 0 and @barre_2.y > 50)
            @gls_2 += dis <=> 0 if @gls_2 < 10 and @gls_2 > 10
            @barre_2.y += (dis <=> 0) * 5
        end
      else
        @gls_2 = 0
      end
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Déplacement balle
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      vx = Math.cos(@balle.angle * Math::PI / 180) * @balle_veloc
      vy = Math.sin(@balle.angle * Math::PI / 180) * @balle_veloc
      @balle.x += vx.to_i + @balle_float_x.to_i
      @balle.y += vy.to_i + @balle_float_y.to_i
      @balle_float_x += (vx - vx.to_i) - @balle_float_x.to_i
      @balle_float_y += (vy - vy.to_i) - @balle_float_y.to_i
      @balle.angle += @rotate
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Trainée
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      if TRAINEE
        @trainée.bitmap.blt(0, 0, @vide, @vide.rect, 50)
        @trainée.bitmap.blt(@balle.x-10, @balle.y-10, @balle.bitmap, @balle.bitmap.rect)
      end
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Contactes
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Haut/bas
      unless @balle.y.between?(10, 470)
        @balle.angle *= -1
        @balle.y = [[11, @balle.y].max, 469].min
      end
      # Gauche/droite
      if @balle.x <= 0
        @cpu += 1
        refresh()
        @balle.x = 320
        @balle.y = 240
        @balle.angle = 45 - rand(90) + rand(2) * 180
        20.times do |x|
            20.times do |y|
              c = Color.new(255, 255, 255)
              c.alpha = @balle.bitmap.get_pixel(x, y).alpha
              @balle.bitmap.set_pixel(x, y, c)
            end
        end
        @rotate = 0
        @balle_veloc = 5
      elsif @balle.x >= 640
        @j1 += 1
        refresh()
        @balle.x = 320
        @balle.y = 240
        @balle.angle = 45 - rand(90) + rand(2) * 180
        20.times do |x|
            20.times do |y|
              c = Color.new(255, 255, 255)
              c.alpha = @balle.bitmap.get_pixel(x, y).alpha
              @balle.bitmap.set_pixel(x, y, c)
            end
        end
        @rotate = 0
        @balle_veloc = 5
      # Barre joueur
      elsif @balle.x <= 30
        if @balle.y.between?(@barre_1.y-50, @barre_1.y+50)
            Audio.se_play("Audio/SE/sonido", 100, 100)
            @balle.angle =  -@balle.angle + 180 + @gls_1
            if (@balle.angle > 180 and @gls_1 > 0) or (@balle.angle < 180 and @gls_1 < 0)
              @rotate = @gls_1 / 20.0
            else
              @rotate = 0
            end
            @balle.x = 30
            @balle_veloc += 0.5
            20.times do |x|
              20.times do |y|
                  c = COULEUR_JOUEUR_1
                  c.alpha = @balle.bitmap.get_pixel(x, y).alpha
                  @balle.bitmap.set_pixel(x, y, c)
              end
            end
        end
      # Barre CPU
      elsif @balle.x >= 610
        if @balle.y.between?(@barre_2.y-50, @barre_2.y+50)
            Audio.se_play("Audio/SE/sonido", 100, 100)
            @balle.angle = -@balle.angle + 180 + @gls_2
            if (@balle.angle > 0 and @gls_2 > 0) or (@balle.angle < 0 and @gls_1 < 0)
              @rotate = @gls_2 / 20.0
            else
              @rotate = 0
            end
            @balle.x = 610
            @balle_veloc += 0.1
            20.times do |x|
              20.times do |y|
                  c = COULEUR_JOUEUR_2
                  c.alpha = @balle.bitmap.get_pixel(x, y).alpha
                  @balle.bitmap.set_pixel(x, y, c)
              end
            end
        end
      end
  end
  #-------------------------------------------------------------
  # Rafraichissement
  #-------------------------------------------------------------
  def refresh
      @fond.bitmap.clear
      @fond.bitmap.font.size = 75
      @fond.bitmap.draw_text(0, 0, 640, 200, "#{@j1} - #{@cpu}", 1)
      @fond.bitmap.font.size = 30
      @fond.bitmap.draw_text(0, 200, 640, 200, "Puntuación a alcanzar: #{@score}", 1)
      if @j1 == @score
        @fin = 1
      elsif @cpu == @score
        @fin = 2
      end
  end
  #-------------------------------------------------------------
  # Score
  #-------------------------------------------------------------
  def score
      return @score
  end
  #-------------------------------------------------------------
  # Victoire
  #-------------------------------------------------------------
  def victoire
      return @victoire
  end
end

Instrucciones:

# Coloca el script encima de Main.
# Aunque no sea necesario, puedes tener tus propios gráficos para las barras y la bola. Guí­ate con las instrucciones al principio del script.
# Al principio del script encontrarás:
TRAINEE = true
Si lo dejas así­, el fondo en la partida será negro. Si lo cambias a true el fondo será el mismo mapa.
# Busca en el script las dos veces que aparece
Audio.se_play("Audio/SE/sonido", 100, 100)
Cambia 'sonido' por el nombre del SE que quieras que suene.
# Busca en el script
Audio.bgm_play("Audio/BGM/" + "título",100,100)
Cambia 'título' por el nombre de la BGM que sonará.
# Para usarlo, utiliza Llamar Script en un evento y escribe:
Pong.start(X)
En el lugar de la X pon el número de puntos necesarios para ganar el juego. Si se lo pones Pong.start será tomado el valor por defecto (10)
# Después de la partida puedes utilizar Condiciones y Efectos. Para utilizar la condición de script de haber ganado usa
Pong.victoire
También puedes utilizar la puntuación, que se usa igual y se guarda en Pong.score

Créditos:
Script creado por Corbaque.


Última edición por Ribbu el 2010-02-26, 20:36, editado 2 veces

_________________
¡DESCARGA ARRYN!

Ribbu
Administrador
Administrador



Créditos 10079

Gracias : 84

http://www.mundo-maker.com

Volver arriba Ir abajo

Re: [RMXP] Pong

Mensaje por hinmo el 2009-06-24, 14:21

esta muy bien estos scripts de minijuegos un dia podriamos crear un juego recopilatorio de todos no?

hinmo
Soñador
Soñador

0/3

Créditos 213

Gracias : 1

Volver arriba Ir abajo

Re: [RMXP] Pong

Mensaje por orochii el 2009-06-24, 21:50

Ummmm muy interesante la parte del pong.victoire y pong.score... Como dice hinmo, hacer un recopilatorio quedaría bastante bien ^^. Aunque a veces me parecería como un intento de arcade con el RMXP.

Pero bueno, un excelente aporte CRK y felicitaciones a Corbaque por el script,
Orochii Zouveleki

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

Re: [RMXP] Pong

Mensaje por hinmo el 2009-06-24, 22:56

lo q digo es eso mas o menos yo e visto el tetris y otros mas asi q un dia podriamos hacerlo no? estilo mario party pero con juegos arcade

hinmo
Soñador
Soñador

0/3

Créditos 213

Gracias : 1

Volver arriba Ir abajo

Re: [RMXP] Pong

Mensaje por elieli el 2010-02-26, 14:25

el codigo tiene puras AAAAA por todos lados buahh yo lo queriaaa

elieli
Soñador
Soñador

0/3

Créditos 380

Gracias : 0

Volver arriba Ir abajo

Re: [RMXP] Pong

Mensaje por orochii el 2010-02-26, 18:43

Código:
#===================================
# Pong 1.0
#---------------------------------------------------------------
# El gran clásico adaptado a RPG Maker XP
#---------------------------------------------------------------
# Creado por Corbaque (03/06/2007)
#===================================
module Pong
   #-------------------------------------------------------------
   # Options
   #-------------------------------------------------------------
   # Remplacer par le nom du fichier sans
   # extension (dossier Pictures) si vous voulez
   # une image pour les barres (redimensionné
   # en jeu)
   BARRE_PERSO = false
   # Remplacer par le nom du fichier sans
   # extension (dossier Pictures) si vous voulez
   # une image pour la balle (redimensionné en
   # jeu)
   BALLE_PERSO = false
   COULEUR_JOUEUR_1 = Color.new(255, 100, 100, 255)
   COULEUR_JOUEUR_2 = Color.new(100, 100, 255, 255)
   TRAINEE = true
   module_function
   #-------------------------------------------------------------
   # Démarage
   #-------------------------------------------------------------
   def start(score=10)
      Graphics.freeze
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Points
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      @score = score
      @j1 = @cpu = 0
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Trainée
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      if TRAINEE
         @trainée = Sprite.new
         @trainée.bitmap = Bitmap.new(640, 480)
         @trainée.bitmap.fill_rect(0, 0, 640, 480, Color.new(0, 0, 0))
         @vide = Bitmap.new(640, 480)
         @vide.fill_rect(0, 0, 640, 480, Color.new(0, 0, 0))
      end
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Fond
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      @fond = Sprite.new
      @fond.bitmap = Bitmap.new(640, 480)
      @fond.bitmap.font.name = "Lucida Console"
      @fond.bitmap.font.size = 72
      @fond.bitmap.draw_text(0, 0, 640, 200, "0 - 0", 1)
      @fond.bitmap.font.size = 30
      @fond.bitmap.draw_text(0, 280, 640, 200, "Puntuación a alcanzar: #{@score}", 1)
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Barres
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      @barre_1 = Sprite.new
      @barre_1.bitmap = Bitmap.new(20, 100)
      @barre_2 = Sprite.new
      @barre_2.bitmap = @barre_1.bitmap
      @gls_1 = @gls_2 = 0.0
      if BARRE_PERSO
         pic = RPG::Cache.picture(BARRE_PERSO)
         @barre_1.bitmap.stretch_blt(@barre_1.bitmap.rect, pic, pic.rect)
      else
         # Remplissage
         @barre_1.bitmap.fill_rect(0, 0, 20, 100, Color.new(255, 255, 255))
         # Contour noir, haut
         @barre_1.bitmap.fill_rect(0, 0, 20, 2, Color.new(0, 0, 0, 122.5))
         # Gauche
         @barre_1.bitmap.fill_rect(0, 0, 2, 100, Color.new(0, 0, 0, 122.5))
         # Droite
         @barre_1.bitmap.fill_rect(18, 0, 2, 100, Color.new(0, 0, 0, 122.5))
         # Bas
         @barre_1.bitmap.fill_rect(0, 98, 20, 2, Color.new(0, 0, 0, 122.5))
      end
      # Repère
      @barre_1.oy = @barre_2.oy = 50
      # Position
      @barre_1.y = @barre_2.y = 240
      @barre_2.x = 620
      # Couleur
      @barre_1.color = COULEUR_JOUEUR_1
      @barre_2.color = COULEUR_JOUEUR_2
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Balle
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      @balle = Sprite.new
      # Position
      @balle.ox = @balle.oy = 10
      @balle.x, @balle.y = 320, 240
      @balle.angle = 135 + rand(90)
      @balle_float_x = @balle_float_y = 0.0
      @balle_veloc = 5
      @rotate = 0
      # Apparence
      @balle.bitmap = Bitmap.new(20, 20)
      if BALLE_PERSO
         pic = RPG::Cache.picture(BALLE_PERSO)
         @barre_1.bitmap.stretch_blt(@balle.bitmap.rect, pic, pic.rect)
      else
         20.times do |x|
            20.times do |y|
               r = Math.hypot(10-x, 10-y).to_i
               if r < 10
                  @balle.bitmap.set_pixel(x, y, Color.new(255, 255, 255))
               end
            end
         end
      end
      @fin = false
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Intro
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      @masque = Sprite.new
      @masque.bitmap = Bitmap.new(640, 480)
      @masque.bitmap.fill_rect(0, 0, 640, 480, Color.new(0, 0, 0))
      @masque.z = 200
      @t = Sprite.new
      @t.bitmap = Bitmap.new(400, 200)
      @t.x = 320
      @t.y = 100
      @t.ox = 200
      @t.zoom_x = 1.5
      @t.zoom_y = 1.5
      @t.bitmap.font.name = "Lucida Console"
      @t.bitmap.font.size = 30
      @t.bitmap.draw_text(0, 0, 400, 200, "Puntuación a alcanzar: #{@score}", 1)
      @t.z = 250
      Graphics.transition(10)
      Graphics.freeze
      @t.z = 250
      Graphics.transition(20)
      31.times do |i|
         Graphics.update
         @t.y = i * 180 / 30 + 100
         @t.zoom_x = 1.5 - i / 60.0
         @t.zoom_y = 1.5 - i / 60.0
      end
      Graphics.freeze
      @t.dispose
      @masque.z = -1
      Graphics.transition(20)
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Boucle de jeu
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Audio.bgm_play("Audio/BGM/" + "título",100,100)
      until @fin
         Graphics.update
         Input.update
         update()
      end
      @victoire = @fin == 1
      Graphics.freeze
      @masque.z = 200
      @t = Sprite.new
      @t.bitmap = Bitmap.new(400, 200)
      @t.x = 320
      @t.y = 100
      @t.ox = 200
      @t.bitmap.font.name = "Lucida Console"
      @t.bitmap.font.size = 30
      if @fin == 1
         @t.bitmap.draw_text(0, 0, 400, 200, "¡Has ganado!", 1)
      else
         @t.bitmap.draw_text(0, 0, 400, 200, "Perdiste...", 1)
      end
      @score = "#{@j1} - #{@cpu}"
      Graphics.transition(20)
      Graphics.freeze
      @t.z = 250
      Graphics.transition(20)
      20.times { Graphics.update }
      Graphics.freeze
      @t.dispose
      Graphics.transition(20)
      Graphics.freeze
      @masque.dispose
      @balle.dispose
      @barre_1.dispose
      @barre_2.dispose
      @trainée.dispose
      @fond.dispose
      Graphics.transition(10)
   end
   #-------------------------------------------------------------
   # Mise à jour
   #-------------------------------------------------------------
   def update
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Déplacement joueur
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      if Input.press?(Input::UP) and @barre_1.y > 50
         @barre_1.y -= 5
         @gls_1 -= 1 if @gls_1 < 10
      elsif Input.press?(Input::DOWN) and @barre_1.y < 430
         @barre_1.y += 5
         @gls_1 += 1 if @gls_1 < 10
      else
         @gls_1 = 0
      end
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Déplacement CPU
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      dis = (@balle.y - @barre_2.y)
      if dis.abs > 10 and @balle.x >= 300
         if (dis > 0 and @barre_2.y < 430) or (dis < 0 and @barre_2.y > 50)
            @gls_2 += dis <=> 0 if @gls_2 < 10 and @gls_2 > 10
            @barre_2.y += (dis <=> 0) * 5
         end
      else
         @gls_2 = 0
      end
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Déplacement balle
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      vx = Math.cos(@balle.angle * Math::PI / 180) * @balle_veloc
      vy = Math.sin(@balle.angle * Math::PI / 180) * @balle_veloc
      @balle.x += vx.to_i + @balle_float_x.to_i
      @balle.y += vy.to_i + @balle_float_y.to_i
      @balle_float_x += (vx - vx.to_i) - @balle_float_x.to_i
      @balle_float_y += (vy - vy.to_i) - @balle_float_y.to_i
      @balle.angle += @rotate
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Trainée
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      if TRAINEE
         @trainée.bitmap.blt(0, 0, @vide, @vide.rect, 50)
         @trainée.bitmap.blt(@balle.x-10, @balle.y-10, @balle.bitmap, @balle.bitmap.rect)
      end
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Contactes
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Haut/bas
      unless @balle.y.between?(10, 470)
         @balle.angle *= -1
         @balle.y = [[11, @balle.y].max, 469].min
      end
      # Gauche/droite
      if @balle.x <= 0
         @cpu += 1
         refresh()
         @balle.x = 320
         @balle.y = 240
         @balle.angle = 45 - rand(90) + rand(2) * 180
         20.times do |x|
            20.times do |y|
               c = Color.new(255, 255, 255)
               c.alpha = @balle.bitmap.get_pixel(x, y).alpha
               @balle.bitmap.set_pixel(x, y, c)
            end
         end
         @rotate = 0
         @balle_veloc = 5
      elsif @balle.x >= 640
         @j1 += 1
         refresh()
         @balle.x = 320
         @balle.y = 240
         @balle.angle = 45 - rand(90) + rand(2) * 180
         20.times do |x|
            20.times do |y|
               c = Color.new(255, 255, 255)
               c.alpha = @balle.bitmap.get_pixel(x, y).alpha
               @balle.bitmap.set_pixel(x, y, c)
            end
         end
         @rotate = 0
         @balle_veloc = 5
      # Barre joueur
      elsif @balle.x <= 30
         if @balle.y.between?(@barre_1.y-50, @barre_1.y+50)
            Audio.se_play("Audio/SE/sonido", 100, 100)
            @balle.angle =   -@balle.angle + 180 + @gls_1
            if (@balle.angle > 180 and @gls_1 > 0) or (@balle.angle < 180 and @gls_1 < 0)
               @rotate = @gls_1 / 20.0
            else
               @rotate = 0
            end
            @balle.x = 30
            @balle_veloc += 0.5
            20.times do |x|
               20.times do |y|
                  c = COULEUR_JOUEUR_1
                  c.alpha = @balle.bitmap.get_pixel(x, y).alpha
                  @balle.bitmap.set_pixel(x, y, c)
               end
            end
         end
      # Barre CPU
      elsif @balle.x >= 610
         if @balle.y.between?(@barre_2.y-50, @barre_2.y+50)
            Audio.se_play("Audio/SE/sonido", 100, 100)
            @balle.angle = -@balle.angle + 180 + @gls_2
            if (@balle.angle > 0 and @gls_2 > 0) or (@balle.angle < 0 and @gls_1 < 0)
               @rotate = @gls_2 / 20.0
            else
               @rotate = 0
            end
            @balle.x = 610
            @balle_veloc += 0.1
            20.times do |x|
               20.times do |y|
                  c = COULEUR_JOUEUR_2
                  c.alpha = @balle.bitmap.get_pixel(x, y).alpha
                  @balle.bitmap.set_pixel(x, y, c)
               end
            end
         end
      end
   end
   #-------------------------------------------------------------
   # Rafraichissement
   #-------------------------------------------------------------
   def refresh
      @fond.bitmap.clear
      @fond.bitmap.font.size = 75
      @fond.bitmap.draw_text(0, 0, 640, 200, "#{@j1} - #{@cpu}", 1)
      @fond.bitmap.font.size = 30
      @fond.bitmap.draw_text(0, 200, 640, 200, "Puntuación a alcanzar: #{@score}", 1)
      if @j1 == @score
         @fin = 1
      elsif @cpu == @score
         @fin = 2
      end
   end
   #-------------------------------------------------------------
   # Score
   #-------------------------------------------------------------
   def score
      return @score
   end
   #-------------------------------------------------------------
   # Victoire
   #-------------------------------------------------------------
   def victoire
      return @victoire
   end
end
Te lo he arreglado, gracias al "Reemplazar" de Notepad++ ;D.

Suerte,
Orochii Zouveleki

PD.: :F, ahora me envicio un rato xD.

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

Re: [RMXP] Pong

Mensaje por Ribbu el 2010-02-26, 20:37

orochii escribió:
Te lo he arreglado, gracias al "Reemplazar" de Notepad++ ;D.

Suerte,
Orochii Zouveleki

PD.: :F, ahora me envicio un rato xD.

Jajaja gracias por el arreglo.

Actualizado el post principal.

_________________
¡DESCARGA ARRYN!

Ribbu
Administrador
Administrador



Créditos 10079

Gracias : 84

http://www.mundo-maker.com

Volver arriba Ir abajo

Re: [RMXP] Pong

Mensaje por elieli el 2010-03-06, 18:30

jejeje grax orochiii XD no sabia eso de remmplazar...xD

elieli
Soñador
Soñador

0/3

Créditos 380

Gracias : 0

Volver arriba Ir abajo

Re: [RMXP] Pong

Mensaje por Contenido patrocinado Hoy a las 18:17


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

Permisos de este foro:
No puedes responder a temas en este foro.