Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Puma

unregistriert

31

12.08.2007, 20:42

Die unterschiedliche Geschwindigkeit ist gewollt!!!!

Das ist der Sinn dieses Pong, man muss versuchen den Ball mit dem obernen und dem unteren Teil seines Cursors zu treffen in der Mitte ist er langsam!
Das bedeutet wenn ihr den Gegner platt machen wollt oder besonders schnell müss ihr den Ball nur mit den Enden des Cursors treffen, dass erhöht die Schwierigkeit, weil der Ball leicht gegen die Wand kommt und den Cursor nicht mehr trifft! ;)

Ich baue aber noch die Schwierigkeit noch so um, dass er auf schwer schneller fliegt........^^

mfg

storage

Treue Seele

Beiträge: 138

Wohnort: Bad Salzungen

  • Private Nachricht senden

32

12.08.2007, 21:18

Jop Puma hat recht,habe es vorhin das erste mal gespielt und fande es nciht schlecht.

Das gibt mir motivation auch mal endlich anzufangen nen kleines spiel zu machen,nur habe ich ein paar probs mit manchen zusammenhängen in einem spiel,naja wird schon.

n1 projekt Puma

Puma

unregistriert

33

12.08.2007, 21:43

An Storage:

Also ich kann dir nur empfehlen Bücher zu lesen....ist besser als Tutorials, ich bin mit folgenden Büchern angefangen:

1.Magnum C++: Daraus hab ich mir Grundkenntnisse geholt für C++ und gemerkt das ich ein wenig mit KI rumspielen will und später hab ich mich dann für Spiele entschieden!

2.C++ für Spieleprogrammierer von Heiko Kalista, da stehen auch Zusammenhänge von Spielen drin erklärt, außerdem habe ich darin den Umgang mit der SDL gelernt, daraus ist dann dieses Spiel entstanden...

3. 3D-Spieleprogrammierung mit Direct X9 3Ausgabe von David, da arbeite ich grade dran und immer wenn ich nícht mehr weiter komme setzte ich mich vor mein fertiges Spiel und träume von meinem ersten 3D spiel......

Also wie gesagt, ich kann dir Bücher nur empfehlen, Tutorials dienen mir nur zum vervollstä#ndigen meines Wissens....^^

Wünsch dir viel Erfolg und hoffe das wir dein Spiel hier auch bald kritisieren(positiv) dürfen....

mfg

storage

Treue Seele

Beiträge: 138

Wohnort: Bad Salzungen

  • Private Nachricht senden

34

12.08.2007, 22:02

Ich habe ein Buch(C++ für Spiele-Programmierer) und habe das mit den Klassen,Funktionen usw. alles verstanden,das problem ist z.b. jetzt ich baue ne klasse für nen Spieler und eine Klasse für items und dann erstelle ich eine Instanz von Spieler und ein Item z.b. nen schwert.Jetzt ist das Problem wie mache ich den Programm klar das das Schweert dann dem Spieler gehört,solche zusammenhänge werden in einem Buch nur teilweise erklärt.

Ich dachte vielleicht durch einen this zeiger,bin mir da aber auch nicht ganz sicher.

Das andere ist es gibt ja auch noch Strukturen,jetzt ist das problem soll ich für die Hitpoints Mana usw ne struktur basteln oder alles in einer Klasse machen und dann über den Kostruktor die werte initialisieren.ich hoffe du verstehst was ich meine.Ich beherrsche wie gesagt die einzelnen Bereiche(Grundlagen) aber wenn es dann um zusammenhänge geht kommen die Probleme.

Ja das Buch was du an Punkt 3 vorschlägst will ich mir später besorgen,will erstmal nur in der Konsole proggen ohne Grafik mit ich lerne mit klassen in einem kleinen Textspiel umzugehen und alle zusammenhänge verstehe.

Puma

unregistriert

35

12.08.2007, 22:30

Ein Lösungsvorschlag für den Spieler mit dem Schwert:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// Globale Variablen

//

int item_menge = 0;   // Speichert die Anzahl der vorhandenen Items

                                // im gesamten Spiel


// Klassen

//

class CPlayer
{
   public:
      // Memberfunktionen

      CPlayer () { zaehler = 0};
      void Set_Item (int item_id);

      // Membervariablen

      int m_item_id[10];      // Für maximal 10 Items

      int zaehler;
};

CPlayer::Set_Item (int item_id)
{
     m_item_id[zaehler] = item_id;
     zaehler++;
}

class CItem
{
   public:
      // Memberfunktionen

      CItem () {item_menge++; m_item_id = item_menge;}
      // Membervariablen

      int m_item_id;      // Für die Kennzeichnung

};

// Hauptfunktion

//

int main ()
{
   CPlayer Thomas;
   CItem Schwert;

   Thomas.Set_Item (Schwert.m_item_id);

   return 0;
}


So könnte man das machen, du musst bloß länger überlegen und nicht sofort aufgeben! ;)

