Browse Source

Noch nicht ganz fertig

Kolja Strohm 5 years ago
parent
commit
44440afed2

+ 37 - 0
StickmanWorldOnline/Ausloeser.h

@@ -0,0 +1,37 @@
+#pragma once
+
+enum AusloeserEreignisTyp
+{
+    AUSLOESER_WURDE_AUSGEFUEHRT,
+    BARIERE_WIRD_GESCHALTET,
+    BARIERE_WIRD_VERSCHOBEN,
+    BASE_BESITZERWECHSEL,
+    GEGENSTAND_DROP,
+    INITIALISIERUNG,
+    SCHALTER_AKTIVIERT,
+    SPIEL_SCHLEIFE,
+    SPIEL_ZEITPUNKT,
+    SPIELER_DRUEKCKT_TASTE,
+
+};
+
+struct AusloeserEreignis
+{
+    AusloeserEreignisTyp typ;
+    void *p1;
+    void *p2;
+};
+
+class Ausloeser
+{
+private:
+    int Ereignisanzahl = 0;
+    int Bedingunganzahl = 0;
+    int Aktionanzahl = 0;
+    Ereignis[] e = new Ereignis[ 1 ];
+    Bedingung[] b = new Bedingung[ 1 ];
+    Aktion[] a = new Aktion[ 1 ];
+    boolean aktiv = true;
+    int runs = 0;
+    String name = "";
+};

+ 23 - 0
StickmanWorldOnline/Bariere.h

@@ -0,0 +1,23 @@
+#pragma once
+
+#include "GameObject.h"
+
+class Bariere : public GameObject
+{
+private:
+    bool ü = true;
+    bool schaltung = false;
+    bool verschieben = false;
+    bool oben = false;
+    bool links = false;
+    int zufallv = 0;
+    int zufalls = 0;
+    bool ver = false;
+    bool sch = false;
+    int verw = 0;
+    bool verwaag = false;
+    int versch = 0;
+    int schalt = 0;
+    int team;
+    bool w = false;
+};

+ 9 - 0
StickmanWorldOnline/Base.h

@@ -0,0 +1,9 @@
+#pragma once
+
+#include "GameObject.h"
+
+class Base : public GameObject
+{
+private:
+    int team;
+};

+ 15 - 0
StickmanWorldOnline/DllStart.cpp

@@ -0,0 +1,15 @@
+#include "Spiel.h"
+#include "Editor.h"
+
+extern "C"
+{
+    __declspec( dllexport ) Spiel *getSpielKlasse()
+    {
+        return new Spiel();
+    }
+
+    __declspec( dllexport ) Editor *getEditorKlasse()
+    {
+        return new Editor();
+    }
+}

+ 25 - 0
StickmanWorldOnline/ESEditorV.h

@@ -0,0 +1,25 @@
+#pragma once
+
+#include <Server.h>
+#include <Thread.h>
+
+using namespace Framework;
+using namespace Network;
+
+class ESEditorV
+{
+private:
+
+public:
+    virtual ~ESEditorV()
+    {}
+    // nicht constant
+    virtual void setPfad( char *pfad ) = 0;
+    virtual void open() = 0;
+    virtual bool nachricht( SKlient *k ) = 0;
+    // constant
+    virtual char *getLetzterFehler() const = 0;
+    // Reference Counting 
+    virtual ESEditorV *getThis() = 0;
+    virtual ESEditorV *release() = 0;
+};

+ 34 - 0
StickmanWorldOnline/Editor.h

@@ -0,0 +1,34 @@
+#pragma once
+
+#include "ESEditorV.h"
+#include <Text.h>
+
+using namespace Framework;
+
+
+class Editor : public ESEditorV
+{
+private:
+    Text pfad;
+    Text err;
+    int ref;
+
+public:
+    // Konstruktor
+    Editor();
+    // Destruktor
+    ~Editor();
+    // nicht constant
+    void setPfad( char *pfad ) override;
+    void open() override;
+    bool nachricht( SKlient *k ) override;
+    // constant
+    char *getLetzterFehler() const override;
+    // Reference Counting 
+    ESEditorV *getThis() override;
+    ESEditorV *release() override;
+
+private:
+    bool createSitzung();
+    bool saveSitzung();
+};

