In ``Hangman Judge,'' you are to write a program that judges a series of Hangman games. For each game, the answer to the puzzle is given as well as the guesses. Rules are the same as the classic game of hangman, and are given as follows:
- The contestant tries to solve to puzzle by guessing one letter at a time.
- Every time a guess is correct, all the characters in the word that match the guess will be ``turned over.'' For example, if your guess is ``o'' and the word is ``book'', then both ``o''s in the solution will be counted as ``solved.''
- Every time a wrong guess is made, a stroke will be added to the drawing of a hangman, which needs 7 strokes to complete. Each unique wrong guess only counts against the contestant once.
______ | | | O | /|\ | | | / \ __|_ | |______ |_________|
- If the drawing of the hangman is completed before the contestant has successfully guessed all the characters of the word, the contestant loses.
- If the contestant has guessed all the characters of the word before the drawing is complete, the contestant wins the game.
- If the contestant does not guess enough letters to either win or lose, the contestant chickens out.
Your task as the ``Hangman Judge'' is to determine, for each game, whether the contestant wins, loses, or fails to finish a game.
Input
Your program will be given a series of inputs regarding the status of a game. All input will be in lower case. The first line of each section will contain a number to indicate which round of the game is being played; the next line will be the solution to the puzzle; the last line is a sequence of the guesses made by the contestant. A round number of-1would indicate the end of all games (and input).
Output
The output of your program is to indicate which round of the game the contestant is currently playing as well as the result of the game. There are three possible results:
You win. You lose. You chickened out.
Sample Input
1 cheese chese 2 cheese abcdefg 3 cheese abcdefgij -1
Sample Output
Round 1 You win. Round 2 You chickened out. Round 3 You lose.
#define RUN #ifdef RUN #include <stdio.h> #include <stdlib.h> #include <string.h> #include <assert.h> #include <string> #include <iostream> #include <sstream> #include <map> #include <set> #include <vector> #include <list> #include <cctype> #include <algorithm> #include <utility> #include <math.h> using namespace std; #define MAXN 105 int n; char solution[MAXN]; char guess[MAXN]; int flag[MAXN]; void play(){ memset(flag, 0, sizeof(flag)); int i, j; int wrong = 0; for(i=0; i<strlen(guess); i++){ bool iswrong = true; // Check if it is a same character as previous examined one char* pch = strchr(guess, guess[i]); if(pch!=NULL && pch-guess==i){ for(j=0; j<strlen(solution); j++){ if(flag[j]==0 && solution[j]==guess[i]){ flag[j] = 1; iswrong = false; } } if(iswrong){ wrong++; } if(wrong >= 7){ break; } } } printf("Round %d\n", n); // Examine int k = 0; for(k=0; k<strlen(solution); k++){ if(flag[k] == 0){ if(wrong < 7){ printf("You chickened out.\n"); return; } else{ printf("You lose.\n"); return; } } } if(k == strlen(solution)){ printf("You win.\n"); } } int main(){ #ifndef ONLINE_JUDGE freopen("489.in", "r", stdin); freopen("489.out", "w", stdout); #endif while(scanf("%d", &n)==1 && (n!=-1)){ memset(solution, '\0', sizeof(solution)); memset(guess, '\0', sizeof(guess)); scanf("%s%s", solution, guess); //printf("%s\n", ans); //printf("%s\n", guess); play(); } } #endif
相关推荐
《iOS应用源码详解:clawoo-Hangman-f89ebe8.zip》 在iOS开发领域,源码分析是提升技术理解力和技能的关键环节。本篇将深入探讨"clawoo-Hangman-f89ebe8.zip"这一iOS应用源码,它是一个基于经典猜词游戏“挂人”的...
【标题】:“每天分享几个python项目 —— guess-word-hangman-game-using-python”是指一个用Python编程语言实现的猜词游戏——"Hangman"。在Hangman游戏中,玩家需要通过猜测字母来逐步揭示隐藏的单词,每次错误的...
《MATLAB开发——HangMan游戏实现详解》 MATLAB,作为一种强大的数值计算和编程环境,不仅可以用于复杂的科学计算,还能用于开发各种有趣的交互式应用程序。本篇将详细讲解如何使用MATLAB来开发经典的游戏——...
《iOS游戏应用源代码——clawoo-Hangman-f89ebe8.zip》是一款基于iOS平台的游戏应用源代码,其主要围绕着经典的"挂人游戏"(Hangman)进行开发。通过分析这个项目的源代码,我们可以深入学习iOS应用开发的各种技术和...
【文件名称列表】虽然没有具体的文件内容,但"SJM-Dev-School-Hangman-main"可能包含项目的主要源代码文件,通常这些文件会以`.html`(HTML)、`.css`(CSS)和`.js`(JavaScript)扩展名存在。这些文件将协同工作,...
【文件名称列表】"moderately-harder-hangman-master" 暗示这是一个项目仓库的主分支,通常包含源代码、资源文件和其他相关组件。这个目录可能包含以下文件和子目录: 1. `index.html` - 主页面文件,包含游戏的...
Onm-Hangman-demo 方法 这个子手演示是一个快速的原型-旨在平衡周到的前端体系结构和开发速度。 JS构建是通过Gulp进行的-我正在利用Babel库来集成一些ES6语法。 CSS尚未进行预处理,而是手动添加-由于覆盖范围和时间...
【压缩包子文件的文件名称列表】"BILD-IT-Hangman-master" 这个文件名暗示这是一个Git仓库的克隆或导出,"master"通常指的是Git仓库的主要分支。这个目录可能包含了项目的源代码、资源文件、构建脚本和其他相关文档...
一个简单的Hang子手游戏IT-不定期使用JavaScript。 ZH-我第三次使用JS做的简单的子手游戏。Anteprima /屏幕截图:描述/说明: IT_ Nel gioco dell'impiccato occare indovinare una parola misteriosa scelta a caso...
【压缩包子文件的文件名称列表】"u03-hangman-master":这通常代表的是项目的主目录或源代码仓库。在解压后,其中可能包含HTML文件(用于呈现游戏界面)、CSS文件(用于样式设计)和JavaScript文件(包含游戏的主要...
【JavaScript实现猜词游戏——"js-hangman-starter"详解】 "js-hangman-starter"是一个基于JavaScript的猜词游戏项目,旨在帮助初学者理解JavaScript编程基础以及交互式网页开发。在这个项目中,玩家需要通过猜测...
CL-Hangman 是一个开源项目,它实现了一个经典的猜词游戏——吊死人的游戏。这个游戏的目标是在一个虚拟的“人”被完全挂起之前,通过猜测字母来揭示一个随机选择的单词。在这个过程中,每次不正确的猜测都会使“人...
Reach-Hangman是一款基于iOS平台的子手游戏应用,它采用了Swift编程语言进行开发。Swift是Apple为构建macOS、iOS、watchOS和tvOS应用而设计的一种现代化、高效的编程语言,具有语法简洁、类型安全和内存管理自动化的...
在这个名为“Basic-Hangman-Game”的项目中,我们将会探讨如何使用C语言来实现这一经典游戏。 首先,我们要理解C语言的基本结构。C语言是一种低级、过程式的编程语言,它的语法简洁明了,非常适合进行系统级编程和...
【标题】"Assignment-2-Hangman" 是一个基于C++编程语言的项目,它实现了一个经典的猜词游戏——“绞刑犯”(Hangman)。在这个游戏中,玩家需要通过猜测字母来逐步揭示一个隐藏的单词,同时有固定次数的错误尝试...
在`DM-hangman-buttons`中,CSS(可能在`styles.css`文件中)被用来设计按钮的外观、布局、颜色、字体等,以使游戏界面更具吸引力和易用性。 3. **JavaScript**: JavaScript是实现游戏逻辑的关键。它允许页面动态...
在"react-hangman-master"压缩包中,我们可以看到项目的标准目录结构,包括src目录下的components子目录,分别存放各个功能组件的源码。这种结构有利于代码的组织和维护,也符合现代前端开发的最佳实践。 总结,...
Joe-s-Python-Hangman 我的hngman游戏版本有些借用的图标和图像,我现在正在努力生成一个随机单词。 我还将尝试使用Javascript进行此游戏 我试图提交并推动回购添加一些单词只是为了保存更改
【PHP-Hangman-开源】项目是一个基于Web的猜词游戏,它采用了PHP编程语言作为后端处理逻辑,以及MySQL数据库来存储游戏相关的数据。这个开源项目为开发者提供了一个了解和学习PHP与MySQL结合开发Web应用的良好实例。...