看到网上的一篇程序员写给老婆的程序,看到里面大量的中文,突发奇想,也想写一个这样的程序,于是就萌生了写猜谜游戏的想法。代码中尽可能多的使用了中文。具体代码如下:
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.lang.System;
import java.lang.Math;
class 猜谜游戏
{
String 谜题题目;
String 谜题答案;
//public 猜谜游戏(){}
public String 获取谜题答案()
{
return 谜题答案;
}
public String 获取谜题题目()
{
return 谜题题目;
}
public void 设置谜题题目(String 谜题题目)
{
this.谜题题目=谜题题目;
}
public void 设置谜题答案(String 谜题答案)
{
this.谜题答案=谜题答案;
}
}
public class 开始游戏
{
public static final String[] 谜题题目={"什么人一年只工作一次?",
"这个东西是你自己的,但别人用得多,你用得少?",
"什么东西有四条腿却不能走路?",
"有一个问题,不论你问到任何人,答案都是“没有”,请问那是什么?",
"一个警察有个弟弟,但弟弟却否认有个哥哥,为什么?",
"为什么小明总喜欢旧东西?",
"小明住的是楼房,为什么每次出门还要上楼呢?",
"为什么流氓坐车不用给钱?",
"什么书既没有作者也从来没有人看得懂?",
"一头公牛加一头母牛,猜三个字"};
public static final String[] 谜题答案={"圣诞老人","名字","桌子",
"你睡了没有?","因为那警察是女的","小明是个古董收藏家",
"小明住的是地下室","流氓坐的是警车","天书","两头牛"};
public static void main(String[] args)throws Exception
{
猜谜游戏 猜谜=new 猜谜游戏();
while(true)
{
int 随机数=(int)(Math.random()*10);
猜谜.设置谜题答案(谜题答案[随机数]);
猜谜.设置谜题题目(谜题题目[随机数]);
System.out.println(猜谜.获取谜题题目());
InputStreamReader 读取谜题 = new InputStreamReader(System.in);
BufferedReader 转化谜题= new BufferedReader(读取谜题);
String 谜题 = 转化谜题.readLine();
if(谜题.equals(猜谜.获取谜题答案()))
System.out.println("恭喜你答对了");
else
{
System.out.println("很遗憾你打错了"
+"\n显示正确答案吗?"
+\n显示请按Y,继续猜题请按N");
InputStreamReader 继续猜题 = new InputStreamReader(System.in);
BufferedReader 转化继续= new BufferedReader(继续猜题);
String 继续否 = 转化继续.readLine();
if(继续否.equals("Y")||继续否.equals("y"))
System.out.println("正确答案是:"+猜谜.获取谜题答案());
else if(继续否.equals("N")||继续否.equals("n"))
{
while(true)
{
System.out.println("请输入你的答案:");
InputStreamReader 重输答案 = new InputStreamReader(System.in);
BufferedReader 转化重输= new BufferedReader(重输答案);
String 重输 = 转化重输.readLine();
if(重输.equals(猜谜.获取谜题答案()))
{
System.out.println("恭喜你答对了");
break;
}
else
System.out.println("非常遗憾,你又打错了");
}
}
}
System.out.println("继续游戏请按Y,结束游戏请按N");
InputStreamReader 是否结束 = new InputStreamReader(System.in);
BufferedReader 转化结束= new BufferedReader(是否结束);
String 结束 = 转化结束.readLine();
if(结束.equals("Y")||结束.equals("y"))
;//空语句,不做处理
else if(结束.equals("N")||结束.equals("n"))
System.exit(1);
else
{
while(true)
{
System.out.println("参数输入错误,请重输");
InputStreamReader 错误输入 = new InputStreamReader(System.in);
BufferedReader 转化错误= new BufferedReader(错误输入);
String 重输 = 转化错误.readLine();
if(重输.equals("Y")||重输.equals("y"))
System.exit(1);
else if(重输.equals("N")||重输.equals("n"))
break;
}
}
}
}
}