1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

BatalhaNaval Python

Discussão em 'Programação' iniciada por xpal, 16 de Fevereiro de 2009. (Respostas: 5; Visualizações: 739)

  1. xpal

    xpal What is folding?

    boas , estou aqi a tentar fazer a BatalhaNaval com código Python mas so consigo ate aqi :
    Código:
    import wx
    
    class GameFrame(wx.Frame):
        def __init__(self,  pparent, pid, ptitle,  psize):
            wx.Frame.__init__(self, pparent, pid,  ptitle, size=psize)
            painel = wx.Panel(self)
            # grelha de jogo
            for i in range(1, 11):
                wx.StaticText(painel, wx.ID_ANY, chr(i+64), size=(20, 30),  pos=(20+25*i, 20))
            for i in range(11, 21):
                wx.StaticText(painel, wx.ID_ANY, chr(i+54), size=(20, 30),  pos=(50+25*i, 20))
            for i in range(1,  11):
                for j in range(1,  11):
                    wx.Button(painel, 10000+i*100+j,  "", size=(20, 30),  pos=(20+25*j, i*30+10))
                for j in range(11,  21):
                    wx.Button(painel, 20000+i*100+j,  "", size=(20, 30),  pos=(50+25*j, i*30+10))
            for i in range(1, 11):
                wx.StaticText(painel, wx.ID_ANY, str(i), size=(20, 30), pos=(300, i*30+10))
                
            # botoes para posicionar barcos
            self.bt2hc1 = wx.Button(painel, 30010,  "", size=(20, 30),  pos=(50, 350))
            self.bt2hc2 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(70, 350))
            self.bt3hc1 = wx.Button(painel, 30030,  "", size=(20, 30),  pos=(50, 390))
            self.bt3hc2 = wx.Button(painel, 30040,  "", size=(20, 30),  pos=(70, 390))
            self.bt3hc3 = wx.Button(painel, 30050,  "", size=(20, 30),  pos=(90, 390))
            self.bt4hc1 = wx.Button(painel, 30060,  "", size=(20, 30),  pos=(50, 430))
            self.bt4hc2 = wx.Button(painel, 30070,  "", size=(20, 30),  pos=(70, 430))
            self.bt4hc3 = wx.Button(painel, 30080,  "", size=(20, 30),  pos=(90, 430))
            self.bt4hc3 = wx.Button(painel, 30090,  "", size=(20, 30),  pos=(110, 430))
    
            self.bt2vc1 = wx.Button(painel, 30010,  "", size=(20, 30),  pos=(200, 350))
            self.bt2vc2 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(200, 380))
            self.bt3vc1 = wx.Button(painel, 30010,  "", size=(20, 30),  pos=(230, 350))
            self.bt3vc2 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(230, 380))
            self.bt3vc3 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(230, 410))
            self.bt4vc1 = wx.Button(painel, 30010,  "", size=(20, 30),  pos=(260, 350))
            self.bt4vc2 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(260, 380))
            self.bt4vc3 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(260, 410))
            self.bt4vc4 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(260, 440))
            
            # porta-avioes
            self.btapp11 = wx.Button(painel, 30010,  "", size=(20, 30),  pos=(290, 350))
            self.btapp12 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(290, 380))
            self.btapp13 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(290, 410))
            self.btapp14 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(310, 380))
            self.btapp15 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(330, 380))
            
            self.btapp21 = wx.Button(painel, 30010,  "", size=(20, 30),  pos=(400, 350))
            self.btapp22 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(400, 380))
            self.btapp23 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(400, 410))
            self.btapp24 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(360, 380))
            self.btapp25 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(380, 380))
            
            self.btapp31 = wx.Button(painel, 30010,  "", size=(20, 30),  pos=(430, 350))
            self.btapp32 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(450, 350))
            self.btapp33 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(470, 350))
            self.btapp34 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(450, 380))
            self.btapp35 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(450, 410))
            
            self.btapp41 = wx.Button(painel, 30010,  "", size=(20, 30),  pos=(500, 410))
            self.btapp42 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(520, 410))
            self.btapp43 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(540, 410))
            self.btapp44 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(520, 380))
            self.btapp45 = wx.Button(painel, 30020,  "", size=(20, 30),  pos=(520, 350))
            
    
            self.Bind(wx.EVT_BUTTON,  self.Clicar,  id=10101)
            self.Show()
            
        def Clicar(self,  evt):
            pass
    
    if __name__ == '__main__':
        app = wx.App(False)
        frm1 = GameFrame(None,  wx.ID_ANY, "Batalha Naval", (750, 500))
        app.MainLoop() 
    
    
    ...


    algumas sugestoes ?
     
    Última edição pelo moderador: 16 de Fevereiro de 2009
  2. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Podes explicar o que já tens feito e o que é que queres fazer ao certo?
     
  3. xpal

    xpal What is folding?

    o codigo qe pus ai é da interface , falta-me o codigo do jogo em si
     
  4. luis_pedro_Sato

    luis_pedro_Sato Power Member

    Falta te defenir:
    Barcos, tamanho e posicoes
    Funcao rand para colocar os barcos no inicio e gravar onde ficaram
    Funcao rand para atacar os barcos vizinhos e gravar o hisitorico
    Funcao de verificacao se ja está tudo morto
     
  5. xpal

    xpal What is folding?

    eu já tenho os barcos ai (...)
     
  6. napalm

    napalm Power Member

    falta-te o resto pá! bom trab.
     

Partilhar esta Página