哈哈,一个我怎么都没做出来的猜拳游戏,分享大神成果
2016-11-14 08:43
351 查看
import java.util.Scanner;
public class Game {
Person person ; // 甲方
Computer computer ; // 乙方“
int count ; // 对战次数
//游戏初始化
public void initial()
{
this.person = new Person();
this.computer = new Computer();
this.count = 0;
}
//开始游戏:选择电脑角色
public void startGame() {
Scanner scanner = new Scanner(System.in);
System.out.println("---------------------------欢迎进入游戏世界--------------------------------\n\n");
System.out.println("\t\t*********************");
System.out.println("\t\t******猜拳开始*******");
System.out.println("\t\t*********************\n\n");
System.out.println("出拳规则:1.石头 2.剪刀 3.布");
System.out.print("请输入你的姓名:");
person.name = scanner.next();
int i = 0;
do{
System.out.print("请选择对方角色(1:刘备 2:孙权 3:曹操):");
i = scanner.nextInt();
switch (i) {
case 1:
System.out.println("你选择了刘备对战");
this.computer.name = "刘备";
break;
case 2:
System.out.println("你选择了孙权对战");
this.computer.name = "刘备";
break;
case 3:
System.out.println("你选择了曹操对战");
this.computer.name = "曹操";
break;
default:
System.out.println("输入错误,重新选择");
break;
}
}while( i <1 | i > 3);
System.out.print("要开始吗?(y/n):");
String con = scanner.next();
//开始游戏:玩家和电脑出拳比较
do {
System.out.println("--------------------------------------------------------");
System.out.println(computer.name + " VS " + person.name);
int perFist;
int compFist;
if (con.equals("y") | con.equals("Y")) {
perFist = person.showFist();
compFist = computer.showFist();
if (perFist == compFist) {
System.out.println("结果:和局,真衰!");
}else if((perFist == 1 && compFist == 2) || (perFist == 2 && compFist== 3) || (perFist == 3 && compFist == 1))
{
person.score++;
System.out.println("结果: 恭喜, 你赢了!");
}else {
System.out.println("结果: 你输了,真笨!");
computer.score++;
}
}
System.out.print("是否继续下一轮?(y/n):");
con = scanner.next();
this.count++;
} while (con.equals("y") | con.equals("Y"));
this.showResult();
}
//显示对战结果
public void showResult()
{
System.out.println("--------------------------------------");
System.out.println(computer.name + " VS " + person.name);
System.out.println("对战次数:"+ count);
int result = calcResult();
if(result == 1){
System.out.println("结果:打成平手,下次再和你一分高下!");
}else if(result == 2){
System.out.println("结果:恭喜恭喜!"); //用户获胜
}else{
System.out.println("结果:呵呵,笨笨,下次加油啊!"); //计算机获胜
}
System.out.println("---------------------------------------");
}
//返回对战积分结果 1代表打平 2代表玩家胜 0代表电脑胜
public int calcResult()
{
if (person.score == computer.score) {
return 1;
}else if(person.score > computer.score)
{
return 2;
}
return 0;
}
}
public class Game {
Person person ; // 甲方
Computer computer ; // 乙方“
int count ; // 对战次数
//游戏初始化
public void initial()
{
this.person = new Person();
this.computer = new Computer();
this.count = 0;
}
//开始游戏:选择电脑角色
public void startGame() {
Scanner scanner = new Scanner(System.in);
System.out.println("---------------------------欢迎进入游戏世界--------------------------------\n\n");
System.out.println("\t\t*********************");
System.out.println("\t\t******猜拳开始*******");
System.out.println("\t\t*********************\n\n");
System.out.println("出拳规则:1.石头 2.剪刀 3.布");
System.out.print("请输入你的姓名:");
person.name = scanner.next();
int i = 0;
do{
System.out.print("请选择对方角色(1:刘备 2:孙权 3:曹操):");
i = scanner.nextInt();
switch (i) {
case 1:
System.out.println("你选择了刘备对战");
this.computer.name = "刘备";
break;
case 2:
System.out.println("你选择了孙权对战");
this.computer.name = "刘备";
break;
case 3:
System.out.println("你选择了曹操对战");
this.computer.name = "曹操";
break;
default:
System.out.println("输入错误,重新选择");
break;
}
}while( i <1 | i > 3);
System.out.print("要开始吗?(y/n):");
String con = scanner.next();
//开始游戏:玩家和电脑出拳比较
do {
System.out.println("--------------------------------------------------------");
System.out.println(computer.name + " VS " + person.name);
int perFist;
int compFist;
if (con.equals("y") | con.equals("Y")) {
perFist = person.showFist();
compFist = computer.showFist();
if (perFist == compFist) {
System.out.println("结果:和局,真衰!");
}else if((perFist == 1 && compFist == 2) || (perFist == 2 && compFist== 3) || (perFist == 3 && compFist == 1))
{
person.score++;
System.out.println("结果: 恭喜, 你赢了!");
}else {
System.out.println("结果: 你输了,真笨!");
computer.score++;
}
}
System.out.print("是否继续下一轮?(y/n):");
con = scanner.next();
this.count++;
} while (con.equals("y") | con.equals("Y"));
this.showResult();
}
//显示对战结果
public void showResult()
{
System.out.println("--------------------------------------");
System.out.println(computer.name + " VS " + person.name);
System.out.println("对战次数:"+ count);
int result = calcResult();
if(result == 1){
System.out.println("结果:打成平手,下次再和你一分高下!");
}else if(result == 2){
System.out.println("结果:恭喜恭喜!"); //用户获胜
}else{
System.out.println("结果:呵呵,笨笨,下次加油啊!"); //计算机获胜
}
System.out.println("---------------------------------------");
}
//返回对战积分结果 1代表打平 2代表玩家胜 0代表电脑胜
public int calcResult()
{
if (person.score == computer.score) {
return 1;
}else if(person.score > computer.score)
{
return 2;
}
return 0;
}
}
相关文章推荐
- Fragment 访问本地服务器,有三个fragment 这是其中一个的页面 三个fragmen都一样 因为我有一些朋友问这里面怎么写,索性就发表出来你们看下,大神勿喷。小学生作品!
- 用Qt写了一个qq客户端,采用webqq协议,发出来和大家分享一下---大神请无视
- 今天经理让写一个随机加密的密钥,把思路写出来,作为参考,如果那位在这方面有新的尝试,希望能与大家分享
- 怎么搞一个ORM出来用用呢???迷茫中
- 点一个Button让UIPickerView从下面弹出来是怎么做的?(UISheetView)
- select查询出来的某个值,怎么赋给一个变量呢?
- 请问各位大神 怎么把这个程序排序的次数输出来?
- 怎么用一个程序向另一个程序发送字符并让其显示出来
- 怎么让一个html文件在另一个html文件中适当的位置直接显示出来
- 根据业务需求写了一个继承的构造函数,分享出来
- 最近搭建HBase集群时遇到了一个问题,快把我逼疯啦,请各位大神帮我看看该怎么改啊!!!!!
- 一个项目的一个参数,如分页数,颜色等,不用Global 怎么可以只读一次数据库后所有的页面都可以用这次读出来的值呢
- 一年一次的平安夜和圣诞节,你们是怎么渡过的?写出来与我们分享一下吧!!!
- 今天同事给我介绍了一个免费打电话好东西,发出来与大家分享。
- 分享一个用WinPE怎么来清除你的XP管理员密码的方法
- 怎么搞一个ORM出来用用呢???迷茫中
- 刚发现了一个问题,关于vs2005 datagridview的,我发现在设计行标头的HeaderCell.Value的时候要是设置RowTemplate.Height 的值>= 17则行标头的那个黑三角就显示出来了,要是小于17就不能显示了,想问问大家,是怎么回事?
- 一个有关UE的漫画 – 我们的产品是怎么出来的?
- 分享一些经验,关于怎么创建一个unicode文本文件,并写入unicode文本(比如中文)
- 分享java程序设计中一个小程序:获取当前系统日期和时间在小程序中显示出来