+ 20 - 0
StickmanWorldOnline/GameObject.h

@@ -0,0 +1,20 @@
+#pragma once
+
+class GameObject
+{
+protected:
+    int x, y, w, h;
+
+public:
+    GameObject();
+    GameObject( int x, int y, int width, int height );
+
+    void setX( int x );
+    void setY( int y );
+    void setWidth( int width );
+    void setHeight( int height );
+    int getX() const;
+    int getY() const;
+    int getWidth() const;
+    int getHeight() const;
+};

+ 30 - 0
StickmanWorldOnline/Gegenstand.h

@@ -0,0 +1,30 @@
+#pragma once
+
+#include "GameObject.h"
+
+enum GegenstandTyp
+{
+    PFEIL,
+    LEBEN,
+    SCHILD,
+    SCHUH,
+    GEIST,
+    KUGEL,
+    ROLLE,
+    STURM,
+    DRACHENAUGE,
+    RUNE_WEISSHEIT,
+    RUNE_STAERKE,
+    RUNE_BOSSHEIT,
+    RUNE_LEBEN,
+    RUNE_TEMPO,
+    FEUERBALL,
+    ENTERHAKEN,
+    MINE
+};
+
+class Gegenstand : public GameObject
+{
+private:
+    GegenstandTyp typ;
+};

+ 31 - 0
StickmanWorldOnline/SSDatenbankV.h

@@ -0,0 +1,31 @@
+#pragma once
+
+#include <Text.h>
+#include <Array.h>
+#include <Zeit.h>
+
+using namespace Framework;
+
+class SSDatenbankV
+{
+private:
+
+public:
+    virtual ~SSDatenbankV()
+    {}
+    // nicht constant
+    virtual int getAccountId( int clientId ) = 0;
+    virtual Text *getSpielArtName( int spielId ) = 0;
+    virtual Text *getKarteName( int karteId ) = 0;
+    virtual int getSpielArtId( int karteId ) = 0;
+    virtual Text *getAccountRufName( int accountId ) = 0;
+    virtual bool setSpielStatusBeendet( int spielId, int status ) = 0;
+    virtual bool setSpielSpielerStatus( int spielId, int accountId, int punkte, int status ) = 0;
+    virtual bool addSpielerStatistik( int accountId, int spielId ) = 0;
+    virtual Text *getSpielPfad( int karteId ) = 0;
+    // constant
+
+    // Reference Counting
+    virtual SSDatenbankV *getThis() = 0;
+    virtual SSDatenbankV *release() = 0;
+};

+ 26 - 0
StickmanWorldOnline/SSKlientV.h

@@ -0,0 +1,26 @@
+#pragma once
+
+#include <Thread.h>
+
+using namespace Framework;
+
+class SSKlientV : public Thread
+{
+private:
+
+public:
+    // nicht constant 
+    virtual void nichtTrennen() = 0;
+    virtual double ping() = 0;
+    virtual void spielNachricht( short len, char *bytes ) = 0;
+    virtual void statistikNachricht( short len, char *bytes ) = 0;
+    virtual void trenne() = 0;
+    virtual void thread() = 0;
+    virtual void errorZuKlientEmpfang( const char *nachricht ) = 0; // sendet eine Fehlernachricht zum Klient
+    virtual void errorZuKlientSende( const char *nachricht ) = 0;
+    // const
+    virtual int getAccountId() const = 0;
+    // Reference Counting
+    virtual SSKlientV *getThis() = 0;
+    virtual SSKlientV *release() = 0;
+};

+ 10 - 0
StickmanWorldOnline/Schalter.h

@@ -0,0 +1,10 @@
+#pragma once
+
+#include "GameObject.h"
+
+class Schalter : public GameObject
+{
+private:
+    bool ak = true;
+    int aktivierungen = 0;
+};

+ 8 - 0
StickmanWorldOnline/Schiene.h

@@ -0,0 +1,8 @@
+#pragma once
+
+#include "GameObject.h"
+
+class Schiene : public GameObject
+{
+
+};

