Java面向对象之猜拳游戏

Java面向对象之猜拳游戏,供大家参考,具体内容如下

1 要求

与电脑进行猜拳并记录分数。

2 Computer.java 源代码(电脑自动随机出拳)

public class Computer {
    public void Fingers(int index) {
        String[] fingers = {"石头", "剪刀", "布"};
        System.out.println("电脑出拳:" + fingers[index]);
    }
}

3 Game.java 源代码(实现主要功能的类)

import java.util.Random;
import java.util.Scanner;

public class Game {
    public void initial(){
        //页面
        Scanner scanner = new Scanner(System.in);
        System.out.println("-------------------欢迎进入游戏界面-------------------");
        System.out.println();
        System.out.println("               ***********************");
        System.out.println("               *******猜拳,开始!******");
        System.out.println("               ***********************");
        System.out.println("出拳规则:0.石头 1.剪刀 2.布");

        //输入姓名
        System.out.print("请输入你的姓名:");
        String name = scanner.next();
        System.out.println(name+" VS 汶老板  对战");

        //判断是否开始
        System.out.print("要开始吗?(输入yes/no):");
        String b =scanner.next();
        int count = 0;
        int usercount=0;
        int computercount=0;
        while (b.equals("yes")){
            //统计对战次数
            count++;

            //玩家出拳
            System.out.print("请出拳 0.石头 1.剪刀 2.布(输入相对应的数字):");
            int a = scanner.nextInt();
            String [] fingers = {"石头","剪刀","布"};
            System.out.println("你出拳:"+fingers[a]);

            //电脑随机出拳
            Random random = new Random();
            int index = random.nextInt(3);
            Computer computer = new Computer();
            computer.Fingers(index);

            //判断输赢
            if ((a == 0 && index == 1)||(a == 1 && index == 2)||(a == 2 && index == 0)) {
                System.out.println("结果说:恭喜你,你赢得了!");
                usercount = usercount+1;
            }else if ((a == 0 && index == 2)||(a == 1 && index == 0)||(a == 2 && index == 1)){
                System.out.println("结果说:很抱歉,你输了!");
                computercount = computercount+1;
            }else{
                System.out.println("结果说:平局!");
            }

            //是否进行下一局
            System.out.print("是否继续进行下一局!(输入yes/no)");
            b = scanner.next();
        }

        //总结
        System.out.println("----------------------总结---------------------");
        System.out.println(name+" VS 汶老板");
        System.out.println("对战次数:"+count);
        System.out.println("姓名\t\t得分");
        System.out.println("汶老板\t"+computercount);
        System.out.println(name+"\t"+usercount);
        String i = computercount>usercount?"很遗憾,你输了本场比赛!":computercount<usercount?"恭喜你,你赢得了本场比赛!":"平局!";
        System.out.println(i);
    }
}

3 Client.java 源代码(测试类)

public class Client {
    public static void main(String[] args) {
        Game game  = new Game();
        game.initial();
    }
}

