C-Programm-Würfel-Spiel
Ich in Schwierigkeiten bin mit meinem Würfel-Spiel. Ich habe eine Aufgabe:
Die Regeln des Spiels sind die folgenden:
1. Rollt der Spieler die Würfel und addiert die Gesicht-Werte.
2. Wenn der erste Wurf eine 7 oder 11 ist, gewinnt der Spieler.
3. Wenn der erste Wurf eine 2, 3 oder 12 ist, der Spieler verliert.
4. Wenn der erste Wurf eine andere Zahl, diese Summe wird dem Spieler Punkt.
5. Um zu gewinnen, muss der Spieler weiter würfeln, bis er/Sie "macht zeigen."
6. Verliert der Spieler durch eine 7 gewürfelt bevor der Punkt.
1) Definieren, GEWONNEN und VERLOREN, wie Sie Makros in Ihrem Programm. Verwenden Sie Werte von 0 für " GEWONNEN und 1 für VERLIEREN
2) Implementieren Sie eine Funktion, mit Funktionsprototyp int rollDice( void );
rollDice( ) verwenden soll, rand( ), um nach dem Zufallsprinzip generieren eine Zahl zwischen 1 - 6
zurückgeben der Anzahl von Zufallszahl generiert( )
3) Implementieren Sie eine Funktion, mit Funktionsprototyp int playGame( void );
Wenn der Spieler bereit ist zu spielen, (s), er hätte den Schlüssel verwenden, GEBEN Sie die Würfel Rollen
Wenn der Benutzer gewinnt in seinem/Ihrem ersten Wurf gratulieren, die Spieler zurück und mit GEWONNEN
Wenn der Benutzer verliert seine/Ihre erste Rolle, gratulieren die Spieler zurück und mit VERLIEREN
Damit der Benutzer weiter spielen, bis (s)er gewinnt /verliert, ist eine entsprechende massage und beenden das Spiel mit dem letzten Wurf Wert.
4) der Haupt - ( ) sollten
Rufen Sie Ihre Funktion playGame( )
Bitten Sie den Benutzer, wenn (s)er will weiterhin spielen ein anderes Spiel, den überblick über die zahlen der Verluste und Gewinne
Wenn der Benutzer entscheidet, um mit dem spielen fertig sind, zeigt die Anzahl der Siege und Niederlagen (N)er hatte.
Geben dem Benutzer eine entsprechende Meldung abhängig von der Anzahl der Gewinne oder Verluste, (s)er hatte
Zurück, mit einem Wert EXIT_SUCCESS
Hier ist, was ich jetzt haben, aber es sagt mir, dass gibt es Fehler. Kann bitte jemand mir bei dieser Aufgabe helfen?
#include <stdio.h>
#include <ctype.h>
#include <time.h>
#include <stdlib.h>
#define WON 0
#define LOSE 1
int rollDice(void);
int playGame(void);
int rollDice(void) {
return ((rand() % 6) + 1);
}
int playGame(void){
int dice_1 = 0;
int dice_2 = 0;
int sum = 0;
time_t t;
srand(time(&t));
printf("ROLL THE DICE WITH [ENTER]\n");
dice_1 = rollDice();
dice_2 = rollDice();
sum = dice_1 + dice_2;
if (sum == 7 || sum == 11){
printf("Congratulations you roll %d and WON at your first try!", sum);
}
else {
printf("Your roll was %d ,you lose try agian.\n", sum);
}
return 0;
}
int main (void){
playGame();
}
Den Fehler (gcc, linux):
x.c:9:1: error: stray '\302' in Programm
int rollDice(void);
^
x.c:9:1: error: stray '\240' im Programm
x.c:10:1: error: stray '\302' in Programm
int playGame(void);
^
x.c:10:1: error: stray '\240' im Programm
x.c:12:1: error: stray '\302' in Programm
int rollDice(void) {
^
x.c:12:1: error: stray '\240' im Programm
x.c:16:1: error: stray '\302' in Programm
int playGame(void){
^
x.c:16:1: error: stray '\240' im Programm
- es scheint, Sie haben gar nix mehr...
- Ich werde die Abstimmung zu schließen, ist diese Frage off-topic, weil SO keine "mache meine Hausaufgaben" - Seite.
- Was nicht funktioniert?
- ich klebte in ideone, gerollt und 11, dein code funktioniert perfekt - gut gemacht
- "es sagt mir, dass es Fehler". Was "einen Fehler?" Ich bekomme eine Warnung, über den argument-Typ für
srand
, die nicht aufhören können, zu arbeiten auf. - btw - ich bin nicht einverstanden mit der in der Nähe Stimmen, die er geschrieben code (die funktioniert), wird er erst gar nicht zu bitten, eine klare Frage
- Ich vermute, der "Fehler" ist die Tatsache, dass Sie don ' T beenden mit einem Wert von
EXIT_SUCCESS
als Sie gebeten wurden zu tun... fügen Sie in einemreturn 0;
am Ende Ihrermain
. - Ich auch nicht einverstanden mit dem schließen dieses. Trotzdem, sagt es, dass es Fehler oder Warnungen? Im Falle von Abmahnungen ist es kein problem, da funktioniert es
- Danke!!! Ich bin versucht zu complile es in gcc in linux und es zeigt mir eine Fehlermeldung..
- *************** ZEIGEN Sie UNS DEN FEHLER ****************** - sorry zu schreiben, aber u ignoriert die nette Anfrage
- Ich bin so sorry, der Fehler ist: x.c:9:1: error: stray '\302' in Programm int rollDice(void); ^ x.c:9:1: error: stray '\240' im Programm-x.c:10:1: error: stray '\302' in Programm int playGame(void); ^ x.c:10:1: error: stray '\240' im Programm-x.c:12:1: error: stray '\302' in Programm int rollDice(void) { ^ x.c:12:1: error: stray '\240' im Programm-x.c:16:1: error: stray '\302' in Programm int playGame(void){ ^ x.c:16:1: error: stray '\240' im Programm
- - POST-IT IN FRAGE.
- Ok, ich habe es gepostet
- Da die Leserschaft nicht, dass solche Probleme mit deinem code, kann ich vermuten, es ist ein text-editor-problem? Starten Sie eine neue version, und kopieren Sie/fügen Sie den code, den Sie hier gepostet.
- Besser anrufen
srand(time(&t));
einmal früh im Programm, anstatt jedes malplayGame(void)
- die Fehlermeldung, die Sie sehen, ist, weil Sie irgendwie Durcheinander mit dem editor. Es gibt einige unsichtbare (aber nicht der compiler) Zeichen im text. Sie benötigen, um loszuwerden, diese Zeichen, indem Sie entweder starten Sie es erneut oder mit einem anderen editor, zeigen vielleicht die schlechten
- Danke für Eure Hilfe!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein paar Dinge, die hier falsch.
playGame()
. Sollten Sie speichern das Ergebnis und die auf ihn einwirkenden.Ich habe eine vollständige code-listing für Sie unten.
Befehlsauflistung
Beispiel-Ausgabe
homework
tag ist nicht mehr erlaubt, die ich nicht machen jede Anstrengung, zu diskriminieren, Hausaufgaben vs selbstgesteuertes lernen vs Allgemeine Fragen. Ich postete Allgemeine Punkte, an die am Anfang des Codes, und der code aktualisiert die Auflistung. Wenn es einen starken Einwand gegen den Ansatz, den ich nahm, ich rate Ihnen, eine neue Debatte über die Hausaufgaben-tag/Thema. meta.stackexchange.com/questions/10811/...don't really understand how to call playGame() in main
mir komisch vorkam, als wenn er kopiert und eingefügt, der code von woanders. Seine ein strittiger Punkt, jetzt. Er werde bekommen Ein a auf deinen code 🙂 - Keine SorgeDie Sie noch nicht zufrieden sind die Regeln des Spiels. Ihr code braucht, 7 und 11 als Preisträger und jede andere Zahl als Verlierer.
Nach dem 7/11 überprüfen, müssen Sie prüfen, für 2, 3, oder 12, und drucken Sie ein "verloren" - Nachricht, wenn wahr. Wenn nicht, haben Sie die Nummer, und Sie müssen, um den Benutzer aufzufordern, halten Sie Rollen, bis er entweder bekommt die Punkt-Zahl (win) oder eine 7 (verlieren).
Müssen Sie auch verfolgen, Gewinne/Verluste in
main
. Sie müssen rufen SieplayGame
in einer Schleife, wird der Benutzer aufgefordert wird, weiterhin bei jeder iteration.WIN
oderLOSE
entsprechend ausplayGame
und erfassen, dass inmain
, die Aktualisierung der entsprechenden Zähler.