刽子手游戏(UVa489)

  题目具体描述见:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=430

C++11代码如下:

 1 #include<iostream>
 2 #include<string.h>
 3 using namespace std;
 4 char ans[100], test[100];
 5
 6 int main() {
 7     int rnd;
 8     while ((cin>>rnd>>ans>>test)&&rnd!=-1) {
 9         cout << "Round " << rnd << endl;
10         int chance = 7;
11         int left_ch = strlen(ans);
12         for (int i = 0; i < strlen(test); i++) {
13             bool bad = true;
14             for (int j = 0; j < strlen(ans); j++) {
15                 if (ans[j] == test[i]) {
16                     ans[j] = ‘ ‘;
17                     left_ch--;
18                     bad=false;
19                 }
20             }
21             if (bad) --chance;
22             if (!(left_ch && chance)) break;
23         }
24         if (!left_ch) cout << "You win."<<endl;
25         else if (!chance) cout << "You lose."<<endl;
26         else cout << "You chickened out."<<endl;
27     }
28     return 0;
29 }

原文地址:https://www.cnblogs.com/pgzhang/p/9259673.html

时间: 2024-11-05 20:35:19

刽子手游戏(UVa489)的相关文章

uva-489 刽子手游戏

[刽子手游戏]规则如下: 计算机想一个单词让你猜,你每次可以猜一个字母,如果单词里有这个字母,所有该字母都会显示出来: 如果没有那个字母,计算机将会在一幅"刽子手"画上面画上一笔,这幅画只需要7笔就能完成, 所以你最多只能猜错6次,不然就输定了! 注意:猜一个已经猜过的字母也算猜错. 这个题是要求我们写一个裁判程序.多组输入,每组输入有三行,第一行是1个数,第二行是计算机给出的单词,第三行是玩家的猜测. 代码如下: #include<cstdio> #include<

UVa 489,紫书P79,刽子手游戏

题目链接:https://uva.onlinejudge.org/external/4/489.pdf 这个题很像之前的一个拓扑排序的题目,思路类似咯. 程序模块化: 每次判断一个字母,lose,win确定就直接退出. 小技巧: 你可以用数组guess[]记录每个字母是否访问过.要是已经访问过,counts++,算是一种错误. 这里汝佳的小技巧是,每次把相同的字符赋值为‘ ’,记录一下str1的长度,查完str1就win.否则就是You chickened out. #include <stdi

动手玩转Scratch2.0编程pdf

下载地址:网盘下载 内容简介 编辑 Scratch 是可视化的编程语言,其丰富的学习环境适合所有年龄阶段的人.利用它可以制作交互式程序.富媒体项目,包括动画故事.读书报告.科学实验.游戏和模拟程序等.<动手玩转Scratch2.0编程-STEAM创新教育指南>的目标是将Scratch 作为工具,教会读者最基本的编程概念,同时揭示Scratch 在教学上的强大能力. <动手玩转Scratch2.0编程-STEAM创新教育指南>共分9 章,前三章讲解如何使用Scratch 绘制几何图形

例题3-5,例题4-2,例题4-3

例题3-5生成元 1 #include <stdio.h> 2 #include <string.h> 3 #define maxn 100005 4 int ans[maxn]; 5 6 int main() { 7 int T, n; 8 memset(ans, 0, sizeof(ans)); 9 for (int m = 1; m < maxn; m++) { 10 int x = m, y = m; 11 while (x > 0) { 12 y += x %

递归 段错误 习题

段错误 递归里面算阶乘 f(10000000)没有输出,使用gdb 显示 SIGSEGV--段错误 编译后产生的可执行文件里面保存着什么? UNIX/Linux 用 ELF DOS下用COFF Windows用PE(COFF扩充而得) 段(segmentation) 二进制文件内的区域. 可用size程序得到可执行文件中的各个段的大小 Text Segment--正文段--储存指令 Data Segment--数据段--储存已初始化的变量 BSS Segment--BSS段--未赋值的全局变量

花了一天读了《游戏设计快乐之道》

关于大脑及学习 一个弹了二十年吉他的人,可以很快学会其他乐器.这其中的关键不是肌肉记忆,因为肌肉没有记忆,而是神经.而是大脑.游戏的作用,也就在此显明了 你应当去玩你不喜欢的游戏,以及那些不吸引你的游戏.如此才能弥补自己的缺点 成功游戏的关键 一个拥有这些元素的游戏,堪称好游戏. 准备-如,战前疗伤 空间感-比如,象棋的棋盘.桥牌的座次 坚固的核心机制-比如,象棋,一次移动一枚棋子 一系列挑战-但挑战不可改变规则 解决问题的能力(给玩家多重选择) 运用能力所需的技能-诸如:资源管理.时间控制.敏

在线捉鬼游戏开发之二 - 设计业务对象与对象职责划分(3)

“回忆总是残酷的”——在“设计业务对象与对象职责划分(2)”中,对旧版本的代码进行了剖析,也发现了不少臭味道,本篇将记录我是如何建设新版的业务对象职责划分. 一.复习设计模式 当初自学设计模式的路径是:从<大话设计模式>开始(做了笔记),到Gof的<设计模式>,再到辛勤网友们的各篇总结日志(只看C#的可能会有些局限~).此后,每当我有需要更新代码的时候,或者觉得不太记得清23种经典设计模式的时候,我就会回翻我的笔记,主要看:模式目的.应用场景,以最快速度在脑子里回放.在复习的同时,

游戏练手

游戏 战船——创建两块游戏面板,玩家各占一边,在上面放置一些战船,玩家看不到对方的面板.每艘船都占几个格子,玩家轮流攻击某个格子,如果格子上有船,那就命中目标,否则就是未命中.当一艘船所占的所有格子都被攻击命中了,那么船就被击沉.谁先将对方战船全部击沉就获胜. 象棋跳棋——象棋或者跳棋游戏.可以试着做成可以联网玩,用图形用户界面来实现悔棋.保存走棋过程并且可以回放. 刽子手——从文件中随机选择一个单词,让玩家猜单词中的字母.旁边是一幅隐藏的行绞刑的画,猜错一个单词,画就显示出一部分.画全部显示出

20170913自制猜数字游戏

/* 猜数字:系统随机生成一个四位数,请根据下列判断猜出来 A:数值正确,位置正确 B:数值正确,位置不正确 C:数值不正确 */ #include<stdio.h> #include<time.h> #include<stdlib.h> #pragma warning (disable:4996) #define pUCharHead unsigned char * //以数组形式返回n个无重复的随机数,范围可指定[min,max] pUCharHead GenNoR