Bem-vindo, visitante!
 Login:  Senha:
Para refletir: "Ser mapper é mais do que montar um mapa. É imaginar como seria sua vida lá." - mauricio

Autor Tópico: Jogo da Velha  (Lido 1471 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Biel_Maker

  • Membro
  • *
  • Mensagens: 39
  • Reputação: 5
  • Offline
  • O sábio escuta e aprende >.<
Jogo da Velha
« em: 13 de Junho de 2009, 11:44:19 »
Pontuação: 1
Scrip jogo da velha  :ok: Bom para Mini Games  ;-)



Para Chamar o script: $scene = Velha_Game.new(X)
  • Sendo X o ID da variável que conterá o resultado da partida:
  • 0 = Jogador Ganhou (quase impossivel...)
  • 1 = Computador Ganhou
  • 2 = Deu Velha

Spoiler(Clique para mostrar/esconder)
Código: [Selecionar]
################################################################################
##### M I N I - G A M E ########################################################
########## v1.0.0 ##############################################################
###############################   # O # X ######################################
############################### ######### ######################################
########## By: LB #############   # O # X ######################################
############################### ######### ######################################
############################### O #   # X ######################################
################################################################################

class Velha_Game < Scene_Base
  def initialize(var)
    @var = var
  end
  def start
    super
    create_menu_background
  end
  def post_start
    l = 544
    v = 4
    for i in 0...(544-416)/v
      l -= v
      Graphics.resize_screen(l,416)
    end
    @pos = [
    [1,2,3],
    [4,5,6],
    [7,8,9],
    [1,4,7],
    [2,5,8],
    [3,6,9],
    [1,5,9],
    [3,5,7]]
    @pos2 = [
    [1,5,9,3,7],
    [9,5,1,7,3],
    [3,5,7,1,9],
    [7,5,3,9,1],
    [1,9,5,4,8],
    [3,7,5,6,2]]
    @pos3 = [
    1,
    3,
    9,
    7]
    @jogou = []
    @jogada = 0
    @w = Window_Velha.new
  end
  def update
    super
    update_menu_background
    @w.update
    if Input.trigger?(Input::C) and @jogou[@w.index] == nil
      @jogada += 1
      @w.draw("O")
      @jogou[@w.index] = 1
      t = 0
      for i in 0...9
        t += 1 if @jogou[i] != nil
      end
      if t != 9
        h = @w.index
        ia
        @w.draw("X")
        @jogou[@w.index] = 0
        @w.index = h
      end
    end
    for i in 0...2
      @v = i
      if f(1,2,3) or f(4,5,6) or f(7,8,9) or
         f(1,4,7) or f(2,5,8) or f(3,6,9) or
         f(1,5,9) or f(3,5,7)
        $game_variables[@var] = (@v == 0 ? 2 : 1)
        $scene = Scene_Map.new
      end
    end
    t = 0
    for i in 0...9
      t += 1 if @jogou[i] != nil
    end
    if t == 9
      $game_variables[@var] = 3
      $scene = Scene_Map.new
    end
  end
  def ia
    for t in 0...2
      @v = t
      for i in 0...@pos.size
        a = @pos[i][0]
        b = @pos[i][1]
        c = @pos[i][2]
        if    (j(a) and j(b) and !j(c))
          next if @jogou[c-1] != nil
          @w.index = c-1
          return
        elsif (j(a) and !j(b) and j(c))
          next if @jogou[b-1] != nil
          @w.index = b-1
          return
        elsif (!j(a) and j(b) and j(c))
          next if @jogou[a-1] != nil
          @w.index = a-1
          return
        end
      end
    end
    if s != false
      @w.index = s-1
      return
    end
    @v = 1
    @w.index = 3
    if @jogada == 1
      for i in 0...4
        @w.index = 4 if j(@pos3[i])
      end
    end
    @v = 0
    return if @w.index == 4
    loop do
      @w.index = rand(9)
      next if @jogada == 1 and (@w.index == 1 or @w.index == 3 or @w.index == 5 or @w.index == 7)
      return if @jogou[@w.index] == nil
    end
  end
  def s
    for i in 0...6
      @v = 1
      a = j(@pos2[i][0]) and j(@pos2[i][1])
      @v = 0
      for h in 0...2
        r = @pos2[i][3+h] if a and j(@pos2[i][2]) and @jogou[@pos2[i][3+h]] == nil
      end
    end
    return (r == nil ? false : r)
  end
  def f(a,b,c)
    return (j(a) and j(b) and j(c))
  end
  def j(i)
    return @jogou[i-1] == @v
  end
  def terminate
    super
    Graphics.freeze
    @w.dispose
    perform_transition
    l = 416
    v = 4
    for i in 0...(544-416)/v
      l += v
      Graphics.resize_screen(l,416)
    end
    dispose_menu_background
  end
