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”); } } }
完成
至此,全程序完成。