java实现简单石头剪刀布游戏

本文实例为大家分享了java实现简单石头剪刀布游戏的具体代码,供大家参考,具体内容如下

问题描述

Alice, Bob和Cindy一起玩猜拳的游戏。和两个人的猜拳类似,每一轮,他们会从石头、剪刀、布中各自选一个出拳,基本的胜负规则是石头赢剪刀、剪刀赢布、布赢石头。如果一轮中正好可以分成胜负两边,则负边的每个人要支付给胜边的每个人一块钱。如果无法分成胜负两边,则都不出钱。比如,如果Alice出石头,而Bob和Cindy都出布,则Alice要分支付Bob和Cindy一块钱。再如,如果Alice出石头, Bob出剪刀, Cindy出布,则都不出钱。他们三人共进行了n轮游戏,请问最后每个人净赚多少钱?即赚的钱减去支付的钱是多少?

代码

package Ring1270.pra.java01;
import java.util.Scanner;
/**
 * finger-guessing game: * n:number of games * A: Person A's money * B: Person B's money * C: Person C's money * 0: Stand for stone * 1: Stand for Scissor * 2: Stand for cloth * rule1: Two persons give the same result means game over * Rule2: The money add 1 everytime which win * Rule3:The money less 1 everytime which fail * */public class D_FingerGuessingGame {
  public static void main(String[] args) {
    int A = 0;
    int B = 0;
    int C = 0;
    Scanner scanner = new Scanner(System.in);
    System.out.printf("The number of game:");
    int n = scanner.nextInt();
    StringBuffer stringBuffer = new StringBuffer();
    for (int i = 0; i <= n; i++) {
      String s = scanner.nextLine();
      char[] D = s.toCharArray();
      for (int j = 0; j < D.length; j++) {
        //A and B success
 if (D[0] == D[1] && D[0] != D[2]) {
          if ('0' == D[0] && '1' == D[2]) {
            A++;
            B++;
            C -= 2;
          }
          else if ('1' == D[0] && '2' == D[2]) {
            A++;
            B++;
            C -= 2;
          }
          else if ('2' == D[0] && '0' == D[2]) {
            A++;
            B++;
            C -= 2;
          }else {
            A--;
            B--;
            C += 2;
          }
        }
        // A and C success
 if (D[0] == D[2] && D[0] != D[1]) {
          if ('0' == D[0] && '1' == D[1]) {
            A++;
            B -= 2;
            C++;
          }
          else if ('1' == D[0] && '2' == D[1]) {
            A++;
            B -= 2;
            C++;
          }
          else if ('2' == D[0] && '0' == D[1]) {
            A++;
            B -= 2;
            C++;
          }else {
            A--;
            B += 2;
            C--;
          }
        }
        // C and B success
 if (D[1] == D[2] && D[1] != D[0]) {
          if ('0' == D[1] && '1' == D[0]) {
            A -= 2;
            B++;
            C++;
          }
          else if ('1' == D[1] && '2' == D[0]) {
            A -= 2;
            B++;
            C++;
          }
          else if ('2' == D[1] && '0' == D[0]) {
            A -= 2;
            B++;
            C++;
          }
          else {
            A += 2;
            B--;
            C--;
          }
        }
        break;
      }
    }
    System.out.println(A);
    System.out.println(B);
    System.out.println(C);
  }
}

运行截图

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

时间: 2021-02-23

Java实现石头剪刀布小游戏

本文实例为大家分享了Java实现石头剪刀布的具体代码,供大家参考,具体内容如下 代码: package com.neusoft.test; import java.awt.BorderLayout; import java.awt.Choice; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; im

Java实现的剪刀石头布游戏示例

