c语言编程小游戏 c语言代码游戏编程



文章插图
c语言编程小游戏 c语言代码游戏编程

文章插图
还记得我发的小白第一篇吗?上面记载了一些简单的随机数控制台程序的需求 。
【c语言编程小游戏 c语言代码游戏编程】毕竟这也算得上是小小的游戏吧 , 除了一些必要的机制之外 , 自然需要像文章那般润色 。现在 , 这篇文章将会分享一些有关的代码 。各位如果有更好的方法 , 欢迎在评论区发表看法 。
颜色
每个人都不希望看到一成不变的黑色在控制台这里 , 那么 , 如何输出有颜色的文字呢?如何更改控制台背景色呢?
其中一种方法可以直接在printf()语句里加一些转义符号 。颜色的控制通过ESC字符(33)加”[“加颜色代码加”m”实现 。ESC的ASCII码是十进制的27 , 八进制的033(33) 。听上去很懵 , 没关系 , 举个栗子就好啦
这里搬上一个最全的例子:
printf(“33[1;40;32m color!!! 33[0m hellon”);33 声明了转义序列的开始 , 然后是 [ 开始定义颜色 。后面的 1 定义了高亮显示字符 。然后是背景颜色 , 这里面是40 , 表示黑色背景 。接着是前景颜色 , 这里面是32 , 表示绿色 。我们用 33[0m 关闭转义序列 ,  33[0m 是终端默认颜色 。而下面的代码会产生什么结果呢?
printf("33[36m**********猜猜随机数2.5************n33[0m");printf("**************进入游戏请按:1*****************n");printf("**************游戏说明请按:2*****************n");printf("***************退出请按:3******************n");printf("**************************************************n");
这是结果
其中这里可以通过调整36m来调整字体颜色 。
/*颜色列表如下:none= "33[0m"black= "33[0;30m"dark_gray= "33[1;30m"blue= "33[0;34m"light_blue= "33[1;34m"green= "33[0;32m"light_green -= "33[1;32m"cyan= "33[0;36m"light_cyan= "33[1;36m"red= "33[0;31m"light_red= "33[1;31m"purple= "33[0;35m"light_purple = "33[1;35m"brown= "33[0;33m"yellow= "33[1;33m"light_gray= "33[0;37m"white= "33[1;37m"字背景颜色范围:40--49字颜色: 30--3940: 黑30: 黑41:红31: 红42:绿32: 绿43:黄33: 黄44:蓝34: 蓝45:紫35: 紫46:深绿36: 深绿47:白色37: 白色*/其实调整颜色的方式不止一种 , 但是这种是小白学会的第一种方法 。还是很有纪念意义的 。
定点输出
这个主要可以记录猜测过程中的步数等等 。如果不拘泥于这个随机数 , 还可以挂一个人物姓名 , 生命 , 时间等等在界面中不变的量 。但是我们总不能输出其他东西的时候空两格来输出这些 。所以 , 这时候就需要我们通过调整控制台光标坐标来达到定点输出的效果 。
比如此处的最佳记录
这里小白直接分享调整坐标的代码吧 , 通过调整坐标 , 我们就可以在控制台范围内输出任何东西 。
void zuobiao(int x,int y){COORD rd;rd.X = x;rd.Y = y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), rd);} //但是怎么用呢?zuobiao(58,9);printf("最佳记录:剩余%d次就猜中了 。",count); //酱紫就行啦 , 是不是很简单呢?