以下是一款简单的解密元素游戏的C语言代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_ELEMENTS 10
#define MAX_GUESSES 5

typedef struct {
    char symbol[3];
    char name[20];
} Element;

Element elements[MAX_ELEMENTS] = {
    {"H", "Hydrogen"},
    {"He", "Helium"},
    {"Li", "Lithium"},
    {"Be", "Beryllium"},
    {"B", "Boron"},
    {"C", "Carbon"},
    {"N", "Nitrogen"},
    {"O", "Oxygen"},
    {"F", "Fluorine"},
    {"Ne", "Neon"}
};

void printElements()
{
    printf("The elements are:\n");
    for (int i = 0; i < MAX_ELEMENTS; i++) {
        printf("%d. %s\n", i+1, elements[i].name);
    }
    printf("\n");
}

int checkGuess(char *guess, int answer)
{
    if (strcmp(guess, elements[answer].symbol) == 0) {
        printf("Correct!\n");
        return 1;
    } else {
        printf("Incorrect\n");
        return 0;
    }
}

int main()
{
    printElements();
    int answer = rand() % MAX_ELEMENTS;
    int numGuesses = 0;
    char guess[3];
    while (numGuesses < MAX_GUESSES) {
        printf("Guess the symbol of element %s\n", elements[answer].name);
        scanf("%s", guess);
        if (checkGuess(guess, answer)) {
            printf("You win!\n");
            return 0;
        } else {
            numGuesses++;
            printf("You have %d guesses left.\n", MAX_GUESSES - numGuesses);
        }
    }
    printf("You lose! The symbol was %s.\n", elements[answer].symbol);
    return 0;
}

这个程序的基本思路是:从10个元素中随机选择一个,然后让玩家猜测该元素的符号。如果玩家猜对了,游戏胜利;否则,玩家还有最多5次机会猜测。如果5次机会用完了还没有猜对,游戏失败。

这个程序使用了结构体来存储元素的符号和名称。在 printElements 函数中,它遍历了 elements 数组,打印出所有元素的名称。在 checkGuess 函数中,它检查玩家的猜测是否正确,并打印相应的消息。

main 函数中,它使用 rand 函数来生成一个随机数,以随机选择一个元素作为答案。然后,它进入了一个 while 循环,该循环最多执行5次,直到玩家猜对了答案或猜测次数用完为止。

在每次循环中,程序打印出要猜测的元素的名称,并要求玩家输入一个符号。然后,它调用 checkGuess 函数来检查玩家的猜测是否正确。如果是,程序打印出胜利消息并退出;否则,它将猜测次数加1,并打印出还剩下的次数。

如果循环结束时玩家还没有猜对,程序将打印出失败消息,并显示正确的符号。最后,程序返回0,表示正常退出。

用C语言制作一款解密元素的游戏并分析该代码

原文地址: https://www.cveoy.top/t/topic/Hwg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录