c++ max 的头文件_学用C/C++编写小游戏程序(2.2 打字练习游戏)

本文介绍了如何使用C++编写一个简易的打字练习游戏,涉及随机数生成、特殊输入函数kbhit和getch的使用。游戏规则是计算机随机生成小写字母,从屏幕左侧移动到右侧,用户需在字符到达右侧前正确输入以赢得游戏。文章详细讲解了随机数的生成、非阻塞键盘输入的处理方法,以及游戏程序的基本结构。
摘要由CSDN通过智能技术生成

6f811860a671027e6835ba7019dae6d1.png

2.2 打字练习游戏(随机数与特殊输入)

有了上面的绘制简单动画的技术,现在来看一下简易的打字练习游戏。

【程序2-2】编写一个简易的打字训练游戏:计算机每次随机生成一个小写英文字符,从屏幕一行的左侧开始逐渐地向右移动,走过的位置逐个显示为'-'字符。在行走过程中,如果用户正确地键入这个字符,则该字符就停止在当前位置,输出'*'字符并响铃,表示用户赢了;如果字符从左侧走到几乎接近于右侧边界时(通常的字符窗口为80列,在此设定为第75列为右界),用户仍然没有正确键入这个字符,则该字符停止在右界处不动。用户键入ESC键时可以选择结束游戏。

分析这个游戏中所需的一些操作,有些用前面的知识已经可以写出来了,有些则需要新的知识才能处理。

首先来看动画输出字符。根据上一节中的绘制简单动画的方法,让字符从左向右运动并留下'-'痕迹是很容易的,在循环中可写以下语句:

cout << "b--" << (char)ch;

注意这里因为使用 cout方法,所以不能直接输出ch(那样会把它作为整数输出),需要把它强制转换为char类型再输出。

程序中要求“随机生成一个小写英文字符”。这需要学习使用标准库中与随机数相关的知识。

1、随机数相关函数

计算机程序通常实现的都是确定性的计算:给一个或者一组初始数据,计算出一批确定的结果。然而计算机应用中有时也需要带有随机性的计算,需要用计算机生成随机数。例如以下场合:

(1)在程序调试中需要使用随机性数据作为试验数据;

(2)用计算机模拟某种实际情况或过程,揭示其中的规律性,使用随机数可以较好地反映客观过程的实际情况。

(3)在游戏程序中需要使用随机数展开或控制游戏过程。

计算机实际上无法生成真正的随机数,只能生成所谓的伪随机数:这些数字并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。如何用计算机生成随机性较好的随机数仍是一个研究问题。最简单的生成方法是定义一种递推关系,通过它生成一个数值序列,设法使这个序列中的数看起来比较具有随机性。

C/C++标准库提供了基本的随机数相关功能。要想使用它们,C++程序头部应包含系统文件cstdlib(而C语言中要求包含头文件stdlib.h),即在文件头部写上如下代码行:

#include <cstdlib>

这个头文件里描述了与随机数相关的两个函数:

1、随机数种子函数srand,它的类型特征说明是:

void srand(unsigned seed)

这个函数用参数 seed 的值重新设置种子值,即为生成下一个随机数而保存的一个整数值(由它出发递推

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值