小白都能看懂的游戏教程(C++版)第一章

概述
做游戏,其实就是按照自己的想法模拟,游客做出操作A会怎样,操作B会怎样。这样就能实现一些最基本的小游戏了。
这里就给出一个例子叭~

#include <bits/stdc++.h>
using namespace std;
int main() {
A:
	cout << "请输入一个1~1000的整数。";
	srand(time(0)); int x, sum = 0, res = rand() % 1000 + 1;
	while (true) { 
		cin >> x; ++sum; 
		if (x > 1000 || x < 1) {
			cout << "输入错误,请重新输入!"; goto A;
		}
		if (x == res) {
			cout << "答对了!一共用了" << sum << "次!\n"; return 0; 
		} else if (x < res) {
			cout << "输入的数小于答案!\n"; 
		} else {
			cout << "输入的数大于答案!\n"; 
		}
	}
	return 0;
}

即便是最简单的猜数游戏,也是要用到很多语法滴!请大家继续学习!
1.如何生成n到m范围内的随机数
首先,我们要调用头文件:#include < ctime > (time.h)
然后,我们要种下随机种子(不然会和上次结果相同)~srand(time(0));
最后,我们要调用rand函数,巧妙地mod一下~
int n = rand() % m + n;
2.goto语句用法
goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。也就相当于调用函数啦。
当然,这类最简单的小游戏会让人玩着玩着就烦,那么我们就有两种解决方案:
1.美化游戏页面
2.换一个游戏
显然,第一种方案更简单。那么,一起来跟蒟蒻君学习如何美化页面叭!
美化游戏页面的方法
1.改变窗口大小
这里会用到#include <windows.h>里面的system函数。
具体实现:system(“mode con cols = 宽 lines = 高”);
注意
1.system里面要有双引号
2.宽和lines中间是空格,而不是逗号
2.改变颜色
1)改变背景/前景色
先定义一下~
背景色:小黑窗的颜色 前景色:输入/输出的东东的颜色。
这里用到的也是system函数(不要忘记头文件鸭)。
具体实现:system(“color 背景色前景色”);
tips: 这里给大家一个表格。
背景色 前景色
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 湖蓝色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色
2)改变字体颜色
具体实现(也要调用windows.h):SetConsoleTextAttribute(句柄|颜色)。GetStdHandle和FOREGROUND_或BACKGROUND_。值为INTENSITY或RED或GREEN或BLUE。
这里给大家一一列出~
GetStdHandle(STD_OUTPUT_HANDLE)获得句柄。
FOREGROUND_INTENSITY 表示设置前景色为高亮显示。
FOREGROUND_RED 表示设置前景色为红色,即字体颜色为红色。
FOREGROUND_GREEN 表示设置前景色为绿色,即字体颜色为绿色。
FOREGROUND_BLUE 表示设置前景色为蓝色,即字体颜色为蓝色。
BACKGROUND_INTENSITY 表示设置背景色为高亮显示。
BACKGROUND_RED 表示设置背景色为红色。
BACKGROUND_GREEN 表示设置背景色为绿色。
BACKGROUND_BLUE 表示设置背景色为蓝色。
注意:两个参数之间用|隔开,而不用逗号。
3.慢速输出
这里指的“慢速输出”,就是输出停顿输出停顿…这样的循环。
这里要用到windows.h里的Sleep函数,参数为停顿的毫秒数。
具体实现:

#include <windows.h>
#include <iostream>
using namespace std;
......
char ch[] = "大家好";
for (int i = 0; ch[i] != '\0'; ++i) {
	cout << ch[i]; Sleep(1000);
}

tips:
1.Sleep的首字母S要大写。
2.1秒=1000毫秒
4.在指定位置输出
这里调用windows.h里SetConsoleCursorPosition函数,两个参数分别为获取句柄和位置。位置建议用COORD结构体(其实不用管它是个神马东东,直接调用就ok啦)。
具体实现:

void gotoxy(int x, int y)  {
	COORD pos = {y - 1, x - 1};
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}

以后还会有更多优化,今天的美化页面就先讲这么多啦!
如果大家想做更好的游戏,就需要算法的基础!遇到问题欢迎私信我,继续期待第二章叭!!!如果觉得好的话,不如一键三连后再走,感谢可爱的粉丝们~

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页