《悬挂小人游戏-版本1.0》

2023-12-16 05:59
文章标签 游戏 版本 1.0 悬挂 小人

本文主要是介绍《悬挂小人游戏-版本1.0》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//c语言小游戏,悬挂小人
/*
这个游戏只是实现了给定的一个单词,让用户来猜测,没有用到随机给出单词让用户猜测。
后续版本会更新...
*/
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h> //小写字母转大写字母需要用到

//函数声明
int win(int letterFound[]);
int researchLetter(char letter,char secretWord[],int letterFound[]);
char readCharacter();

//定义int win(int letterFound[])函数
int win(int letterFound[])
{
int i= 0;
int win = 1; //1为胜利,0位失败
for(i=0;i<6;i++)
{
if(letterFound[i]==0)
win = 0;
}
return win;
}

//定义researchLetter(char letter,char secretWord[],int letterFound[])函数
int researchLetter(char letter,char secretWord[],int letterFound[])
{
int i = 0;
int correctLetter = 0; //0表示字母不在单词中,1表示字母在单词中
//遍历单词数组secretWord,以判断所猜字母是否在单词中
for(i=0;secretWord[i]!='\0';i++)
{
if(letter == secretWord[i]) //如果字母在单词中
{
correctLetter = 1; //表示猜对了一个字母
letterFound[i] = 1; //对于所有等于所猜字母的数组的位置,都将其数组变为1
}
}
return correctLetter;
}

//定义char readCharacter()函数
char readCharacter()
{
char character = 0;
character = getchar(); //读取一个字母
character = toupper(character); //把这个字母转换为大写
//读取其他字符,直到\n(为了忽略它)
while(getchar()!='\n')
;
return character; //返回读到的第一个字母
}

int main(int argc,char *argv[])
{
char letter = 0; //存储用户输入的字母
char secretWord[] = "BOTTLE"; //要猜测的单词
int letterFound[6] = {0}; //布尔值的数组,数组的每一个元素对应猜测单词的一个字母,
//0表示还没猜到此字母,1表示已猜到此字母
int leftTimes = 7; //剩余猜测次数(0=失败)
int i = 0;
printf("\t*************************************\n");
printf("\t\t欢迎来到悬挂小人游戏!\n");
printf("\t*************************************\n");
while(leftTimes > 0 && !win(letterFound))
{
printf("\n你还剩余 %d 此机会",leftTimes);
printf("\n神秘单词是什么呢?");

//我们现显示猜测的单词,将还没有猜到的字母用*表示,例如:*O**LE
for(i = 0;i<6;i++)
{
if(letterFound[i]) //如果第i+1个字母已经猜到
printf("%c",secretWord[i]); //打印出来
else
printf("*"); //还没猜到,打印一个*
}
printf("\n输入一个字母:");
letter = readCharacter();
//如果用户输入的字母不存于单词中
if(!researchLetter(letter,secretWord,letterFound))
{
leftTimes--; //将剩余猜测机会减一
}
}

if(win(letterFound))
printf("\n\n胜利了!神秘单词是:%s\n",secretWord);
else
printf("\n\n失败了!神秘单词是:%s\n",secretWord);
return 0;
}

转载于:https://www.cnblogs.com/sun-/p/4900633.html

这篇关于《悬挂小人游戏-版本1.0》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/499382

相关文章

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

火柴游戏java版

代码 /*** 火柴游戏* <p>* <li>有24根火柴</li>* <li>组成 A + B = C 等式</li>* <li>总共有多少种适合方式?</li>* <br>* <h>分析:</h>* <li>除去"+"、"="四根,最多可用火柴根数20根。</li>* <li>全部用两根组合成"1",最大数值为1111。使用枚举法,A和B范围在0~1111,C为A+B。判断</li>** @

国产游戏行业的崛起与挑战:技术创新引领未来

国产游戏行业的崛起与挑战:技术创新引领未来 近年来,国产游戏行业蓬勃发展,技术水平不断提升,许多优秀作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,国产游戏已实现质的飞跃。然而,面对全球游戏市场的激烈竞争,国产游戏技术仍然面临诸多挑战。本文将探讨这些挑战,并展望未来的机遇,深入分析IT技术的创新将如何推动行业发展。 国产游戏技术现状 国产游戏在画面渲染、物理引擎、AI

PostgreSQL中的多版本并发控制(MVCC)深入解析

引言 PostgreSQL作为一款强大的开源关系数据库管理系统,以其高性能、高可靠性和丰富的功能特性而广受欢迎。在并发控制方面,PostgreSQL采用了多版本并发控制(MVCC)机制,该机制为数据库提供了高效的数据访问和更新能力,同时保证了数据的一致性和隔离性。本文将深入解析PostgreSQL中的MVCC功能,探讨其工作原理、使用场景,并通过具体SQL示例来展示其在实际应用中的表现。 一、

InnoDB的多版本一致性读的实现

InnoDB是支持MVCC多版本一致性读的,因此和其他实现了MVCC的系统如Oracle,PostgreSQL一样,读不会阻塞写,写也不会阻塞读。虽然同样是MVCC,各家的实现是不太一样的。Oracle通过在block头部的事务列表,和记录中的锁标志位,加上回滚段,个人认为实现上是最优雅的方式。 而PostgreSQL则更是将多个版本的数据都放在表中,而没有单独的回滚段,导致的一个结果是回滚非