空のむこうに続く道
状态
文章总数
77篇 总字数
12.4万 运营时长
2年11个月分类
标签
AI Arch BF CLI CSS C语言 Fuwari Giscus GTK HEO Hyprland jQuery JS KDE K签 Linux Lisp LLM Path Pypi Python RSS Textual TUI Vim VTB VUP Whl WP ジサツ 上海 下载 专业 主题 云朵 享乐 代码 优化 伦理 便利店 俄国 光标 内省 内耗 函数式 分析 创伤 创意 判断 前端 北京 参观 友谊 反思 可爱 和风 哲学 商业 回忆 国庆 壁纸 天津 女仆 姐妹 字典 学习 安装 实用 对话 工具 幻想 库 度假 开发环境 开源 归档 微风 心理 志怪 总结 意义 成都 技校 抚远 拥抱 推荐 插件 摄影 政策 故事 故障排查 效果 散文 文件 文化 旅游 日本 日语 时间 显卡 样式 模糊 汉化 治愈 浏览器 浦东 浦西 游戏 滑动 演讲 热力图 特效 猫猫 玩具 环境 甘城 生态 病毒 登录 盘点 直播 破译 社会 社团 视奸 秋游 科幻 移民 窗口 笔记 系统 红枫 终点 终端 经济 编译 美化 美缝 耳机 脑操 自动驾驶 苏州 茅山 萌系 补档 解释器 设计 评论 话术 语言 谷子 走路 轮子 辍学 迁移 运维 重庆 重构 链 随机 静安 音频 项目 颜文字 颜色 首都 魔法 麦金塔 鼠标
670 字
3 分钟
使用 C 语言制作文字游戏
C 语言是世界上运行速度最快的高级语言,但缺点是过于繁琐而且贴近底层,导致门槛很高。
这篇文章会教你使用 C 语言写一个最简单的文字游戏,可能需要其它高级语言基础。
初始化
首先需要导入两个库,stdio 和 string,后面会用到。
使用 include 语句导入库。
#include<stdio.h>
#include<string.h>然后,定义一个空的字符串变量,用来接应输入。
#include<stdio.h>
#include<string.h>
char select[0]={};最后,再写一个 main 函数作为实际运行的地方,初始化完成。
#include<stdio.h>
#include<string.h>
char select[0]={};
int main(){
//程序在这里运行
}输入与输出
文字游戏是离不开文字的,使用 stdio 的 printf 函数可以打印文字。
#include<stdio.h>
#include<string.h>
char select[0]={};
int main(){
printf("这里是文字游戏测试\n");
}其中的 \n 是转义符,可以使下一段文字换行。
如果有输出,还需要有输入,scanf 函数可以获取键盘输入,并存放在一个变量中。
在 scanf 输入任何字符后,都会执行下一条语句,需要注意的是,只输入空白会没有任何反应。
#include<stdio.h>
#include<string.h>
char select[0]={};
int main(){
printf("这里是文字游戏测试\n");
scanf("%s",&select);
printf("你可以输入任意字符继续,除了空白\n");
scanf("%s",&select);
printf("现在,请选择\n");
}循环与判断
文字游戏要有互动,玩家可以自由地选择如何行动,实现这种功能需要判断。
判断语句有:if、else if、else 等。
C 语言的字符串无法直接使用运算符比较,需要使用 string 的 !strcmp 函数。
#include<stdio.h>
#include<string.h>
char select[0]={};
int main(){
printf("这里是文字游戏测试\n");
scanf("%s",&select);
printf("你可以输入任意字符继续,除了空白\n");
scanf("%s",&select);
printf("现在,请选择\n");
printf(">A<一个选项\n");
printf(">B<另一个选项\n");
scanf("%s",&select);
if(!strcmp(select,"A")){
printf("这里将显示A的剧情\n");
return 0;
}else if(!strcmp(select,"B")){
printf("这里将显示B的剧情\n");
return 0;
}else{
printf("无效输入\n");
}
}但是这样会出现一个问题,如果玩家输入了 A 与 B 以外的字符,游戏告知 “无效输入” 后就自动退出了,可以使用循环语句 while 等避免这种情况。
#include<stdio.h>
#include<string.h>
char select[0]={};
int main(){
printf("这里是文字游戏测试\n");
scanf("%s",&select);
printf("你可以输入任意字符继续,除了空白\n");
scanf("%s",&select);
printf("现在,请选择\n");
while(1){
printf(">A<一个选项\n");
printf(">B<另一个选项\n");
scanf("%s",&select);
if(!strcmp(select,"A")){
printf("这里将显示A的剧情\n");
return 0;
}else if(!strcmp(select,"B")){
printf("这里将显示B的剧情\n");
return 0;
}else{
printf("无效输入\n");
}
}
}完成
至此,全程序完成。
如果此时间过长,文中的信息可能会失去时效性,甚至不再准确。

