例题4-2刽子手游戏
来源:互联网 发布:虚拟物品淘宝介入 编辑:程序博客网 时间:2024/05/21 10:16
题目:猜单词游戏, 游戏规则:计算机想一个单词让玩家猜,玩家每次可以猜一个字母。
如果单词里有那个字母,单词中的所有该字母都算猜对;如果没有那个字母,则猜错一次,最多只能错6次。
注意,猜一个已经猜过的字母也算错。输入给出正确单词和玩家的猜测,判断玩家赢、 输还是放弃。
每组数据包含3行,第1行是游戏编号(-1为输入结束标记),第2行是计算机想的单词,第3行是玩家的猜测。 后两行保证只含小写字母
分析
程序设计遵循两种常见顺序:自顶向下和自底向上 。
自顶向下:先写程序,再写细节,先写伪代码,在写实际程序
关键
- 自顶向下逐步求精
- 每次guess处理猜对的字母
将所有该字母改成空格
- 写程序流程
框架-桩
- 变量定义
代码如下
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#define max 110
int len , chance ;
char s[max] ,s2 [max];
int win , lose;
int main()
{
int rnd,i ;
while(scanf("%d %s %s",&rnd,s ,s2)==3&&rnd!=-1)
{
printf("Round %d\n",rnd);
win = lose = 0;
len = strlen(s);
chance = 7;
for(i = 0;i<strlen(s2);i++)
{
guess(s2[i]);
if(win||lose)
break;
}
if(win) printf("You win.\n");
else if(lose) printf("You lose.\n");
else printf("You chickened out.\n");
}
return 0;
}
void guess(char ch)//因为要返回的函数值太多 , 不如都定义为全局变量
{
int bad = 1 ,i ;
for(i = 0;i<strlen(s);i++)
{
if(s[i]==ch)
len--;
s[i] = ' ';//将猜对的字符改成空格
bad = 0;
}
if(bad)
--chance;
if(!chance)
lose = 1;
if(!len)
win = 1;
}
- 例题4-2 刽子手游戏
- 例题4-2刽子手游戏
- 例题4-2 刽子手游戏 UVa489
- 例题 4-2 刽子手游戏(Hangman Judge)
- 刽子手游戏
- 刽子手游戏
- 刽子手游戏
- 刽子手游戏
- 刽子手游戏
- 刽子手游戏
- 刽子手游戏
- 刽子手游戏
- 刽子手游戏
- 刽子手游戏
- uva-489 刽子手游戏
- UVa 489 刽子手游戏
- 刽子手游戏P79
- uva-489 刽子手游戏
- 1053: 【密码】
- Linux (x86) Exploit 开发系列教程之十一 Off-By-One 漏洞(基于堆)
- .Net分布式架构(一):Nginx实现负载均衡
- 共享单车算不算共享经济
- IntelliJ IDEA maven库下载依赖包速度慢的问题
- 例题4-2刽子手游戏
- 重置按钮事件
- linux0.11内存管理之page.s文件
- 常用的正则表达式整理
- 版本控制概述|VSS/CVS/SVN/Git比较|Windows下SVN搭建详细介绍
- centOS 7 安装java sdk 并测试是否安装成功
- chrome下遇到该网页已屏蔽插件adobe flash player的解决办法
- 贪心二分
- python 数据类型