Neuigkeiten:

[13. Nov 2022] Upgrade auf SMF 2.1.

Hauptmenü

Neueste Beiträge

#41
Hotel-Manager / Re: Die neue VB.NET-Version......
Letzter Beitrag von Stiepen - 03. September 2011, 16:14:49
ich arbeite auch nicht immer weiter, aber wenn ich was mache, dann richtig;)

aber das nehme ich als ansporn *grins*
ich denke ich mach wahrscheinlich gleich mal weiter;)
#42
Hotel-Manager / Re: Die neue VB.NET-Version......
Letzter Beitrag von Toa-Nuva - 03. September 2011, 16:10:10
Wow, da stolpert man mal wieder (mehr oder weniger) zufällig ins Forum, weil man sich vor dem Klausurenlernen drücken will, xD und dann liest man hier so was. Freut mich sehr, dass jemand am Hotel Manager weiterarbeiten bzw ihn neu machen will. ;D Auch von meiner Seite viel Erfolg! ;)
#43
Hotel-Manager / Re: Die neue VB.NET-Version......
Letzter Beitrag von Stiepen - 29. August 2011, 19:50:36
Das Soundsystem läuft schonmal!

EDIT: Hier sind 2 Bilder von der Hintergrundmusiksteuerung
#44
Hotel-Manager / Re: Die neue VB.NET-Version......
Letzter Beitrag von Stiepen - 29. August 2011, 19:12:57
ich probiers mal aus... :)

EDIT: Ich kanns noch nichteinmal installieren...
#45
Hotel-Manager / Re: Die neue VB.NET-Version......
Letzter Beitrag von Jojo - 29. August 2011, 19:11:35
Doch natürlich, ist ja ein DOS-Spiel. Es wird aber erst ab 30.000 cycles oder so flüssig laufen und das Soundsystem muss manuell im Hintergrund gestartet werden, weil das ein Windows-Programm ist.
#46
Hotel-Manager / Re: Die neue VB.NET-Version......
Letzter Beitrag von Stiepen - 29. August 2011, 18:55:28
Das kann man wahrscheinlich nicht in ner Dos-Box spielen oder?
#47
Hotel-Manager / Re: Die neue VB.NET-Version......
Letzter Beitrag von Jojo - 29. August 2011, 18:53:37
Zitat von: Stiepen am 29. August 2011, 18:40:20
Auf der Webseite steht was anderes...
Die Webseite wurde auch zu einer Zeit gestaltet, als noch niemand 64-Bit-Systeme hatte und deswegen steht Windows dort generell für 32-Bit-Windows.
#48
Hotel-Manager / Re: Die neue VB.NET-Version......
Letzter Beitrag von Stiepen - 29. August 2011, 18:40:20
Zitat von: Jojo am 29. August 2011, 15:41:08
Zitat von: Stiepen am 29. August 2011, 01:15:41
das bezog sich eher auf hintergrundmusik, aber ich leite es mal witer...
Das war mir auch klar und deswegen habe ich ja auch so geantwortet.
Ok, wusste ich nicht  :s
Zitat
ZitatSagmal Jojo, kannste nicht ne Spoilerfunktion ins Forum einbauen?
Der Code wird doch in der Größe begrenzt, das reicht völlig. Ich installiere keine Forenmods, die machen nur das Aktualisieren den Forensoftware zum Albtraum.
Ok, hatte aber die Code-Funktion nicht gesehehen
Zitat
ZitatEDIT: Mir fällt grad auf Dungeon2 läuft unter Win7 64-Bit nicht
Klar, ist ja auch wie ein Großteil meiner Spiele ein DOS-Spiel.
Auf der Webseite steht was anderes...
#49
Hotel-Manager / Re: Die neue VB.NET-Version......
Letzter Beitrag von Jojo - 29. August 2011, 15:41:08
Zitat von: Stiepen am 29. August 2011, 01:15:41
das bezog sich eher auf hintergrundmusik, aber ich leite es mal witer...
Das war mir auch klar und deswegen habe ich ja auch so geantwortet.

ZitatSagmal Jojo, kannste nicht ne Spoilerfunktion ins Forum einbauen?
Der Code wird doch in der Größe begrenzt, das reicht völlig. Ich installiere keine Forenmods, die machen nur das Aktualisieren den Forensoftware zum Albtraum.

