人机大战之猜拳

问题描述:
//采用面向对象的方式,编写程序模拟人和电脑玩剪刀石头布的游戏。
//人通过输入方式确定是出“剪刀”或“石头”或者“布”,电脑通过随机方式出,
//在main方式里面模拟人和电脑出拳,并判断人和电脑谁胜出.

这道题其他人做的都比我复杂得多,虽然就做做图一乐,但对比之下就能看出基础不扎实,革命尚未成功,同志仍需努力!

//第一个类
import java.util.Scanner;
public class Person {

	//采用面向对象的方式,编写程序模拟人和电脑玩剪刀石头布的游戏。
	//人通过输入方式确定是出“剪刀”或“石头”或者“布”,电脑通过随机方式出,
	//在main方式里面模拟人和电脑出拳,并判断人和电脑谁胜出.
	public int move()//人输入出拳内容
	{
	    System.out.print("请出招:剪刀[1] 石头[2] 布[3]");
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		sc.close();
		return n;
	}
}
//第二个类
import java.util.Random;
public class Computer {
     public int move()//电脑随机输入内容
     {
    	 Random rm=new Random();
    	 System.out.print("电脑出:");
    	 int n=rm.nextInt(3)+1;
    	 switch(n)
    	 {
    	 case 1:System.out.println("剪刀");break;
    	 case 2:System.out.println("石头");break;
    	 case 3:System.out.println("布");break;
    	 }
    	 return n;
     }
}
//第三个类

public class Compete {
     private Person p;
     private Computer c;
     public void Start()
     {
    	 p=new Person();
    	 c=new Computer();//类的实例数组每一个都需要单独创建
    	 int pm=p.move();
    	 int cm=c.move();
    	 if(pm==cm)
    		 System.out.println("不分伯仲,平手!请双方选手到场下休息");
    	 else if(pm==1&&cm==3||pm==2&&cm==1||pm==3&&cm==2)
    		 System.out.println("人类选手技高一筹,最终凭借一招一阳指战胜电脑");
    	 else if(pm==2&&cm==1)
    		 System.out.println("人类选手技高一筹,最终凭借一招石破天惊拳战胜电脑");
    	 else if(pm==1&&cm==3||pm==2&&cm==1||pm==3&&cm==2)
    		 System.out.println("人类选手技高一筹,最终凭借一招从天而降的掌法战胜电脑");
    	 else
    	 System.out.println("智械生命迎来曙光!电脑选手赢得比赛的胜利");//属实想不出电脑的招式,主要是懒
    	 
     }
}
//主程序

public class Play {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
         Compete cp=new Compete();
         cp.Start();
	}

}

啥也不会,太烦了

发布了20 篇原创文章 · 获赞 1 · 访问量 198

猜你喜欢

转载自blog.csdn.net/weixin_45491054/article/details/104950779