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

Anonymous

unregistriert

1

02.07.2008, 20:07

Problem mit den Funktionen

Ich bin schon in der Hälfte des Kapitels, und ich verstehe einfach nicht was eine Funktion ist und sein soll! *Seufz*
Vllt. wäre es besser mit dem Buch aufzuhören?! Auf jeden Fall brauche ich wirklich Hilfe. Ich muss wissen, was das jetzt genau ist, wieso es die gibt und so weiter...

Terep

Frischling

Beiträge: 46

Wohnort: Region Hannover

  • Private Nachricht senden

2

02.07.2008, 20:18

Das wird daran liegen, dass Du dieses Buch n u r liest.
Meine Empfehlung fange noch einmal von vorne an. Schaue Dir die Listings genau an, schließe das Buch und schreibe diese Listings ohne Buch neu. Aber nicht auswendig gelernt, sondern vom Verständnis her.
Als nächstes progge eigene kleine Ideen. Wenn Du dann zu den Funktionen kommst, wirst Du danach letzen. Dann weist Du, das fehlt mir, das brauche ich.
Also nicht nur lesen sondern in erster Linie programmieren und dabei mit sich selbst Geduld haben.

Terep
:)
Avatar = „Odyssee im Weltraum“
Film von Stanley Kubrick (Warner Brothers)
nach dem Buch von Arthur C. Clarke.
It will becoming true ?!!

Anonymous

unregistriert

3

02.07.2008, 20:27

Okay, ich bin im Gange was kleines zu Programmieren.

4

02.07.2008, 21:16

Funktionen sind was ganz cooles. Stell dir vor du hättest ein Spiel geschrieben. 10.000 Zeilen. Meinst du es inst sinnvoll wenn man das alles in die main(); steckt?

Wohl weniger.
Funktionen bieten dir die Möglichkeit kleine Programmteile darin utnerzubringen und im Programm sooft aufzurufen wie du es möchtest.

Hier ein Bsp:

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
#include <iostream>
using namespace std;

// DeineFunktion! Entweder hier gleich implementieren oder erst einen Prototyp deklarieren und nach der main definieren, 

// dass das Main Prog weiß das es eine Funktion mit dem Namen xyz und diesen Parametern gibt. 

// Am Anfang würd ichs gleich oben implementieren:

// Syntax: Rückgabewert NameDerFunktion(Paramter), also z.B.:

void Funktion()
{
cout << "Funktionsaufruf!" << endl;
}
//  Dies ist jetzt eine funktion die nichts zurückgibt, und jetzt noch die main:

int main()
{
cout << "Main Aufruf!" << endl;
Funktion();
cout << "Main Aufruf!" << endl;
Funktion();
Funktion();
// Mit Funktion(); rufst du die Funktion einfach auf

return 0;
}


Wenn ich dich wäre würde ich einen billigen rechner mit Funktionen schreiben. So lern man viel.
Also für +, -, / und * eine Funktion. bsp:

C-/C++-Quelltext

1
2
3
4
int Plus(int Zahl1, int Zahl2)
{
return Zahl1 + Zahl2;
}


in der main würde ein aufruf dann so aussehen:

C-/C++-Quelltext

1
cout << "Ergebnis: " << Plus(12, 222) <<  endl;


Ich hoff ich konnte dir helfen.
Wenn du noch fragen hast, FRAG!

Anonymous

unregistriert

5

03.07.2008, 12:49

Danke. Hier ist mein kleines Spiel:

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
// C++ für Spieleprogrammierer

// Programm 1_1

//

#include <iostream>

using namespace std;

char chAuswahl;