ZitatEDIT: Mir fällt grad auf Dungeon2 läuft unter Win7 64-Bit nicht
Klar, ist ja auch wie ein Großteil meiner Spiele ein DOS-Spiel.
#50
Hotel-Manager / Re: Die neue VB.NET-Version......
Letzter Beitrag von Stiepen - 29. August 2011, 11:19:26
So: Ich hab hier mal den derzeitigen Stand des Quelltextes der Hotel/Filialenklasse:
Leier musste ich neu beginnen, da sich im alten Projekt die Toolbarbuttons in der Mainform gelöscht haben (der Fehler lag irgendwo in den Ressourcen). In dem Zusammenhang hab ich das Ganze vollständig überarbeitet.


Public Class clsHotelKette
#Region "Declares (Private)"
    Private _Geld As UInt64
    Private _Hotels As List(Of clsFiliale)
#End Region
#Region "Declares (Public)"
    Public Event MoneyChanged(ByVal sender As System.Object, ByVal e As EventArgs)
    Public Event GameOver(ByVal sender As System.Object, ByVal e As GameOverEventArgs)
    Public Structure GameOverEventArgs
        Dim Reason As GameOverReason
    End Structure

    Public Enum GameOverReason
        Unknown = 0
        NotEnougthMoney = 1
        HotelToBad = 2
    End Enum
#End Region
#Region "Propertys (Public)"
    ''' <summary>
    ''' Das Geld, dass dem Spieler zur Verfügung steht
    ''' </summary>
    ''' <value>Der Wert in $</value>
    ''' <returns>Der Wert in $</returns>
    ''' <remarks></remarks>
    Public Property Money As UInt64
        Set(ByVal value As UInt64)
            If value < GameOverMoney Then
                Dim tmpEventArgs As GameOverEventArgs
                tmpEventArgs.Reason = GameOverReason.NotEnougthMoney
                RaiseEvent GameOver(Me, tmpEventArgs)
            Else
                _Geld = value
                RaiseEvent MoneyChanged(Me, Nothing)
            End If
        End Set
        Get
            Return _Geld
        End Get
    End Property
#End Region
#Region "Methoden/Funktionen (Private)"

