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

11

05.06.2009, 19:27

1. Du lässt "Spieler1" sWort eingeben, gibst danach die Länge von str aus!? Sag mir bitte nicht, dass das funktioniert.
2. Danach möchtest du im String nach einem Buchstaben suchen. Allerdings gibt "Spieler2" (?) einen String und keinen Buchstaben ein?
3. Zu deinem Platzhalter-Problem musst du dir etwas einfallen lassen. Du lernst wohl am meisten, wenn du selbst "kreativ" bist.

12

05.06.2009, 19:35

Zitat von »"defaultplayer^^

1. Du lässt "Spieler1" sWort eingeben, gibst danach die Länge von str aus!? Sag mir bitte nicht, dass das funktioniert.
2. Danach möchtest du im String nach einem Buchstaben suchen. Allerdings gibt "Spieler2" (?) einen String und keinen Buchstaben ein?
3. Zu deinem Platzhalter-Problem musst du dir etwas einfallen lassen. Du lernst wohl am meisten, wenn du selbst "kreativ" bist.


1.Also ich lösche es danach dann steht dort
"Das Wort hat * Buchstaben" will ich änder sobald das mit Platzhaltern
funkt ;)

2.Ja habs grad als char gemacht (war noch vom alten Version)

3. Okay dann versuch ich es mal :lol:
wenn es einfach nicht klappt meld ich mich ^^

//Edit
Also könnt ihr mir evntl TiPPs geben haha?
Ich kann i-wie nicht entscheiden was für ne Schleife ich nehm ^^
*hab entfernt*

Wenn Bild zu groß bitte naricht ;D

goldfisch007

Alter Hase

Beiträge: 446

Wohnort: Süden von Berlin

  • Private Nachricht senden

13

06.06.2009, 00:10

hast du das buch von heiko?
wenn ja kapitel 9.1.3 strings...
setz mich da aba glatt noch ma ran
und prog nen bissel was...
stells dann hier rein...
wenn dir das zu lange dauert (müsste heut noch kommen)

+string +replace() bei google könnte helfen...
Wir bauen auf und reißen nieder, so ham wir Arbeit ima wieder...
--------------------
http://www.piratenpartei.de/tmp/images/Slogans_5_0.png
--------------------
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender, geklaut von Helmut xD)

14

06.06.2009, 00:44

Zitat von »"goldfisch007"«

hast du das buch von heiko?
wenn ja kapitel 9.1.3 strings...
setz mich da aba glatt noch ma ran
und prog nen bissel was...
stells dann hier rein...
wenn dir das zu lange dauert (müsste heut noch kommen)

+string +replace() bei google könnte helfen...


Ja ich hab das Buch..
Ja das könnt ich nochmal lesen ^^
*hab entfernt*

Wenn Bild zu groß bitte naricht ;D

goldfisch007

Alter Hase

Beiträge: 446

Wohnort: Süden von Berlin

  • Private Nachricht senden

15

07.06.2009, 02:23

naja mit nen bissel verspätung präsentiere ich hiermit eine
Teillösung =)
bitte schlagt mich net für meinen code der is einfach, etc....
(muss daran noch arbeiten)

ich kann nur sagen, dass du mit dem heir vorgestellten zeugs zeichen in einem string :

1. erkennst (auch wenn ein Buchstabe mehrmals verwendet wurde)
2. du an die stelle des Buchstaben eines Strings ein "<" setzt

also heir teile des codes(alles wichtige):

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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#include <iostream>
#include <windows.h>

using namespace std;

//Variablen

string sWort("");       // Hier wird das zu erratende Wort gespeichert

string sWort2("")      // Hier wird ein ein entsprechend langer String  

                              // gespeichert (seine Länge wird mit "-" gefüllt)

string sFueller("-");   // wird zur erzeugung von sWort2 benötigt

int Position=0;          // stellt eine Position in einem string da

int Position_letter=0; // heir wird diese Position für den Rest des  

                               // Durchlaufs geändert

