Java 7.35 游戏:猜字游戏(C++&Java)
Ps:
有人可能好奇我为什么大费周章的去写主函数,而不直接把所有操作放在类中,Why?类就好比骨干(存放核心的数据和功能),最好提供接口, 避免了类中的输入输出,当然,这也不是绝对的。
C++:
#include<iostream>
#include<string>
#include<ctime>
using namespace std;
class GuessNumber {
public:
void Get();
int Guess(char);
string get_g_word() {
return g_word;
}
string get_word() {
return word;
}
int get_miss() {
return miss;
}
private:
int miss = 0;
string words[7] = { "write","that","important","transform","judge","index","run" };
string word;
string g_word;
};
void GuessNumber::Get() {
srand((unsigned int)time(0)); //随机数
word = words[rand() % 7 ]; //伪随机数?——跟运行时间有关
g_word=string(word.length(), '*');
}
int GuessNumber::Guess(char ch) {
if (word.find(ch) == string::npos) { //字母没有出现在单词中
miss++;
return 2;
}
if (g_word.find(ch) != string::npos) { //已猜过(出现在g_word中)
miss++;
return 1;
}
for (int i = 0; i < word.length(); i++) //猜中,修改g_word
if (word[i] == ch)
g_word[i] = ch;
return 0;
}
int main() {
char ch;
string str;
GuessNumber My;
int key;
while (1) {
My.Get();
while (My.get_g_word() != My.get_word()) {
cout << "(Guess) Enter a letter in word " << My.get_g_word() << " > ";
cin >> ch;
key = My.Guess(ch);
if (key == 2)
cout << " " << ch << " is not in the word" << endl;
else if (key == 1)
cout << " " << ch << " is already in the word" << endl;
}
cout << "The word is " << My.get_word() << ". You missed " << My.get_miss() << " time " << endl;
cout << "Do you want to guess another word? Enter y or n >";
cin >> str;
if (str == "n")
break;
system("cls"); //清屏
}
return 0;
}
Java:
请自己写。
Java 7.35 游戏:猜字游戏(C++&Java)的更多相关文章
- 猜字游戏java
一.实践目的 1.掌握基本输入输出. 2.掌握方法定义与调用,理解参数传递方式. 3.掌握数组的声明.定义与初始化,数组的处理. 4.掌握数组作为方法参数和返回值. 二.实践要求 利用方法.数组.基本 ...
- 044 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 06 使用do-while循环实现猜字游戏
044 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 06 使用do-while循环实现猜字游戏 本文知识点:do-while循环深入运用 案例练习 案例 ...
- Leetcode 299.猜字游戏
猜字游戏 你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜.每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为"Bulls&q ...
- 《Java语言程序设计》编程练习8.9(游戏:#字游戏)
8.9 (游戏:#字游戏)在并字游戏中,两个玩家使用各自的标志(一方用X则另一方就用O),轮流填写3x3的网格中的某个空格.当一个玩家在网格的水平方向.垂直方向或者对角线方向上出 现了三个相同的X或三 ...
- C - 一个C语言猜字游戏
下面是一个简陋的猜字游戏,玩了一会儿,发现自己打不过自己写的游戏,除非赢了就跑,最高分没有过1000. 说明:srand(time(NULL))和rand(),srand,time和rand都是函数, ...
- CASIO 5800P计算器游戏--猜数字游戏
CASIO 5800P 计算器游戏--猜数字游戏原代码 我编的计算器小游戏--猜数字游戏 LbI I↙ "xxGUESS NUMBERxx xPROGRAMMER:JCHx -------- ...
- 51 Nod 不一样的猜字游戏
1536 不一样的猜数游戏 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 瓦斯亚和皮台亚在玩一个简单的游戏.瓦 ...
- Java实现 LeetCode 299 猜数字游戏
299. 猜数字游戏 你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜.每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为"B ...
- 初识Java,猜字游戏
import java.util.*; public class caizi{ public static void main(String[] args){ Scanner in=new Scann ...
随机推荐
- 吴裕雄 22-MySQL 事务
MySQL 事务MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据 ...
- zxing全屏识别(v2.5.0崩溃问题记录)
自己遇到的问题:/** * Like {@link #getFramingRect} but coordinates are in terms of the preview frame, * not ...
- Java 中 synchronized的用法详解(四种用法)
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码.本文给大家介绍java中 synchronized的用法,对本文感兴趣的朋友一起看看吧 ...
- 1.3.1、CDH 搭建Hadoop在安装之前(端口---Cloudera Manager和Cloudera Navigator使用的端口)
下图概述了Cloudera Manager,Cloudera Navigator和Cloudera Management Service角色使用的一些端口: Cloudera Manager和Clou ...
- linux安装mysql5.1
一.卸载mysql 1.检测系统是否已经安装过mysql或其依赖,若已装过要先将其删除 # yum list installed | grep mysql mysql-libs.i686 ...
- mysql 在登陆的时候出现error 1045 (28000): 错误解决办法
错误显示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方案: 1.找到配 ...
- app.use
[app.use] app.use([path,] function [, function...]) Mounting a middleware at a path will cause the m ...
- tomcat中的类加载机制
Tomcat中的类加载机制符合JVM推荐的双亲委派模型,关于JVM的类加载机制不多说,网上很多资料. 1. Tomcat类加载器过程. tomcat启动初始化阶段创建几个类加载器: private v ...
- Sublime Text使用中的一些心得
Sublime Text3是每个web前端程序员的必备神器,其中有许多便利的功能及插件.下面列出一些在开发中比较实用的快捷操作,可以极大地提高代码的编写速度及效率. l 在文档中输入代码,即使忘记保 ...
- 使用SpirngMvc拦截器实现对登陆用户的身份验证
登陆成功则按returnUrl进行跳转,即跳转到登陆之前的页面,否则跳转到登陆页面,返回登陆错误信息. 1.SpringMVC.xml <!-- 映射器 --> <bean clas ...