4 结果截图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java面向对象之人机猜拳小游戏

    人机猜拳小游戏,只要用到的java面向对象的思维模式.本游戏中有游戏玩家和计算机两个参与者.玩家和计算机都有的属性是姓名和得分.共分为4个类.下图是游侠小程序控制台截图:     以下是源代码: Computer.java类 package com.whf.guess.game; /** * @author :辰 * @version * 创建时间:2017年2月24日 上午8:38:29 * */ public class Computer { String name = "电脑";

  • Java面向对象基础,类,变量,方法

    一.面向对象的4个基本特征 抽象性.封装性.继承性和多态性. 抽象性分为过程抽象和数据抽象. 封装性 封装将数据以及加在这些数据上的操作组织在一起,成为有独立意义的构件.外部无法直接访问封装的数据,从而保证了这些数据的正确性. 如果外部需要访问类里面的数据,就必须通过接口.接口规定了可对一个特定的对象发出哪些请求. 继承性 继承是一种联结的层次模型,并允许和鼓励类的重用,它提供给了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始

  • Java面向对象三大特性及多态解析

    大家好,本文将会给大家带来Java多态. 以上就是本次学习的6大任务.我们依次来看. 1 Object类 Object类是所有Java类的根基类. 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类. class Person{ } 等价于 class Person extends Object{ } 1.对象的实例化过程 实例化一个类是从最顶级的超类开始实例化的, 是一层一层的包裹结构. "先父类后子类,先静态后成员". ⑴toString方法 toSt

  • Java基础之面向对象机制(多态、继承)底层实现

    一.Java的前世 为什么会产生Java?Java的特点是什么? 从C语言开始讲,C语言是一种结构化语言,模块化编程,便于程序的调试,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件.其缺点就是封装性弱,程序的安全性上不是很好.C语言的异常处理一般使用setjmp()与longjmp(),在捕获到异常时进行跳转:或者使用abort()和exit()两个函数,强行终止程序的运

  • 彻底搞懂Java多线程(五)

    目录 单例模式与多线程 立即加载/饿汉模式 延时加载/懒汉模式 饿汉/懒汉对比 阻塞队列的实现 常见的锁策略 乐观锁 CAS CAS在java中的应用 CAS 的ABA问题 ABA 问题的解决 悲观锁 独占锁.共享锁.自旋锁.可重入锁 详解synchronized锁的优化问题 Semaphore Semaphore的作用: Semaphore实现原理: Semaphore的使用: CountDownLatch\CyclicBarrier CountDownLatch CountDownLatch

  • Java面向对象之猜拳游戏

    Java面向对象之猜拳游戏,供大家参考,具体内容如下 1 要求 与电脑进行猜拳并记录分数. 2 Computer.java 源代码(电脑自动随机出拳) public class Computer { public void Fingers(int index) { String[] fingers = {"石头", "剪刀", "布"}; System.out.println("电脑出拳:" + fingers[index])

  • Java实现人机猜拳游戏

    本文实例为大家分享了Java实现人机猜拳游戏的具体代码,供大家参考,具体内容如下 实现: User类 public class User { private String name; private int score=0; private int num; public String GetName() { return this.name; } public void SetName(String name) { this.name=name; } public int GetScore()

  • Java实现简单猜拳游戏

    本文实例为大家分享了Java实现简单猜拳游戏的具体代码,供大家参考,具体内容如下 看网上的猜拳游戏那么多,但都是用switch输入数字,所以用if嵌套,写一个简单的猜拳游戏 package Game; import java.util.Scanner; import java.util.Random;//生成随机数,利用switch生成随机的石头,剪刀或者布 public class CaiQuan { public static void main(String[] args) { while

  • 基于java实现人机猜拳游戏

    本文实例为大家分享了java实现人机猜拳游戏的具体代码,供大家参考,具体内容如下 完成人机猜拳互动游戏的开发,用户通过控制台输入实现出拳,电脑通过程序中的随机数实现出拳,每一局结束后都要输出结果.当用户输入n时停止游戏,并输出总结果.效果如图1-1所示. 图1-1人机猜拳游戏 实现思路 图1-2该项目的类图 (1) 创建出用户类. 定义用户类Customer,定义类的属性(name.score)和类的方法showFist(). 请思考getFist()中的switch语句该如何书写. (2) 创

  • Java控制台实现猜拳游戏

    本文实例为大家分享了Java控制台实现猜拳游戏的具体代码,供大家参考,具体内容如下 1.目标 通过控制台实现一个人机对战的猜拳游戏,用户通过输入(1.剪刀 2.石头 3.布),机器随机生成(1.剪刀 2.石头 3.布),胜者积分,n 局以后通过积分的多少判定胜负. 2.源码 根据目标的要求,可以大概知道,我们需要的类有: ①一个用户类User,用于获得和存储用户的出拳: ②一个机器人的类Robot,用于随机生成机器人的出拳: ③一个Game类,是存放核心代码的类,用户和机器人的出拳在这里进行对比

  • Java控制台实现猜拳游戏小游戏

    本文实例为大家分享了Java猜拳游戏的具体代码,供大家参考,具体内容如下 先来看一下效果图: 首先我们创建一个Person类,这个类有name和score两个属性,有play这个方法,源代码如下: package com.samoy; public class Person { public String name; public int score; public Person(String name, int score) { this.name = name; this.score = s

  • Java开发实现猜拳游戏

    本文实例为大家分享了Java实现猜拳游戏的具体代码,供大家参考,具体内容如下 一.问题简介 通过控制台方式实现一个人机对战的猜拳游戏,用户通过输 入(1.剪刀2.石头3.布),机器随机生成(1.剪刀2.石头3.布),胜者积分,3局以后通过积分的多少判定胜负. 二.代码逻辑简介 1.向用户解释比赛规则: 2.接收用户输入的内容并判断用户输入的内容是否符合要求,如果不符合,重新输入. 3.电脑自动生成数字: 4.根据电脑和用户输入的内容,进行比较二者的胜负 5.让用户连续进行多场比赛,直到一方达到3

  • Java开发实现人机猜拳游戏

    本文实例为大家分享了Java开发实现人机猜拳游戏的具体代码,供大家参考,具体内容如下 猜拳游戏 游戏规则:人和电分别出剪刀.石头.布,直到人战胜电脑,游戏结束. 整体分析: 1.总体是一个循环 ->>>(while循环终止条件是人战胜电脑,break:) 2.人的出拳数字从键盘获得 ->>>(Scanner) 3.电脑的出拳数字随机产生范围是(1,2,3)->>>Math.random() 4.出拳的数字转换为文字 ->>>switc

  • java实现猜拳游戏试题

    本文实例为大家分享了java实现猜拳游戏的具体代码,供大家参考,具体内容如下 试题描述 通过控制台方式实现一个人机对战的猜拳游戏,用户通过输 入(1.剪刀 2.石头 3.布),机器随机生成(1.剪刀 2.石头 3.布),胜者积分,n 局以后通过积分的多少判定胜负. 使用面向对象编程思想实现一个猜拳游戏,以下代码仅供参考! 思路 (1)首先需要明确的对象有哪些,玩家以及机器,和游戏规则: (2)玩家需要出拳,机器随机出拳,游戏规则就是判断输赢和积分的多少,并显示最后的结果. 1.定义一个玩家类pl

随机推荐