int groesse=0;          // Größe des Wortes von sWort benötigt für sWort2

char geraten;           // Eingabe (geratener Buchstabe)

char letter;               // Hilfsvariable zumausgeben von "<" an der  

                               // richtigen Stelle


//Funktionsprototypen

void game();
void raten();



int main()
{
    game();
    return 0;
}

void game()
{
    system("cls");
    cout<<"Game"<<endl;
    cout<<"----"<<endl;
    int p=0;
    cout<<"Wort eingeben:"<<endl;
    cin>>sWort;                                      // Abfrage des zu erratenden    

                                                            // Wortes

    groesse=sWort.length();
    while(p<groesse)
    {
     sWort2=sWort2+sFueller;
     p++;
    }                                                     // Hier wird sWort2 mit "-" gefüllt  

                                                           //  entsprechend der länge des 

                                                           //  wortes von sWort

    system ("cls");
    raten();
}

void raten()
{
    do
    {
     cout<<"Du hast noch "<<versuche<<" Versuche"<<endl;
     cout<<"dein Wort ist"<<sWort2<<endl;
     cout<<"rat ma:"<<endl;
     cin>>geraten;                                     //Abfrage geratener Buchstabe


     Position=sWort.find(geraten,Position_letter);     // Hier wird geguckt 

                                                                         //  ob die eingabe im

                                                                          // Wort sWort 

                                                                          // enthalten ist*/


          sWort2.replace(Position,1,"<",1);                      //hier wird das "-"

                                                                               // ersetzt

     if (Position==string::npos)
     {
         cout<<"Der Buchstabe ist nicht enthalten..."<<endl;
         Sleep(2000);
         Position_letter=0;
         versuche--;
         raten();
     }
     else
     {
          Position=sWort.find(geraten,Position_letter);     //Hier wird geguckt 

                                                                               //ob die eingabe im

                                                                               //Wort sWort 

                                                                               // enthalten ist*/


          sWort2.replace(Position,1,"<",1);                      //hier wird das  

                                                                                // entsprechende

                                                                                // "-" durch "<"  

                                                                                // ersetzt*/

          Position_letter=Position+1;
          if(Position==string::npos)
          {
              Position_letter=0;
              versuche--;
              raten();
          }                               /*hier wird geguckt ob der Buchstabe noch
                                              ein weiteres mal enthalten ist. aktuell wird
                                              es 4mal geprüft (4mal der selbe
                                              Codeblock) ich ahbe versucht es über
                                              schleifen zu lösen doch dann hat sich das
                                              programm beendet.... hier musst du also 
                                              noch ma gucken*/

          Position=sWort.find(geraten,Position_letter);
          sWort2.replace(Position,1,"<",1);
          Position_letter=Position+1;
          if(Position==string::npos)
          {
              Position_letter=0;
              versuche--;
              raten();
          }
          Position=sWort.find(geraten,Position_letter);
          sWort2.replace(Position,1,"<",1);
          Position_letter=Position+1;
          if(Position==string::npos)
          {
              Position_letter=0;
              versuche--;
              raten();
          }
          Position=sWort.find(geraten,Position_letter);
          sWort2.replace(Position,1,"<",1);
          Position_letter=Position+1;
          if(Position==string::npos)
          {
              Position_letter=0;
              versuche--;
              raten();
          }
     }
     versuche--;
     Position_letter=0;
    }while(versuche!=0);

    cout<<"Spiel vorbei."<<endl;
    Sleep(2000);
}


So ich hoffe es hilft dir ein bisschen... und ich hab alles entsprechende so kommentiert, dass man es verstehen kann.... ansonsten frag noch ma
desweiteren kann es sein dass ich durch das nachkommentieren heir was kaputt gemacht hab(müssteste aba finden/beheben können)
also ich habe glaub ich schon was zu

C-/C++-Quelltext

1
string.replace(position,1,"<",1)


gesagt... aba noch ma