+ 37 - 0
StickmanWorldOnline/Spiel.h

@@ -0,0 +1,37 @@
+#pragma once
+
+#include "SpielKlasse.h"
+#include <Datei.h>
+
+class Statistik;
+class StatistikV;
+
+class Spiel : public SpielKlasse
+{
+private:
+    int ref;
+
+public:
+    // Konstruktor
+    Spiel();
+    // Destruktor
+    ~Spiel();
+    // nicht constant
+    void setPSQLK( SSDatenbankV *psqldb ) override; // call 1
+    void setSpielId( int id ) override; // call 2
+    void setKarteId( int karteId ) override; // call 3
+    void setTempPfad( char *pfad ) override; // call 3.5
+    void setAccounts( int anzahl, Array< int > *zAccounts ) override; // call 4
+    void setKlients( int anzahl, RCArray< SSKlientV > *zKlients ) override; // call 5
+    void setSpielerNummern( int anzahl, Array< int > *spielerNummern ) override; // call 6
+    void klientOffline( int accountId ) override;
+    void klientOnline( int accountId, SSKlientV *zKlient ) override;
+    void nachricht( int accountId, int len, char *bytes ) override;
+    void tick( double zeit );
+    void run() override; // call 7
+                // constant
+    StatistikV *getStatistik() const override;
+    // Reference Counting 
+    SpielKlasse *getThis() override;
+    SpielKlasse *release() override;
+};

+ 34 - 0
StickmanWorldOnline/SpielKlasse.h

@@ -0,0 +1,34 @@
+#pragma once
+
+#include "SSKlientV.h"
+#include "SSDatenbankV.h"
+#include "StatistikKlasse.h"
+#include <Thread.h>
+
+using namespace Framework;
+
+class SpielKlasse
+{
+private:
+
+public:
+    virtual ~SpielKlasse()
+    {}
+    // nicht constant
+    virtual void setPSQLK( SSDatenbankV *psqldb ) = 0;
+    virtual void setSpielId( int id ) = 0;
+    virtual void setKarteId( int karteId ) = 0;
+    virtual void setTempPfad( char *pfad ) = 0;
+    virtual void setAccounts( int anzahl, Array< int > *zAccounts ) = 0;
+    virtual void setKlients( int anzahl, RCArray< SSKlientV > *zKlients ) = 0;
+    virtual void setSpielerNummern( int anzahl, Array< int > *spielerNummern ) = 0;
+    virtual void klientOffline( int accountId ) = 0;
+    virtual void klientOnline( int accountId, SSKlientV *zKlient ) = 0;
+    virtual void nachricht( int accountId, int len, char *bytes ) = 0;
+    virtual void run() = 0;
+    // constant
+    virtual StatistikV *getStatistik() const = 0;
+    // Reference Counting 
+    virtual SpielKlasse *getThis() = 0;
+    virtual SpielKlasse *release() = 0;
+};

+ 19 - 0
StickmanWorldOnline/StatistikKlasse.h

@@ -0,0 +1,19 @@
+#pragma once
+
+class StatistikV
+{
+private:
+
+public:
+    virtual ~StatistikV()
+    {}
+    // nicht constant
+    virtual void klientOffline( int accountId ) = 0;
+    virtual void statistikAnfrage( int accountId, short len, char *bytes ) = 0;
+    virtual void run() = 0;
+    // constant
+
+    // Reference Counting
+    virtual StatistikV *getThis() = 0;
+    virtual StatistikV *release() = 0;
+};

+ 11 - 0
StickmanWorldOnline/StickmanWorldOnline.vcxproj

@@ -80,13 +80,24 @@
     <ClCompile Include="DllStart.cpp" />
   </ItemGroup>
   <ItemGroup>
+    <ClInclude Include="Ausloeser.h" />
+    <ClInclude Include="Bariere.h" />
+    <ClInclude Include="Base.h" />
     <ClInclude Include="Editor.h" />
     <ClInclude Include="ESEditorV.h" />
