Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 03:56

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



"Räuber und Goldschatz" als Programm

Discussion on "Räuber und Goldschatz" als Programm within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 60
Join Date: Dec 2009
Posts: 6,455
Received Thanks: 5,134
"Räuber und Goldschatz" als Programm

Hey!
Muss das Kindergarten-/Grundschulspiel "Räuber und Goldschatz" als C-Programm schreiben.
Ich bin nun an dem Punkt angekommen, bei welchem ich die while-Schleife (Spielschleife) mit den Funktionen füllen muss, damit das Spiel läuft.
Die Aufgabenstellung (mit Spielerklärung):



mein Code momentan:

Muss nun dafür sorgen, dass eine Zahl über die bereits vorhandene Funktion "int dice_min_max(int min, int max)" als Variable (z.B. zahl) gespeichert wird.
Anschließend muss man über den gamer "plus" oder "minus" das Vorzeichen der anschließenden Rechnung (feld +/- zahl) herausfinden.
Dann eben die Rechnung: feld +/- zahl = feldzahl
Anschließend muss ich nachprüfen, ob feldzahl über die Endbedingung Feld = 20 drübergeht oder unter Feld = 1 fällt.
Sollte dies der Fall sein muss die ursprüngliche Feld-Position beibehalten werden. (Wie bei Mensch ärger dich nicht)
Danach wird die Ausgabe wie auf dem Aufgabenblatt zu sehen erscheinen. (printf von "feldzahl" und "zahl")

Hoffe jemand von euch nimmt sich die Zeit und kann mir helfen, da ich langsam verzweifle

Grüße,
Noli

Habe das Programm nun zum Laufen gebracht, jedoch musste ich dafür einen neuen int benutzen, was nicht der Sinn der Aufgabe ist.
Meine Frage:
Wie nutze ich die Variable aus der struct um mit dieser die while-Schleife zum Laufen zu bringen?
Meine gesamte while-Schleife sieht so aus:

Code:
//Struktur-Funktion:
struct Spieler                      // globale Struktur um minus und plus als gamer zusammenzufassen
{
    int minus;
    int plus;
};

//Spiel-/while-Schleife
 int gamer = 1
  while(feld > 1 && feld < 20)
    {
        if(gamer)
        {
            gamer= 0;

            zahl = dice_min_max(min, max);

            feld = feld - zahl;
            if(feld < 1 || feld > 20)
                feld += zahl;
            printf("Feld: %i, ", feld);
            printf("Wurf: -%i\n", zahl);
        }
        else
        {
            gamer = 1;

            zahl = dice_min_max(min, max);

            feld = feld + zahl;
            if(feld < 1 || feld > 20)
                feld -= zahl;
            printf("Feld: %i, ", feld);
            printf("Wurf: %i\n", zahl);
        }
    }
Musste jetzt den neuen int gamer = 1 nutzen, damit das Programm läuft.
Wie bekomme ich die Variable aus "struct" (gamer.minus / gamer.plus) dazu, dass ich diese in der if-Funktion benutzen kann?
ηøℓι is offline  
Old 12/04/2015, 19:13   #2

 
Bonnyfication's Avatar
 
elite*gold: 157
Join Date: Oct 2010
Posts: 855
Received Thanks: 331
Ich kann dir irgendwie nicht ganz folgen...

Angenommen Spieler ist richtig als gamer deklariert:

Code:
Spieler gamer;
dann solltest du auch gamer.minus benutzen können

Code:
if(gamer.minus < 0)
{}

Hilf mir mal auf die Sprünge, was genau du da brauchst.
Bonnyfication is offline  
Reply




All times are GMT +1. The time now is 03:56.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.