end
class Window_Velha < Window_Selectable
  def initialize
    super(0, 0, 416, 416, 32)
    @item_max = 9
    @column_max = 3
    self.index = 0
    self.contents.font.size = 50
  end
  def draw(symbol)
      a = (416-32)/3
      x = define_x(a)
      y = define_y(a)
    self.contents.draw_text(x,y+((a-50)/2),a,50,symbol.to_s,1)
  end
  def define_x(a)
    case @index
    when 0,3,6
      x = a*0
    when 1,4,7
      x = a*1
    when 2,5,8
      x = a*2
    end
    return x
  end
  def define_y(a)
    case @index
    when 0,1,2
      y = a*0
    when 3,4,5
      y = a*1
    when 6,7,8
      y = a*2
    end
    return y
  end
  def update_cursor
    if @index < 0
      self.cursor_rect.empty
    else
      a = (416-32)/3
      x = define_x(a)
      y = define_y(a)
      self.cursor_rect.set(x, y, a, a)
    end
  end
end

                                                            Crédito
  • LB (reino RPG)
  • a mim por disponibilizar
:tchau:
« Última modificação: 13 de Junho de 2009, 21:05:22 por Principe Zuko »
Assinatura Retirada por estar fora das regras, leia o tópico de regras, e hospede uma imagem que esteja abaixo de 80kb, o link para sua imagem encontra-se abaixo. obrigado.
A Administração.


http://g.imagehost.org/0866/l.png

Tiozim

  • Membro
  • *
  • Mensagens: 3263
  • Reputação: 314
  • Offline
  • Nowadays, se um tileset é ruim, o mapper também é.
Re: Jogo da Velha
« Resposta #1 em: 13 de Junho de 2009, 12:01:17 »
Pontuação: 0
Não gostei não,
acho que devia ser mais trabalhado '-'
O quê? Por que está lendo isso?! JURO QUE NÃO ESTOU TRAMANDO NADA SOBRE RPGS!

Biel_Maker

  • Membro
  • *
  • Mensagens: 39
  • Reputação: 5
  • Offline
  • O sábio escuta e aprende >.<
Re: Jogo da Velha
« Resposta #2 em: 13 de Junho de 2009, 12:14:52 »
Pontuação: 0
Não gostei não,
acho que devia ser mais trabalhado '-'

 :careta: é que eu num manjo linguagem de programação se não eu editava  :'-( ahh mas da pra brinca um poquinho  x-D

e sei lá alguem pode usar  ;-) 

abraço  :tchau:

Assinatura Retirada por estar fora das regras, leia o tópico de regras, e hospede uma imagem que esteja abaixo de 80kb, o link para sua imagem encontra-se abaixo. obrigado.
A Administração.


http://g.imagehost.org/0866/l.png

123

  • Membro
  • *
  • Mensagens: 911
  • Reputação: 10
  • Offline
Re: Jogo da Velha
« Resposta #3 em: 13 de Junho de 2009, 17:12:23 »
Pontuação: 0
Você usou o exemplo de Java que postei, não é? Funcionou 100%? Será que não dá pôr um demo?
Citação
Tao sem INSPIRAÇÃO, olhem: http://forums.mundorpgmaker.com.br/index.php?topic=43737.msg369090#msg369090


Citação
MEUS FAVORITOS (ATUALIZADO CONSTANTEMENTE): http://www.ejoiasite.com.br/publico/almanaque

Biel_Maker

  • Membro
  • *
  • Mensagens: 39
  • Reputação: 5
  • Offline
  • O sábio escuta e aprende >.<
Re: Jogo da Velha
« Resposta #4 em: 13 de Junho de 2009, 18:45:18 »
Pontuação: 0
Você usou o exemplo de Java que postei, não é? Funcionou 100%? Será que não dá pôr um demo?

Puts nem usei exemplo nenhum eu vi em outro site achei legalzinho e resolvi passa aqui pra galera  ^-^

uma demo depois eu vejo isso  :ok:

abraço  :tchau:
Assinatura Retirada por estar fora das regras, leia o tópico de regras, e hospede uma imagem que esteja abaixo de 80kb, o link para sua imagem encontra-se abaixo. obrigado.
A Administração.


http://g.imagehost.org/0866/l.png

123

  • Membro
  • *
  • Mensagens: 911
  • Reputação: 10
  • Offline
Re: Jogo da Velha
« Resposta #5 em: 13 de Junho de 2009, 19:28:03 »
Pontuação: 0
Se não foi meu exemplo, então vê em http://forums.mundorpgmaker.com.br/index.php/topic,7228.msg61279.html#msg61279 se é parecido ou melhor -- só que é Java, aí teria que passar a lógica dele pra do RGSS.
Citação
Tao sem INSPIRAÇÃO, olhem: http://forums.mundorpgmaker.com.br/index.php?topic=43737.msg369090#msg369090


Citação
MEUS FAVORITOS (ATUALIZADO CONSTANTEMENTE): http://www.ejoiasite.com.br/publico/almanaque

Biel_Maker

  • Membro
  • *
  • Mensagens: 39
  • Reputação: 5
  • Offline
  • O sábio escuta e aprende >.<
Re: Jogo da Velha
« Resposta #6 em: 13 de Junho de 2009, 20:00:11 »
Pontuação: 0
Se não foi meu exemplo, então vê em http://forums.mundorpgmaker.com.br/index.php/topic,7228.msg61279.html#msg61279 se é parecido ou melhor -- só que é Java, aí teria que passar a lógica dele pra do RGSS.