Viel Erfolg!


mfg

36

12.08.2007, 22:48

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class Item
{
public:
    Item(const std::string& name) : name(name), health(100) {}
 
public:
    std::string const & get_name() const { return name; }

protected:
    unsigned short health;
    std::string name;
};

class Sword : Item
{
public:
    Sword() : Item("Sword: Excalibur") {}
};

class Player
{
public:
    void add_item(Item* itm) { m_items.push_back(itm); }

private:
    std::vector<Item*> m_items;
};

int main()
{
    Player me;
    Sword my_weapon;
    me.add_item(my_weapon);
}
;)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

storage

Treue Seele

Beiträge: 138

Wohnort: Bad Salzungen

  • Private Nachricht senden

37

13.08.2007, 10:44

Puma ich habe deins nochmal überarbeitet,den man sollte Globale Variablen immer vermeiden und du hast die Membervariablen nicht Private deklariert.

@Deviloper
n1 code,aber ich hatte das gestern abend schon probiert und versuche mal meinen Weg,den Copy & Paste bringt mir ja nix.

Edit: Habe es nochmal überarbeitet mit die Memberfunktionen nicht immer eine Kopie des Objekts erstellen habe ich es mit zeigern gemacht um speicher zu sparen.


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
//Test für charakter mit Items

//

#include <iostream>
#include <string>

using namespace std;

// -- Klasse CItem --

//

class CItem
{
    public:
        // Memberfunktionen

        CItem ();
        CItem (int ItemID, string ItemName);
        void CreateItem ( int ItemID, string ItemName );
        int GetItem ();

    private:   
        // Membervariablen

        int m_itemid;      // Für die Kennzeichnung

        string m_name;  
};

CItem::CItem ()
{
    m_itemid = NULL;
    m_name = "";
}

CItem::CItem (int ItemID, string ItemName):
    m_itemid ( ItemID ),
    m_name ( ItemName )
{
    cout << "Item " << ItemName << " wurde erstellt" << endl;
}

void CItem::CreateItem ( int ItemID, string ItemName )
{
    m_itemid = ItemID;
    m_name = ItemName;
}

int CItem::GetItem ()
{
    return m_itemid;
}

// -- Klasse CPlayer --

//

class CPlayer
{
    public:
        // Memberfunktionen

        CPlayer ();
        void SetItem (CItem *pItem);
        void GetItem ();

    private:
        // Membervariablen

        int m_hitpoints;
        int m_mana;
        int m_inventory[20];
                int m_counter;
        CItem *pItem;
};

CPlayer::CPlayer()
{
    m_hitpoints = NULL;
    m_mana = NULL;
    m_inventory[20] = NULL;
        m_counter = NULL;
    pItem = NULL;
}

void CPlayer::SetItem (CItem *pItem)
{
    m_inventory[m_counter] = pItem->GetItem();
    m_counter++;
}

void CPlayer::GetItem ()
{
    for( int i = 0;i < m_inventory[20];i++ )
    {
        cout << "Inventarplatz " << i+1 << ": " << m_inventory[i] 
<< endl;          
    }
}

// Hauptfunktion

//

int main ()
{
    //CPlayer Thomas;

    CPlayer Thomas;
    CItem Schwert ( 42, "Langschwert");
    CItem Heiltrank ( 26, "Heiltrank");

    Thomas.GetItem( &Schwert );
    Thomas.GetItem( &Heiltrank );
        Thomas.GetItem();
    
        system("pause");

   return 0;
}

Puma

unregistriert

38

14.08.2007, 00:03

So jetzt nochmal zum Pong.......

Ich habe vor das ganze in 3D zu machen.....dazu müsst ihr mir ein wenig helfen:

- Was hat euch an diesem Pong nicht gefallen?
- Was fandet ihr gut?
- Was könnte man für ein 3D Pong einbauen?

Also ich hoffe auf eure Antworten!!!!!! Danke im voraus....^^


mfg

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

39

14.08.2007, 16:47

Das Aufleuchten der Wände ist eine gute Idee! Was mir aber fehlt, ist eine schöne grafische Darstellung des Plasmas. Vor allem dann in 3D, wirst du dir ein gutes Konzept überlegen müssen, damit das ganze auch übersichtlich bleibt. Wie hast du dir außerdem die Kamerasicht vorgestellt? Hinterm Schläger?
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Puma

unregistriert

40

14.08.2007, 19:45

Richtig! Ich habe gedacht, das man hinterm Schläger auf das Spielfeld schaut, natürlich weiter von oben, so ähnlich als würde man sich hinter einen Pinball-tisch stehen....etwas tiefer ;) in der Mitte der Bande rechts könnte man eine Nebelmaschine reinbasteln die dann ab und zu (vllt durch Aktivierung) einen Nebel ausstößt der die Mitte verschleiert.....was es natürlich noch Effekt voller macht......



mfg

Werbeanzeige