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

人机猜拳小游戏,只要用到的java面向对象的思维模式。本游戏中有游戏玩家和计算机两个参与者。玩家和计算机都有的属性是姓名和得分。共分为4个类。下图是游侠小程序控制台截图:

 
 

以下是源代码:

Computer.java类

package com.whf.guess.game;
/**
 * @author :辰
 * @version
 * 创建时间:2017年2月24日 上午8:38:29
 *
 */
public class Computer {

  String name = "电脑";//名字
  int score = 0;//积分

  public int showFist() {
    //产生随机数

    int show = (int) ((Math.random()*10)%3+1); // 产生随机数,表示电脑出拳

    //输出出拳结果并返回
    switch (show) {
    case 1:
      System.out.println(name+"你出拳:剪刀");
      break;
    case 2:
      System.out.println(name+"你出拳:石头");
      break;
    case 3:
      System.out.println(name+"你出拳:布");
      break;
    }

    return show;
  }

}

Person.java 类

package com.whf.guess.game;

import java.util.Scanner;

/**
 * @author :辰
 * @version
 * 创建时间:2017年2月24日 上午8:45:41
 *
 */
public class Person {

  String name = "匿名"; //名字
  int score = 0;   //积分  

  public int showFist(){
    //接收用户的选择
    Scanner input = new Scanner(System.in);
    System.out.println("\n请出拳:1.剪刀 2.石头  3.布");
    int show = input.nextInt();
    //输出出拳结果,并且返回
    switch (show) {
    case 1:
      System.out.println(name+"你出拳:剪刀");
      break;
    case 2:
      System.out.println(name+"你出拳:石头");
      break;
    case 3:
      System.out.println(name+"你出拳:布");
      break;
    }
    return show;
  }

}

Game.java类。包含游戏的比赛核心代码

package com.whf.guess.game;

import java.util.Scanner;

/**
 * @author :辰
 * @version
 * 创建时间:2017年2月24日 上午8:37:06
 *
 */
public class Game<computer> {

  Person person ; //甲方

  Computer computer;// 乙方

  int count;// 对战次数

  public void inital(){
    person = new Person();
    computer = new Computer();
    count = 0;
  }
  //开始游戏
  public void startGame(){
    System.err.println("-------------欢迎进入猜拳游戏---------------");
    System.out.println();
    System.out.println("******************************************");
    System.out.println("——————出拳规则:1.剪刀  2.石头  3.布——————————");
    System.out.println("-------------》》》猜拳开始《《《------------");
    System.err.println("-------------------------------------------");
    Scanner input = new Scanner(System.in);
    String exit="n";//退出系统
    do {
      inital();//初始化
      //选择对手
      System.out.println("选择你的对手1.马云   2.马化腾   3.马大姐  ");
      int role = input.nextInt();
      if (role ==1) {
        computer.name="马云";
      }else if (role == 2) {
        computer.name="马化腾";
      }else if (role == 3) {
        computer.name="马大姐";
      }

      //游戏玩家输入姓名
      System.out.println("请输入你的姓名:");
      person.name=input.next();
      System.out.println(person.name+"  VS  "+computer.name+"对战\n");
      //开始游戏
      System.out.println("要开始吗?(y/n)");
      //开始一局游戏
      String start = input.next();
      int perFist;//游戏用户出拳
      int comFist;//计算机出拳
      while (start.equals("y")) {
        //出拳
        perFist = person.showFist();
        comFist = computer.showFist();
        //判断胜负
        if ((perFist==1&&comFist==1)||(perFist==2&&comFist==2)||(perFist==3&&comFist==3)) {
          System.err.println("结果:和局,真衰!\n");//平局
        }else if ((perFist==2&&comFist==1)||(perFist==3&&comFist==2)||(perFist==1&&comFist==3)) {
          System.err.println("结果:你赢了,真帅!\n");//胜利
          person.score++;
        }else {
          System.err.println("结果是:^_^,你输了,下载再战!\n");//计算机赢
          computer.score++;
        }
        count++;
        System.out.println("是否进行下一轮(y/n)");
        start = input.next();

      }
      //显示结果
      showResult();
      System.out.println("\n要开始下一局吗?(y/n):");
      exit = input.next();
      System.out.println();

    } while (!exit.equals("n"));

    System.out.println("系统退出");
  }
  private void showResult() {
    // TODO Auto-generated method stub
    //显示对战次数
    System.out.println("------------------------------");
    System.out.println(computer.name+"  VS  "+person.name);
    System.out.println("对战次数:"+count);
    //显示最终得分
    System.out.println("\n姓名\t得分");
    System.out.println(person.name+"\t"+person.score);
    System.out.println(computer.name+"\t"+computer.score+"\n");

    //显示对战结果
    int result = calcResult();
    if (result==1) {
      System.err.println("结果:打成平手,下次再和你一分高下");
    }else if (result==2) {
      System.err.println("结果:恭喜恭喜你赢得比赛");
    }else
    {
      System.err.println("结果:不气馁,下次再来");//计算机赢
    }
    System.out.println("--------------------------");

  }

  //计算比赛结果
  private int calcResult() {
    // TODO Auto-generated method stub
    if (person.score == computer.score) {
      return 1;//战平
    }else if (person.score > computer.score) {
      return 2;//游戏玩家赢
    }else {
      return 3;//惜败
    }
  }

}

