⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 craps.c

📁 c语言开发方面的经典问题,包括源代码.c语言开发所要注意的问题,以及在嵌入式等各方面的应用
💻 C
字号:
/* * File: craps.c * ------------- * This program plays the dice game called craps.  For a discussion * of the rules of craps, please see the GiveInstructions function. */#include <stdio.h>#include "genlib.h"#include "random.h"#include "simpio.h"#include "strlib.h"/* Function prototypes */void GiveInstructions(void);void PlayCrapsGame(void);int RollTwoDice(void);bool GetYesOrNo(string prompt);/* Main program */main(){    Randomize();    if (GetYesOrNo("Would you like instructions? ")) {        GiveInstructions();    }    while (TRUE) {        PlayCrapsGame();        if (!GetYesOrNo("Would you like to play again? ")) break;    }}/* * Function: GiveInstructions * Usage: GiveInstructions(); * ----------------------- * This function welcomes the player to the game and gives * instructions on the rules to craps. */void GiveInstructions(void){    printf("Welcome to the craps table!\n\n");    printf("To play craps, you start by rolling a pair of dice\n");    printf("and looking at the total.  If the total is 2, 3, or\n");    printf("12, that's called 'crapping out' and you lose.  If\n");    printf("you roll a 7 or an 11, that's called a 'natural' and\n");    printf("you win.  If you roll any other number, that number\n");    printf("becomes your 'point' and you keep on rolling until\n");    printf("you roll your point again (in which case you win)\n");    printf("or a 7 (in which case you lose).\n");}/* * Function: PlayCrapsGame * Usage: PlayCrapsGame(); * ----------------------- * This function plays one game of craps. */void PlayCrapsGame(void){    int total, point;    printf("\nHere we go!\n");    total = RollTwoDice();    if (total == 7 || total == 11) {        printf("That's a natural.  You win.\n");    } else if (total == 2 || total == 3 || total == 12) {        printf("That's craps.  You lose.\n");    } else {        point = total;        printf("Your point is %d.\n", point);        while (TRUE) {            total = RollTwoDice();            if (total == point) {                printf("You made your point.  You win.\n");                break;            } else if (total == 7) {                printf("That's a seven.  You lose.\n");                break;            }        }    }}/* * Function: RollTwoDice * Usage: total = RollTwoDice(); * ----------------------------- * This function rolls two dice and returns their sum.  As part * of the implementation, the result is displayed on the screen. */int RollTwoDice(void){    int d1, d2, total;    printf("Rolling the dice . . .\n");    d1 = RandomInteger(1, 6);    d2 = RandomInteger(1, 6);    total = d1 + d2;    printf("You rolled %d and %d -- that's %d.\n", d1, d2, total);    return (total);}/* * Function: GetYesOrNo * Usage: if (GetYesOrNo(prompt)) . . . * ------------------------------------ * This function asks the user the question indicated by prompt * and waits for a yes/no response.  If the user answers "yes" * or "no", the program returns TRUE or FALSE accordingly. * If the user gives any other response, the program asks * the question again. */bool GetYesOrNo(string prompt){    string answer;    while (TRUE) {        printf("%s", prompt);        answer = GetLine();        if (StringEqual(answer, "yes")) return (TRUE);        if (StringEqual(answer, "no")) return (FALSE);        printf("Please answer yes or no.\n");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -