人机大战之猜拳

Eilene ·
更新时间:2024-09-21
· 684 次阅读

问题描述:
//采用面向对象的方式,编写程序模拟人和电脑玩剪刀石头布的游戏。
//人通过输入方式确定是出“剪刀”或“石头”或者“布”,电脑通过随机方式出,
//在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(); } }

啥也不会,太烦了


作者:ZXJgogogo



猜拳

需要 登录 后方可回复, 如果你还没有账号请 注册新账号