Simple Simon
用C语言写一款简单的西蒙游戏
Simple Simon是一款记忆测试游戏。计算机在屏幕上短时间显示一系列数字。当你从屏幕上记住数字的序列时,你必须完全记住这些数字。每次你成功了,你可以重复这个过程,得到一个更长的数字列表供你尝试。
程序必须生成一个介于0和9之间的整数序列,并在屏幕上显示该序列一秒钟,然后再将其删除。然后玩家必须尝试输入相同的数字序列。序列逐渐变长,直到玩家得到错误的序列。然后根据成功尝试的次数和花费的时间计算得分,然后询问玩家是否愿意再次玩。
序列长度从3开始,每三次成功尝试,增加序列长度。
(长度加1)
Simple Simon程序的基本逻辑如下:
编程中将使用以下头文件:
#include <stdio.h> /* For input and output */
#include <ctype.h> /* For toupper() function */
#include <stdlib.h> /* For rand() and srand() */
#include <time.h> /* For time() , clock() and CLOCKS_PER_SEC*/
提示:
(1) 等一秒钟
库函数clock()返回自程序启动以来的时间,以时钟刻度为单位。头文件的<time.h>定义了一个符号CLOCKS_PER_SEC,它是一秒钟内的时钟周期数。使用变量now存储当前时间,循环的代码如下:
/* Wait one second */
now = clock();
for( ;clock() - now < CLOCKS_PER_SEC; );
(2) 计算游戏分数
计算玩游戏的总时间(秒):
time_taken = (clock() – startTime) / CLOCKS_PER_SEC;
如果变量计数器存储成功尝试的次数,则可以使用以下公式计算游戏分数:
scores = counter * 100 / time_taken
(3) 生成0到9之间的整数序列并在屏幕上显示该序列
seed = time(NULL);
srand((unsigned int)seed)