position = die stelle an der er was ersetzten soll
1 = maxiemal zu überschreibende Zeichen
"<" durch was soll es ersetzt werden
hier habe ich "<" genommen und nicht

C-/C++-Quelltext

1
2
3
4
cout<<"Du hast noch "<<versuche<<" Versuche"<<endl;
               cout<<"dein Wort ist"<<sWort2<<endl;
               cout<<"rat ma:"<<endl;
               cin>>geraten; 

warum? weil es nders ru zu abstürzen des programs geführt
hat... -> auch hier musst du dir noch was
ausdenken/ergooglen/erlesen/erfragen
1 =Länge des zu schreibendn Textes

hoffe konnte helfen und es verständlich erklären
goldfisch007
P.s wie erwähnt steinigt mich net wegen dem code(ich progge noch net lange-> kaum erfahrung, es ging schnell)
Wir bauen auf und reißen nieder, so ham wir Arbeit ima wieder...
--------------------
http://www.piratenpartei.de/tmp/images/Slogans_5_0.png
--------------------
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender, geklaut von Helmut xD)

16

07.06.2009, 13:29

Tja, der Code ist wirklich ziemlich mies, aber naja, hauptsache du hast Spaß am programmeiren und machst weiter, dann wird der Code von ganz alleine besser, weil du von selber merkst warum bestimmte Dinge einfach schlecht sind.
Ich denke jeder Anfänger macht ziemlich miesen Code und will sich vielleicht nicht an alle Vorschläge und regeln halten und dann irgendwann merkt er, dass es doch Sinn macht.
Lieber dumm fragen, als dumm bleiben!

goldfisch007

Alter Hase

Beiträge: 446

Wohnort: Süden von Berlin

  • Private Nachricht senden

17

07.06.2009, 16:07

haste den nen tip?
Jonathan_Klein???

-------------
die ausgabe in sWort2 kannste mit ner switch case machen

C-/C++-Quelltext

1
2
3
4
5
6
7
switch(geraten)
{
 case('a'):
 {
  sWort2.replace(Position,1,"a",1);
 }break;
}


und so weiter =)
dann muste das nur noch mit der schleife lösen (also dem mehrmals findne eines Buchstabbens...)
Wir bauen auf und reißen nieder, so ham wir Arbeit ima wieder...
--------------------
http://www.piratenpartei.de/tmp/images/Slogans_5_0.png
--------------------
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender, geklaut von Helmut xD)

18

07.06.2009, 16:09

@ Goldfisch007

Danke für den Code und ausfürhliche Kommentierung ;)

ich hab den jetzt nur leicht verändert alles ght aber wenn ich
es kompiliere (klappt alles :D ) nur wenn ich das Prog starte
Aber du hast versuche nicht deklariert ^^ hab ich geändert

kommt Wort eingeben geht
Nun soll man raten da liegt da Problem nämlich:

"This application has requested the Runtime to terminate it in an unusual way. Please contact...."


Hier Pic:
http://img192.imageshack.us/img192/7691/unbenanntjsq.png


Aber trozdem danke für den Code ;)[/img]
*hab entfernt*

Wenn Bild zu groß bitte naricht ;D

goldfisch007

Alter Hase

Beiträge: 446

Wohnort: Süden von Berlin

  • Private Nachricht senden

19

07.06.2009, 16:12

versuche hab ich die
deklaration gelöscht (wollt dir ja net alles
geben XP)
komisch das hab ich net....
Wir bauen auf und reißen nieder, so ham wir Arbeit ima wieder...
--------------------
http://www.piratenpartei.de/tmp/images/Slogans_5_0.png
--------------------
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender, geklaut von Helmut xD)

20

07.06.2009, 16:55

Zitat von »"goldfisch007"«

versuche hab ich die
deklaration gelöscht (wollt dir ja net alles
geben XP)
komisch das hab ich net....


Auch bei release?
hmm komisch
*hab entfernt*

Wenn Bild zu groß bitte naricht ;D

Werbeanzeige