StartGuess.java类

package com.whf.guess.game;
/**
 * @author :辰
 * @version
 * 创建时间:2017年2月24日 上午9:35:36
 *
 */
public class StartGuess {
  public static void main(String[] args) {
    Game game = new Game();

    game.inital();

    game.startGame();
  }

}

以上就是完整的人机猜拳java面向对象的小游戏源码.

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

(0)

相关推荐

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

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

  • 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利用多线程和Socket实现猜拳游戏

    本文实例为大家分享了利用多线程和Socket实现猜拳游戏的具体代码,供大家参考,具体内容如下 实例:猜拳游戏 猜拳游戏是指小时候玩的石头.剪刀.布的游戏.客户端与服务器的"较量",服务器会自动随机产生出石头.剪刀或者布,客户端则由用户输入石头.剪刀.布之一,然后服务器通过比较告知比较结果.比如,客户端出石头,而服务器出的是剪刀,那么,服务器就会告知客户端,用户赢了.猜拳游戏也要制作一个多线程的程序,让多个客户端能够共同参与游戏.在该程序中,要包括猜拳的业务逻辑的线程类.客户端类.服务器

  • 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.总体是一个循环 ->>>(while循环终止条件是人战胜电脑,break:) 2.人的出拳数字从键盘获得 ->>>(Scanner) 3.电脑的出拳数字随机产生范围是(1,2,3)->>>Math.random() 4.出拳的数字转换为文字 ->>>switc

  • Java开发实现猜拳游戏

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

  • 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实现猜拳游戏的具体代码,供大家参考,具体内容如下 package com.farsight.session7; import java.util.Scanner; /** * 根据输入的数字,判断数组strs的值 然后进行逻辑判断 */ public class 猜拳 { public static void main(String[] args) { String[] strs = { "石头", "剪刀", "布"

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

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

  • python实现人机猜拳小游戏

    今天的这篇文章呢是对人机猜拳小游戏--石头剪刀布的一个描述以及代码展现 石头剪刀布游戏代码的简介:关于石头剪刀布这个小游戏,大致得到思路就是,玩家出一个手势,然后电脑再随机出一个手势,最后再判断是玩家获胜还是电脑获胜.最简单的思路就是将这三个手势是三个代号来表示,然后再去判断代号之间的关系,最后输出胜方. 最一般情况下,最先想到的就是使用1.2.3数字来对三个手势进行代号化,然后再通过代号的大小去判断,如下是对这个方式的简述: 石头   代号   用1来表示 剪刀   代号   用2来表示 布

  • Java实现人机猜拳小游戏

    本文实例完成人机猜拳互动游戏的开发,供大家参考,具体内容如下 阶段一:实验--分析业务,创建用户类 1.分析业务,抽象出类.类的特征和行为 2.创建出用户类 阶段二:实验--创建出计算机类 1.创建计算机类Computer.实现计算机出拳 2.产生一个1-3的随机数,模拟计算机的出拳结果 阶段三:实验--创建游戏类,选择对战对手 1.创建游戏类Game 2.编写游戏类的初始化方法initial() 3.编写游戏类的开始游戏方法startGame() 阶段四:实验--实现一局对战 分别调用用户类和

  • java项目实现猜拳小游戏

    本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下 项目名称 猜拳小游戏 项目描述 玩家与电脑进行猜拳游戏,玩家行为采用输入方式,电脑行为采用随机形式. 代码实现 测试类 public class Test { public static void main(String[] args) { Game game = new Game(); game.start(); } } 主类:实现主方法 public class Game { private People peo

  • 使用java实现猜拳小游戏

    本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下 实现下图要求 public class User { private String u_name; private int u_score; public User() { super(); } public User(String name, int score) { super(); this.u_name = name; this.u_score = score; } public String getName

  • java实现简单猜拳小游戏

    本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下 User.java import java.util.Scanner; public class User { String name; int score; public int showFist(){ System.out.println ("请出拳:1.剪刀\t2.石头\t3.布"); Scanner input=new Scanner ( System.in ); int choice=input.

  • Java基于面向对象实现一个战士小游戏

    目录 一.思路 二.代码实现 设计一个游戏系统,在该系统当中拥有战士 Soldier 角色:,每个角色拥有自己的名字 name .等级 level.生命力 hp ,攻击力 atk.防御力 def:,战士都有普通攻击行为 attack,其实现为根据自己的攻击力减去 被攻击对象的防御力 从而得到对方的失血量:,请设计这个系统中有哪些类,分别有什么属性和行为,有什么关联关系,并在main方法中调用查看效果. 一.思路 首先,我们知道在系统中有个战士的角色叫Soldier,Soldier角色拥有自己的名

  • 最常见的猜拳小游戏Android代码实现

    本文实例为大家分享了Android猜拳小游戏,供大家参考,具体内容如下 简单的 页面跳转 和 点击事件 的实现... --> AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.drag

  • python实现猜拳小游戏

    用python实现猜拳小游戏,供大家参考,具体内容如下 本练习旨在养成良好的编码习惯和练习逻辑思考. 1.使用python版本: 3.7.3: 2.代码内容实现如下 #!/usr/bin/env python # -*- coding: utf-8 -*- """ 简单实现猜拳小游戏,默认每回合 五局 Version: 0.1 Author: smartbabble Date: 2018-03-12 """ from random import

随机推荐