Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Problem mit Static

Uploader:MitgliedDonStevone
Datum/Zeit:13.09.2011 16:39:09

Type ManagerUDT
    Declare Static Sub NewPos(XPos as Integer, YPos as Integer)
    Dim as PlayerUDT Player = PlayerUDT(33, 33, @NewPos)
    Dim as FieldManagerUDT FieldManager

    Static as UInteger Client
    Dim BV as Integer

    Declare Constructor(Server as String, Port as UShort)
    Declare Static Sub Disconnected(V_TSNEID as UInteger)
    Declare Static Sub Connected(V_TSNEID as UInteger)
    Declare Static Sub NewData(V_TSNEID as UInteger, ByRef V_Data as String)
    Declare Sub Update()
    Declare Sub UpdateG()
    Declare Sub GClear()
    Declare Sub Coll()
End Type

'###############################################################################
Constructor ManagerUDT(Server as String, Port as UShort)
    BV = TSNE_Create_Client(Client, Server, Port, @Disconnected, @Connected, @NewData, 60)
    If BV <> TSNE_Const_NoError Then
        Print "[FEHLER] " & TSNE_GetGURUCode(BV)
        Sleep
        End -1
    End If
End Constructor

'###############################################################################
Sub ManagerUDT.Disconnected(ByVal V_TSNEID as UInteger)
End Sub

'###############################################################################
Sub ManagerUDT.Connected(ByVal V_TSNEID as UInteger)
End Sub

'###############################################################################
Sub ManagerUDT.NewData(ByVal V_TSNEID as UInteger, ByRef V_Data as String)
End Sub

'###############################################################################
'###############################################################################
'###############################################################################
Sub ManagerUDT.UpdateG()
    Player.G()
    FieldManager.G()
End Sub

'###############################################################################
Sub ManagerUDT.Update()
    Player.Control()
    Coll()
End Sub

'###############################################################################
Sub ManagerUDT.GClear()
    Player.GClear
End Sub

'###############################################################################
Sub ManagerUDT.Coll()
    Dim as Integer a, b


    For a = 1 to 18
        For b = 1 to 15
            If  (Player.X > (a - 1) * 32 And Player.X < a * 32 And Player.Y > (b - 1) * 32 And Player.Y < b * 32 OR _
                Player.X + PWidth> (a - 1) * 32 And Player.X + PWidth < a * 32 And Player.Y > (b - 1) * 32 And Player.Y < b * 32 OR _
                Player.X > (a - 1) * 32 And Player.X < a * 32 And Player.Y + PHeight > (b - 1) * 32 And Player.Y + PHeight < b * 32 OR _
                Player.X + PWidth > (a - 1) * 32 And Player.X + PWidth < a * 32 And Player.Y + PHeight > (b - 1) * 32 And Player.Y + PHeight < b * 32) And _
                FieldManager.Area(a, b) > 0 and FieldManager.Area(a, b) < 8 then

                Player.X = Player.LastX
                Player.Y = Player.LastY
                NewPos(Player.X, Player.Y)
            Endif
        Next b
    Next a
End Sub

'###############################################################################
'###############################################################################
'###############################################################################
Static Sub ManagerUDT.NewPos(XPos as Integer, YPos as Integer)
    BV = TSNE_Data_Send(Client, STR(XPos))
    If BV <> TSNE_Const_NoError Then ?"[FEHLER] " & TSNE_GetGURUCode(BV)
End Sub