int main ()
{
    // Variablen

    //

    int Lebensenergie = 100;
    int VSchaden = 25;
    int HalbSchaden = 50;
    int Tod = 100;

    // while-Schleife

    while (chAuswahl != 'b')
    {
    cout << "Finde den richtigen Weg! - Menue" << endl;
    cout << "---------------------------------" << endl;
    cout << "(S)pielen, (I)info oder (B)eenden? ";
    cin >> chAuswahl;
    cout << "\n==================================" << endl;

    if (chAuswahl == 's')
    {

        cout << "\n\n\n\n\nDeine Lebensenergie betraegt " << Lebensenergie << endl;

    cout << "So, waehle die richtige Tuer!\n\n";
    cout << "(A)usgangstor" << endl;
    cout << "(L)aborstuer" << endl;
    cout << "(F)lurstuer" << endl;
    cout << "(K)uechentuer\n" << endl;

    cout << "Deine Wahl: ";
        cin >> chAuswahl;

    if (chAuswahl == 'a')
    {
        cout << "Findest einen Schluessel und gehst wieder zum Anfangspunkt." << endl;
    }
    else if (chAuswahl == 'l')
    {
        cout << "Du trttst ein und rutschst. Der Boden war nass und du hast jetzt eine Verstauchung." << endl;
    Lebensenergie = Lebensenergie - VSchaden;
    cout << "Deine Lebensenergie betraegt jetzt nur noch " << Lebensenergie << endl;
    }

    else if (chAuswahl == 'f')
    {
        cout << "Du trittst in die Tuer ein und bist tot. Als du eingetreten bist war kein Boden unter deinen Fuessen." << endl;
    Lebensenergie = Lebensenergie - Tod;
    }

    else if (chAuswahl == 'k')
    {
        cout << "Du willst eintreten, doch die Tuer ist zugesperrt. Du rammst auf sie und bist mit dem Kopf gegen die Tuer gestossen. Du hast dir sehr wehgetan." << endl;
    Lebensenergie = Lebensenergie - HalbSchaden;
    }

    else
        cout << "Du hast vermutlich versehentlich die falsche Taste gedrueckt. Versuch es nochmal." << endl;
    }
    else if (chAuswahl == 'i')
    {
        cout << "Das Spiel geht so: Du hast dich in einer Villa verloren und musst immer die richtigen Gegenstaende finden, um dich zu retten. Viel unheimlichen Spass!" << endl;
    }

        else if (chAuswahl == 'b')
        {
        cout << "Bis zum naechsten mal!" << endl;
        }

    else
        cout << "Du hast die falsche Taste gedrueckt." << endl;
    }

        return 0;
}

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

03.07.2008, 12:52

Ein tolles Spiel, ohne Zweifel. Aber warum zeigst du hier den Quellcode? :?
@D13_Dreinig

Anonymous

unregistriert

7

03.07.2008, 12:58

Naja, das weiß ich nicht grad...

Aber jetzt ne kleine Frage: Wenn man in irgendeine Tür geht, fängt es wieder neu an und zwar im Menü... Wo muss ich und wie muss ich die while-Schleife hinsetzen, damit man immer weiterspielen kann bis die Lebensenergie auf 0 ist?

SirForce

Alter Hase

Beiträge: 802

Wohnort: Süddeutschland

  • Private Nachricht senden

8

03.07.2008, 13:03

Setzt die while-Schleife vor die Tastaturabfrage (die du global initialisiert hast ? ) und nicht vors Menü.

mfg,
SirForce
Nichts behindert so sehr die Entwicklung der Intelligenz wie ihre vollständige Abwesenheit.

Michail Genin

Anonymous

unregistriert

9

03.07.2008, 13:06

Jo ich finds global besser, macht mich nicht so durcheinander, wegen den vielen geschweiften Klammern...

10

03.07.2008, 13:17

Zitat von »"Spiri"«

Jo ich finds global besser, macht mich nicht so durcheinander, wegen den vielen geschweiften Klammern...

Rücke den Text richtig ein, dann wird es sehr viel übersichtlicher (Hier an dem 1. Teil deines Quellcodes)

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
// C++ für Spieleprogrammierer

// Programm 1_1

//

#include <iostream>

using namespace std;

char chAuswahl;

int main ()
{
    // Variablen

    //

    int Lebensenergie = 100;
    int VSchaden = 25;
    int HalbSchaden = 50;
    int Tod = 100;

    // while-Schleife

    while (chAuswahl != 'b')
    {
        cout << "Finde den richtigen Weg! - Menue" << endl;
        cout << "---------------------------------" << endl;
        cout << "(S)pielen, (I)info oder (B)eenden? ";
        cin >> chAuswahl;
        cout << "\n==================================" << endl;

        if (chAuswahl == 's')
        {

            cout << "\n\n\n\n\nDeine Lebensenergie betraegt " << Lebensenergie << endl;

            cout << "So, waehle die richtige Tuer!\n\n";
            cout << "(A)usgangstor" << endl;  /...

Werbeanzeige