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

1

24.07.2010, 00:19

kein "press any key.." wie anders bewirken?

Hallo

"c++ für spieleprogrammier" wird ja mit "Visual C++" gearbeitet.
Ich komm leider damit nicht zurecht und benutze "dev-c++".
Mein Problem ist, dass am ende des Programms kein "press any key.." wie beim "Visual C++" kommt.
Wie kann ich dieses "press any key.." erzwingen?
Am besten wäre, wenn das Programm wenn es durchgearbeitet hat einfach von vorne beginnt (kein Neustart).

Hoffe hab mich verständlich ausgedrückt :)

EDIT: Hier der code:
[SPOILER]

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
// C++ für Spieleprogrammierer
// Listing 3.3
// else if und verschachtelte if-Bedingungen
//
#include <iostream>

using namespace std;

// Hauptprogramm
//
int main ()
{
    // Variablen
    //
    int Spieleranzahl;  // Anzahl der Spieler
    char chAuswahl;     // Menüauswahl

    // Anzahl der Mitspieler abfragen
    cout << "Wie viele Mitspieler: ";
    cin >> Spieleranzahl;

    // Falsche Eingabe?
    if (Spieleranzahl == 0)
    {
        cout << "Falsche Eingabe" << endl;
    }
    // Singleplayer?
    else if (Spieleranzahl == 1)
    {
        cout << "Du spielst gegen den Computer" << endl;
    }
    // Multiplayer?
    else
    {
        cout << "Multiplayer-Spiel\n\n";
        cout << "(j)eder gegen jeden oder (t)eamspiel: ";
        cin >> chAuswahl;

        // Jeder gegen jeden?
        if (chAuswahl == 'j')
        {
            cout << "Jeder gegen jeden" << endl;
        }
        // Teamspiel?
        else if (chAuswahl == 't')
        {
            cout << "Teamspiel " << endl;
        }
        // Falsche Eingabe?
        else
        {
            cout << "Falsche Eingabe" << endl;
        }
    }
    
    return 0;
}

[/SPOILER]
Wenn ich dann t tippe schließt sich das Programm.

2

24.07.2010, 00:44

Ich kann Dir nur raten, Visual C++ EE zu benutzen, egal ob 2008 oder 2010. Ich hab' Dev C++ zwar nie benutzt, höre aber immer wieder, dass es veraltet sei, weil eben nicht weiter entwickelt wird. Mit VC++ EE bekommst Du eine sehr gute IDE, die Dir alles bietet, was Du benötigst, um auch bei fortgeschrittenen Objekten keine Probleme zu bekommen. Ich denke jeder hier im Forum wird Dir das bestätigen und VC++ EE empfehlen.

Zu deinem Problem:
Wie weit bist Du denn bisher? Ich denke, Du steckst noch bei der if/else Abfrage, die könnte man nämlich auch mit einem switch/case eleganter lösen.
Um das Programm immer und immer wieder durchlaufen lassen zu können, benötigst Du eine Schleife. Für solche Zwecke eignet sich die do-while Schleife. Damit dein Spiel dann aber nicht ewig so läuft, könntest Du eine bool-Variable erstellen, wenn der User dann e oder ähnliches drückt beendest Du das Programm einfach.

C-/C++-Quelltext

1
2
3
4
5
6
bool bRunning = true;

do {
   hier dein Programmcode.
   Irgendwo: if (chEingabe == 'e' || chEingabe == 'E') bRunning = false;
} while (bRunning) 


Dann läuft das Spiel so lange, bis bRunning eben nicht mehr true ist, sondern false. Quasi: Tue [Code], solange bRunning gleich true.
while (bRunning == true) würde das gleiche tun. Allerdings lernst Du das auch alles noch später im Buch. ;)

idontknow

unregistriert

3

24.07.2010, 00:49

system("pause");
(stdlib.h)

4

24.07.2010, 09:24

Warum nicht einfach std::cin.get () Das scheint mir für dieseen Zweck immernoch am angebrachtesten. Und Nachoman würde ich zustimmen, was seinen IDE-Wechsel-Vorschlag betrifft.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

5

24.07.2010, 11:26

Und Nachoman würde ich zustimmen, was seinen IDE-Wechsel-Vorschlag betrifft.

danke, endlich mal jemand meiner meinung! xDD
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

6

24.07.2010, 12:34

Es war zwar Luinechor , der das gesagt hat , aber nunja :D.
Man könnte das mit dem Beenden auch so lösen.

C-/C++-Quelltext

1
2
3
4
5
6
while ( true )
{
    // Dein Programmcode und die If Abfrage
    else
        break ;
}


MfG Stazer

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

7

24.07.2010, 12:40

das ist aber sehr unschön und sollte nicht verbreitet werden...
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

8

24.07.2010, 22:25

So ich versuch gerade mit Visual C++ zu arbeiten jedoch bekomme ich immer ein Fehler ?(

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
#include <iostream>

using namespace std;


int main ()
{
    cout << "Hier kommt die Konkurrenz!\n";
    return 0;
}

Fehler:
1>------ Erstellen gestartet: Projekt: bbt, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>bbt.cpp
1>c:\dokumente und einstellungen\besitzer\desktop\versuch2\bbt\bbt.cpp(2) : error C2001: Zeilenvorschub in Konstante.
1>c:\dokumente und einstellungen\besitzer\desktop\versuch2\bbt\bbt.cpp(7) : error C2065: 'cout': nichtdeklarierter Bezeichner
1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Besitzer\Desktop\versuch2\bbt\Debug\BuildLog.htm" gespeichert.
1>bbt - 2 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


PS: wie kann man hier Spoilern?
PSS: habe mehre kurze Fragen zum Thema "else if u. verschachtelte if Bedingungen" damit ich es einfach verinnerliche und verstehe.
Wo kann man sie stellen? Oder wo gibt es c++ Paten :D oder c++ Privat Lehrer ich würd sogar dafür blechen liebend gern sogar ^^

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »BuZz« (24.07.2010, 23:12)


idontknow

unregistriert

9

25.07.2010, 00:16

Ist in der Tat komisch probiers mal mit:

C-/C++-Quelltext

1
cout << "Hier kommt die Konkurrenz!" << endl;


Hilfe gibts im IRC Channel, #sppro @euIRC oder einfach hier oben im Forum auf Chat klicken :).

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

10

25.07.2010, 01:20

Solltest du Fragen haben , kannst du mich gerne in Icq oder Skype hinzufügen.

MfG Stazer

Werbeanzeige