#End Region
#Region "Methoden (Public)"
    ''' <summary>
    ''' Fügt der Liste der Filialen eine neue Filiale hinzu
    ''' </summary>
    ''' <param name="Filiale">Die hinzuzufügende Filiale</param>
    ''' <exception cref="NotConstructedException">Der Konstruktor der übergebenden Filiale wurde noch nicht aufgerufen</exception>
    ''' <exception cref="ArgumentException">Es existiert bereits eine Filiale mit dem angegebenen Nameen</exception>
    ''' <remarks></remarks>
    Public Sub AddFiliale(ByVal Filiale As clsFiliale)
        For Each el In _Hotels
            If el.Name = Filiale.Name Then
                Throw New ArgumentException("Es existiert schon eine Filiale mit diesem namen")
            Else
                If Filiale.IsConstructed Then
                    _Hotels.Add(Filiale)
                Else
                    Throw New NotConstructedException("Der konstrukter der Filiale wurde nicht aufgerufen")
                End If
            End If
        Next

    End Sub

#End Region
End Class
Public Class clsFiliale
#Region "Declares (Private)"
    Private _Name As String
    Private _isConstructed = False 'Wurde der Konstruktor aufgerufen?
    Private _Hotel(102, 99) As Roominfo

#End Region
#Region "Declares (Public)"
    Public Enum RoomType As Integer
        Kein = 0 'Hier ist Luft
        Leer = 1 'Leerer Raum
        '---Wohnen---
        EinzelNormal = 2
        DoppelNormal = 3
        EinzelLuxus = 4
        EinzelLuxs = 5
        Suite = 6
        '---Attraktionen---
        Kiosk = 7
        Gesellschaft = 8
        Casino = 9
        Sporthalle = 10
        Schwimmbad = 11
        Kino = 12
        '---Sonstige---
        Empfang = 13 '13 - Muhahaha da krigt man ja schon beim check-in das kalte grausen ;)
        Küche = 14
        Tiefgarage = 15
        Kühlraum = 16
        Aufzug = 17
    End Enum
    Public Enum RoomPosition As Integer
        none = 0
        Links = 1
        Rechts = 2
        ObenLinks = 1
        ObenRechts = 2
        UntenLinks = 3
        UntenRechts = 4
    End Enum
    Public Structure RoomInfo
        Dim Type As RoomType
        Dim Position As RoomPosition 'Nur für mehrfeld-Räume interessant
        Dim Belegt As Boolean
        Dim BelegtTage As UInteger 'Wenn ja, wie lange noch?
    End Structure
#End Region
#Region "Propertys (Public)"
    ''' <summary>
    ''' Der Name der Filiale
    ''' </summary>
    ''' <value> Der Name der Filiale</value>
    ''' <returns> Der Name der Filiale</returns>
    ''' <exception cref="ArgumentException">Ungültiger Name</exception>
    ''' <remarks></remarks>
    Public Property Name As String
        Set(ByVal value As String)
            Select Case value
                Case ""
                    Throw New ArgumentException("Der Name kann nicht leer Sein")
                Case value.Length > 32
                    Throw New ArgumentException("Der Name darf Maximal 32 Zeichen lang sein")
                Case Else
                    _Name = value
            End Select
        End Set
        Get
            Return _Name
        End Get

    End Property
    ''' <summary>
    ''' Prüft, Ob bereits der Constructor aufgerufen wurde
    ''' </summary>
    ''' <returns>Ein Boolscher Wert, der Angibt, ob der Konstruktor bereits aufgerufen wurde</returns>
    ''' <remarks></remarks>
    Public ReadOnly Property IsConstructed
        Get
            Select Case _isConstructed
                Case True
                    Return True
                Case False
                    Return False
                Case Else 'schließt den Fall nothing ein
                    Return False
            End Select
        End Get
    End Property
#End Region
#Region "Methoden/Funktionen (Private)"

#End Region
#Region "Methoden/Funktionen (Public)"
    ''' <summary>
    ''' Erstellt eine neue Instanz
    ''' </summary>
    ''' <param name="FilialenName">Der Name der Neuen Filiale</param>
    ''' <exception cref="ArgumentException">Ungültiger Name</exception>
    ''' <remarks></remarks>
    Public Sub New(ByVal FilialenName As String)
        Try
            Name = FilialenName
            _isConstructed = True
        Catch ex As Exception
            Throw ex 'Die Arbeit an den Aufrufenden delegieren - Nein, wir sind nicht faul ;) *unschuldig*
        End Try

    End Sub
    ''' <summary>
    ''' Setzt die Informationen für ein Hotelzimmer
    ''' </summary>
    ''' <param name="Etage">Die Etage des Zimmers: U2 = -2; U1 = -1; EG = 0; OGxx = xx</param>
    ''' <param name="ZimmerNr">Vertikale Zimmerposition 1 = ganz Links</param>
    ''' <param name="value">Der Wert den Das Zimmer erhalten soll</param>
    ''' <remarks></remarks>
    Public Sub SetRoomInfo(ByVal Etage As Int16, ByVal ZimmerNr As UInt16, ByVal value As RoomInfo)
        _Hotel(Etage + 2, ZimmerNr - 1) = value
    End Sub
    ''' <summary>
    ''' Gibt die Informationen für ein Hotelzimmer zurück
    ''' </summary>
    ''' <param name="Etage">Die Etage des Zimmers: U2 = -2; U1 = -1; EG = 0; OGxx = xx</param>
    ''' <param name="ZimmerNr">Vertikale Zimmerposition 1 = ganz Links</param>
    ''' <returns>Der Wert den Das Zimmer derzeit hat</returns>
    ''' <remarks></remarks>
    Public Function getRoomInfo(ByVal Etage As Int16, ByVal ZimmerNr As UInt16)
        Return _Hotel(Etage + 2, ZimmerNr - 1)
    End Function
#End Region
End Class


Sagmal Jojo, kannste nicht ne Spoilerfunktion ins Forum einbauen?(also dass der code versteckt ist und man ihn über einen button ein- und wieder ausblenden kann) ;)
dann könnte man das besser lesen...

EDIT: Mir fällt grad auf Dungeon2 läuft unter Win7 64-Bit nicht :(