éé parecido sim  :ok: mas então... c usa VX  ò-Ô? poe ai no seu projeto pra vê como é.. pelo oque eu tava vendo esse sistema de jogo da velha é praticamente impossivel de ganha >-< ah lógica que foi usada é bem interessante  :-) flando nisso num manjo de script só o básico  :-( tu ja tento passa o seu em java pra vx ?

 :tchau:
« Última modificação: 13 de Junho de 2009, 20:02:29 por Biel_Maker »
Assinatura Retirada por estar fora das regras, leia o tópico de regras, e hospede uma imagem que esteja abaixo de 80kb, o link para sua imagem encontra-se abaixo. obrigado.
A Administração.


http://g.imagehost.org/0866/l.png

123

  • Membro
  • *
  • Mensagens: 911
  • Reputação: 10
  • Offline
Re: Jogo da Velha
« Resposta #7 em: 13 de Junho de 2009, 20:48:40 »
Pontuação: 0
Mas não sei passar pro VX, eu pensei que fosse esse que vc pôs aqui!
Citação
Tao sem INSPIRAÇÃO, olhem: http://forums.mundorpgmaker.com.br/index.php?topic=43737.msg369090#msg369090


Citação
MEUS FAVORITOS (ATUALIZADO CONSTANTEMENTE): http://www.ejoiasite.com.br/publico/almanaque

Biel_Maker

  • Membro
  • *
  • Mensagens: 39
  • Reputação: 5
  • Offline
  • O sábio escuta e aprende >.<
Re: Jogo da Velha
« Resposta #8 em: 14 de Junho de 2009, 12:23:47 »
Pontuação: 0
Mas não sei passar pro VX, eu pensei que fosse esse que vc pôs aqui!

ASUHSAUHSAU' nem eu  x-X

ahh... mas esse funfa certim  ^-^

Abraço  :tchau:
Assinatura Retirada por estar fora das regras, leia o tópico de regras, e hospede uma imagem que esteja abaixo de 80kb, o link para sua imagem encontra-se abaixo. obrigado.
A Administração.


http://g.imagehost.org/0866/l.png

123

  • Membro
  • *
  • Mensagens: 911
  • Reputação: 10
  • Offline
Re: Jogo da Velha
« Resposta #9 em: 14 de Junho de 2009, 14:18:19 »
Pontuação: 0
Mas parece que você já ajeitou ele em algum arquivo -- com os RTPs no ponto. Não tem como postar aqui? Ia servir como demo.
Citação
Tao sem INSPIRAÇÃO, olhem: http://forums.mundorpgmaker.com.br/index.php?topic=43737.msg369090#msg369090


Citação
MEUS FAVORITOS (ATUALIZADO CONSTANTEMENTE): http://www.ejoiasite.com.br/publico/almanaque

luska

  • Membro
  • *
  • Mensagens: 927
  • Reputação: 19
  • Offline
Re: Jogo da Velha
« Resposta #10 em: 14 de Junho de 2009, 14:34:41 »
Pontuação: 0
ia ser legal se usasse pictures nesse sistema xP

Biel_Maker

  • Membro
  • *
  • Mensagens: 39
  • Reputação: 5
  • Offline
  • O sábio escuta e aprende >.<
Re: Jogo da Velha
« Resposta #11 em: 14 de Junho de 2009, 14:35:41 »
Pontuação: 0
Mas parece que você já ajeitou ele em algum arquivo -- com os RTPs no ponto. Não tem como postar aqui? Ia servir como demo.

Agora eu to cheio de lição   x-X e o projeto que eu tinha ajeitado eu deletei depois que eu vi que funfo  -_-'''

Mas depois eu posto uma demo sim  :ok:

ia ser legal se usasse pictures nesse sistema xP

Nuss vdd !! ia dexa muito mais legal e eu acho que poderia melhor o sistema ta muito simples  ^-^

eu tava vendo uns Tuto de RGSS2 e nem é tão dificil  ;-)

c pá... eu até tende edita esse script  :palmas:

 :tchau:
« Última modificação: 14 de Junho de 2009, 14:39:23 por Biel_Maker »
Assinatura Retirada por estar fora das regras, leia o tópico de regras, e hospede uma imagem que esteja abaixo de 80kb, o link para sua imagem encontra-se abaixo. obrigado.
A Administração.


http://g.imagehost.org/0866/l.png

 

Tópicos Relacionados

  Assunto / Iniciado por Respostas Última mensagem
14 Respostas
1038 Visualizações
Última mensagem 21 de Junho de 2012, 19:46:02
por MayLeone
3 Respostas
899 Visualizações
Última mensagem 23 de Março de 2012, 11:18:18
por Nanzin
6 Respostas
195 Visualizações
Última mensagem 04 de Abril de 2013, 12:34:41
por GabrielM.
6 Respostas
129 Visualizações
Última mensagem 10 de Abril de 2013, 15:37:21
por GabrielM.