失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c语言编写纯文字小游戏

c语言编写纯文字小游戏

时间:2019-06-12 05:38:44

相关推荐

c语言编写纯文字小游戏

c语言的,要求用纯c写一个纯文字的小游戏(不用太长),不能是市面上出现过的,要求必须原创,至少六个函数(),要有存档功能,有必要的文字说明

#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_CHAPTER 4#define MAX_OPTION 3#define MAX_SAVE 10typedef struct {char title[100];char content[1000];int options[MAX_OPTION];} Chapter;Chapter chapters[MAX_CHAPTER] = {{"第一章", "你是一个年轻的冒险者,正在探险途中。你来到了一个岔路口,左边通向一片森林,右边通向一座山峰。你该怎么做?\n1.向左走\n2.向右走\n", {1, 2}},{"第二章", "你来到了森林,这里充满了危险和机遇。在森林中,你看到了一个神秘的洞穴,里面似乎有着珍贵的宝藏。但是洞穴深处有很多陷阱和怪物,你是否要冒险一试?\n1.冒险进入洞穴\n2.离开森林,前往山峰\n", {3, 2}},{"第三章", "你进入了洞穴,这里黑暗潮湿,陷阱和怪物随处可见。你需要小心翼翼地前进,以免掉入陷阱或者被怪物攻击。在前进的过程中,你看到了一扇门,门上写着“禁止入内”。你会怎么做?\n1.进入门内探寻\n2.绕过门继续前进\n", {4, 5}},{"第四章", "你进入了门内,发现这里是一个神秘的秘室。秘室中有一块珍贵的宝石,但是宝石被一个凶恶的魔兽守护着。你必须战胜魔兽才能获得宝石。你准备好了吗?\n1.战斗!\n2.逃跑!\n", {6, 5}}};int current_chapter = 0;int save_count = 0;int saved_chapter[MAX_SAVE] = {0};int get_choice() {int choice = 0;do {printf("请输入你的选择:");scanf("%d", &choice);if (choice != 1 && choice != 2) {printf("无效的选择,请重新输入:");}} while (choice != 1 && choice != 2);return choice;}void print_chapter(int chapter_id) {printf("%s\n", chapters[chapter_id].title);printf("%s", chapters[chapter_id].content);}void play_game() {while (current_chapter < MAX_CHAPTER) {print_chapter(current_chapter);int choice = get_choice();saved_chapter[save_count++] = current_chapter;current_chapter = chapters[current_chapter].options[choice - 1] - 1;}printf("你已经完成了游戏!\n");}void load_game() {printf("你有以下存档:\n");for (int i = 0; i < save_count; i++) {printf("%d. %s\n", i + 1, chapters[saved_chapter[i]].title);}int choice = 0;printf("请输入你要加载的存档编号:");scanf("%d", &choice);while (choice < 1 || choice > save_count) {printf("无效的选择,请重新输入:");scanf("%d", &choice);}current_chapter = saved_chapter[choice - 1];}void save_game() {if (save_count >= MAX_SAVE) {printf("存档数量已达上限,无法保存!\n");return;}saved_chapter[save_count++] = current_chapter;printf("存档成功!\n");}void print_help() {printf("这是一个冒险游戏,你需要做出不同的选择,每个选择都会影响游戏的进程和结局。\n");printf("游戏中使用数字键来选择不同的选项,每个章节最多有%d个选项。\n", MAX_OPTION);printf("游戏中可以随时进行存档和读档,最多可以保存%d个存档。\n", MAX_SAVE);}void print_menu() {printf("欢迎来到冒险游戏!\n");printf("1.开始新游戏\n");printf("2.读取存档\n");printf("3.保存游戏\n");printf("4.游戏帮助\n");printf("5.退出游戏\n");}int main() {int choice = 0;while (choice != 5) {print_menu();printf("请输入你的选择:");scanf("%d", &choice);switch (choice) {case 1:current_chapter = 0;save_count = 0;play_game();break;case 2:load_game();break;case 3:save_game();break;case 4:print_help();break;case 5:printf("谢谢游玩!\n");break;default:printf("无效的选择,请重新输入!\n");break;}}return 0;}

如果觉得《c语言编写纯文字小游戏》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。