本文实例讲述了Java实现的剪刀石头布游戏.分享给大家供大家参考,具体如下: ChoiceAnswer.java public class ChoiceAnswer { String texts[] = { "石头", "剪刀", "布" }; int value; // [1]石头\t[2]剪刀\t[3]布 String getText() { return texts[value - 1]; } ChoiceAnswer(int value)

JavaFX实现石头剪刀布小游戏

用JavaFX写一个石头剪刀布的小游戏,供大家参考,具体内容如下 课程上布置的作业,其实java很少用来写这种程序的 - GUI界面部分 - 石头剪刀布的逻辑部分 书上教的是JavaFX,其实还有很多方法,书上说AWT和Swing基本上淘汰了,但事实上- 代码 MyJavaFX.java package cn.homework; import javafx.application.Application; import javafx.event.ActionEvent; import javaf

Java实现石头剪刀布游戏

本文实例为大家分享了Java实现石头剪刀布游戏的具体代码,供大家参考,具体内容如下 题目: 用 JAVA 语言设计如下界面的石头剪刀布游戏.游戏的一方点击界面上石头.剪刀.布按钮,游戏的另一方计算机随机选择,然后给出游戏结果. Java: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; @SuppressWarning

ruby实现石头剪刀布游戏示例

ruby实现石头剪刀布游戏 复制代码 代码如下: #encoding: utf-8arr = ['石头', '剪刀', '布']win_arr = [['石头', '剪刀'], ['剪刀', '布'], ['布', '石头']]#随机computer的值,放入result数组中result = [arr.sample]while (true)  puts "请输入石头.剪刀.布"  input_value = gets.force_encoding("GBK").e

Java太阳系小游戏分析和源码详解

最近看了面向对象的一些知识,然后跟着老师的讲解做了一个太阳系各行星绕太阳转的小游戏,来练习巩固一下最近学的知识: 用到知识点:类的继承.方法的重载与重写.多态.封装等 分析: 1.需要加载图片.画图 2.建一个面板,主页面 3.行星类 效果图: 先看一下源码结构图: 现在逐步分析各个类的功能: 1)工具类-----util包中 --Constant类   封装了游戏中用到的常量 --GameUtil类  封装了游戏的图片加载功能 --MyFrame类  封装了游戏面板的构造,用于各面板的父类 -

java贪吃蛇游戏编写代码

本文实例为大家分享了java贪吃蛇游戏展示的具体代码,供大家参考,具体内容如下 1.采用MVC(model.view.control)框架模式 2.包和类的关系树形图为: 3.源码: package com.huai; import Java.awt.Color; import java.awt.Graphics; import java.awt.Point; import java.util.HashSet; import java.util.LinkedList; import java.u

基于Java代码实现游戏服务器生成全局唯一ID的方法汇总

在服务器系统开发时,为了适应数据大并发的请求,我们往往需要对数据进行异步存储,特别是在做分布式系统时,这个时候就不能等待插入数据库返回了取自动id了,而是需要在插入数据库之前生成一个全局的唯一id,使用全局的唯一id,在游戏服务器中,全局唯一的id可以用于将来合服方便,不会出现键冲突.也可以将来在业务增长的情况下,实现分库分表,比如某一个用户的物品要放在同一个分片内,而这个分片段可能是根据用户id的范围值来确定的,比如用户id大于1000小于100000的用户在一个分片内.目前常用的有以下几种:

Java贪吃蛇游戏完善版

很认真的写的一个java版的贪吃蛇游戏,图形界面,支持菜单操作,键盘监听,可加速,减速,统计得分,设定运动速度,设定游戏背景颜色等!应该没有Bug了,因为全被我修改没了. 下面是项目各包及类的层次关系: 游戏的主要运行界面截图如下: 下面是部分代码,详细源码见此链接:贪吃蛇源码下载 Snake类: package com.huowolf.entities; import java.awt.Color; import java.awt.Graphics; import java.awt.Point

java桌球小游戏 小球任意角度碰撞

本文实例为大家分享了java桌球小游戏的具体代码,供大家参考,具体内容如下 import javax.swing.*; import java.awt.*; public class BallGame extends JFrame { /** *继承swing里面的窗口类 */ //加载图片 Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.jpg.png");/*得到系统默认的工具包*/ Image desk

C# Winform实现石头剪刀布游戏

本文实例为大家分享了Winform实现石头剪刀布游戏的具体代码,供大家参考,具体内容如下 新建一个windows窗体程序,用数字1代表石头,用数字2代表剪刀,用数字3代表布,结果取玩家和电脑出拳之差,有三种结果 玩家赢: -1,2 平手: 0 玩家输: 其它值 新建3个类: 1)Computer.cs 电脑随机出拳 using System; using System.Collections.Generic; using System.Linq; using System.Text; using

java实现猜拳游戏

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

java实现连连看游戏

本文实例为大家分享了java实现连连看游戏的具体代码,供大家参考,具体内容如下 代码会实现共享的,这个是截图 代码: package com.lr.bean; import java.util.Scanner; import java.util.Random; import com.lr.bean.Point; public class Link{ public static void main(String[] args){ Scanner sc=new Scanner(System.in);