+    <ClInclude Include="GameObject.h" />
+    <ClInclude Include="Gegenstand.h" />
+    <ClInclude Include="Schalter.h" />
+    <ClInclude Include="Schiene.h" />
     <ClInclude Include="Spiel.h" />
     <ClInclude Include="SpielKlasse.h" />
     <ClInclude Include="SSDatenbankV.h" />
     <ClInclude Include="SSKlientV.h" />
     <ClInclude Include="StatistikKlasse.h" />
+    <ClInclude Include="Team.h" />
+    <ClInclude Include="Timer.h" />
+    <ClInclude Include="Tunnel.h" />
+    <ClInclude Include="Umlenkung.h" />
   </ItemGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Link>

+ 39 - 0
StickmanWorldOnline/StickmanWorldOnline.vcxproj.filters

@@ -19,6 +19,12 @@
     <Filter Include="Editor">
       <UniqueIdentifier>{b0546806-6da8-4c4f-a040-4d47b7044a73}</UniqueIdentifier>
     </Filter>
+    <Filter Include="Spiel\Auslöser">
+      <UniqueIdentifier>{16af4fff-5cf1-420e-a50f-65caeff7c2a3}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Spiel\System">
+      <UniqueIdentifier>{214ae990-4b8e-4fad-a428-7f6f31c33648}</UniqueIdentifier>
+    </Filter>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="DllStart.cpp">
@@ -47,5 +53,38 @@
     <ClInclude Include="Spiel.h">
       <Filter>Spiel</Filter>
     </ClInclude>
+    <ClInclude Include="Ausloeser.h">
+      <Filter>Spiel\Auslöser</Filter>
+    </ClInclude>
+    <ClInclude Include="Umlenkung.h">
+      <Filter>Spiel\System</Filter>
+    </ClInclude>
+    <ClInclude Include="Tunnel.h">
+      <Filter>Spiel\System</Filter>
+    </ClInclude>
+    <ClInclude Include="Timer.h">
+      <Filter>Spiel\System</Filter>
+    </ClInclude>
+    <ClInclude Include="Team.h">
+      <Filter>Spiel\System</Filter>
+    </ClInclude>
+    <ClInclude Include="Schiene.h">
+      <Filter>Spiel\System</Filter>
+    </ClInclude>
+    <ClInclude Include="Schalter.h">
+      <Filter>Spiel\System</Filter>
+    </ClInclude>
+    <ClInclude Include="GameObject.h">
+      <Filter>Spiel\System</Filter>
+    </ClInclude>
+    <ClInclude Include="Gegenstand.h">
+      <Filter>Spiel\System</Filter>
+    </ClInclude>
+    <ClInclude Include="Base.h">
+      <Filter>Spiel\System</Filter>
+    </ClInclude>
+    <ClInclude Include="Bariere.h">
+      <Filter>Spiel\System</Filter>
+    </ClInclude>
   </ItemGroup>
 </Project>

+ 13 - 0
StickmanWorldOnline/Team.h

@@ -0,0 +1,13 @@
+#pragma once
+
+class Team
+{
+private:
+    int wbz = 5;
+    int Tode = 0;
+    int Kills = 0;
+    int Punkte = 5;
+    int Teamnummer = 0;
+    int panzahl;
+    bool verloren = false;
+};

+ 12 - 0
StickmanWorldOnline/Timer.h

@@ -0,0 +1,12 @@
+#pragma once
+
+#include "GameObject.h"
+
+class Timer : public GameObject
+{
+private:
+    bool läuft = false;
+    bool pause = false;
+    int maxz;
+    bool wh = false;
+};

+ 9 - 0
StickmanWorldOnline/Tunnel.h

@@ -0,0 +1,9 @@
+#pragma once
+
+#include "GameObject.h"
+
+class Tunnel : public GameObject
+{
+    bool ak = true;
+    int benutzt = 0;
+};

+ 14 - 0
StickmanWorldOnline/Umlenkung.h

@@ -0,0 +1,14 @@
+#pragma once
+
+#include "GameObject.h"
+
+class Umlenkung : public GameObject
+{
+private:
+    char *r;
+    bool d;
+    bool abk = false;
+    int abki = 0;
+    int benutzt = 0;
+    int max_Abk = 10;
+};