Java实现猜拳小游戏
Java实现猜拳游戏的核心在于电脑随机数的生成,Java中的随机数生成方法是:
首先引入包   import java.util.*;  然后   int r=new Random().nextInt(3);  (nextInt中的数字三代表随机数生成的个数,从零开始)
所以在猜拳的输入中需要有0、1、2三个数字代替,如果要输入汉字,则用if进行相应判断即可。
在实现的游戏中实现①猜拳;②记录胜负;③玩家决定游戏局数;④输出获胜、失败及平局;⑤统计总共的胜负结果(根据获胜次数判断)
①猜拳基础功能:该部分代码可以放到一个方法中,减少主函数代码量。
电脑出拳即 int r=new Random().nextInt(3); 注意:该部分一定要写在for循环内部,否则无法实现每次不同的随机数。
通过if判断双方出拳是否相等 if(a==0&&r==0) else if(a==0&&r==1) else if(a==0&&r==2) 即可实现猜拳,if内直接输出相关语句即可
②记录胜负: 定义猜拳方法为int ,通过返回值记录相关比赛的胜负情况 ,可以用0--失败;1--获胜;2--平局 进行记录,在主函数中对相应抛出的数字记录即可
if(a==0&&r==0){
    System.out.println("The computer comes out with cloth,it was a draw. ");
    return 2;
}
h=comp.compare(a,r);   if (h==1)    j++;
package SS2_5;
import java.util.*;
public class Main {
public static void main(String args[]){
Scanner scanner=new Scanner(System.in);
Compare comp=new Compare();
int h=0,j=0,k=0;
System.out.println("rules:0--cloth;1--stone;2--scissors.\nU can choose how many times you want to play:");
int n=scanner.nextInt();
for(int i=1;i<=n;i++){
System.out.print("It's the "+i+" round,your turn:");
int a=scanner.nextInt();
int r=new Random().nextInt(3);
switch (a){
case 0:
h=comp.compare(a,r);
break;
case 1:
h=comp.compare(a,r);
break;
case 2:
h=comp.compare(a,r);
break;
default:
System.out.println("Wrong number!");
break;
}
if (h==1)
j++;
else if(h==0)
k++;
}
System.out.println("The total times you won are "+j+",The draw times are "+(n-j-k)+".");
if(j>k)
System.out.println("You are the final winner");
else if(k>j)
System.out.println("The computer is the winner.");
if(j==k)
System.out.println("The final result is draw");
}
}
compare部分
package SS2_5;
public class Compare {
public int compare(int a,int r){
int counter=0;
if(a==0&&r==0){
System.out.println("The computer comes out with cloth,it was a draw. ");
return 2;
}
else if(a==0&&r==1){
System.out.println("The computer comes out with stone, you won. ");
return 1;
}
else if(a==0&&r==2){
System.out.println("The computer comes out with scissor,you lost. ");
return 0;
}
else if(a==1&&r==0){
System.out.println("The computer comes out with cloth,you lost. ");
return 0;
}
else if(a==1&&r==1){
System.out.println("The computer comes out with stone,it was a draw. ");
return 2;
}
else if(a==1&&r==2){
System.out.println("The computer comes out with scissors,you won. ");
return 1;
}
else if(a==2&&r==0){
System.out.println("The computer comes out with cloth,you won. ");
return 1;
}
else if(a==2&&r==1){
System.out.println("The computer comes out with stone,you lost. ");
return 0;
}
else if(a==2&&r==2){
System.out.println("The computer comes out with scissors,it was a draw. ");
return 2;
}
else
return 0;
}
}
Java实现猜拳小游戏的更多相关文章
- Java猜拳小游戏(剪刀、石头、布)
		
1.第一种实现方法,调用Random数据包,直接根据“1.2.3”输出“剪刀.石头.布”.主要用了9条输出判断语句. import java.util.Random; import java.util ...
 - 用Java编写的猜拳小游戏
		
学习目标: 熟练掌握各种循环语句 例题: 代码如下: // 综合案例分析,猜拳案例 // isContinue为是否开始游戏时你所输入的值 char isContinue; //y为开始,n为借宿 S ...
 - C#之winform 猜拳小游戏
		
C#之winform 猜拳小游戏 1.建立项目文件 2.进行界面布局 2.1 玩家显示(控件:label) 2.2 显示玩家进行选择的控件(控件:label) 2.3 电脑显示(控件:label) ...
 - java猜数字小游戏
		
/* * * 猜数字小游戏 * * 先由系统生成一个2-100之间的随机数字, * * 然后捕获用户从控制台中输入的数字是否与系统生成的随机数字相同, * * 如果相同则统计用户所猜的次数,并给出相应 ...
 - Java打飞机小游戏(附完整源码)
		
写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐.代码写的很 ...
 - 软件设计之基于Java的连连看小游戏(一)——开题及游戏首页的制作
		
原本计划紧张忙碌的考试月在图书馆和实验室度过,结果突如其来为期两周的软件设计把课余时间几乎捆绑在了机房.软设没有太多知识上的要求,只要成品简洁美观.实用准确即可.考虑了很久决定要用Java swing ...
 - Java贪吃蛇小游戏
		
贪吃蛇 思路 首先构思游戏布局,计算合理的坐标系. 绘制静态数据(广告.初始小蛇.提示信息.棋盘) 添加键盘监听事件,改变游戏状态以及小蛇运动方向 添加定时器,让小蛇在一段时间内移动一定的距离 随机产 ...
 - winform小程序---猜拳小游戏
		
因为学的时间不长,所以借鉴了一些资料做了这个小程序,大家共同学习,共同进步.感觉很有自信,世上无难事,只怕有心人. using System; using System.Collections.Gen ...
 - Java自制人机小游戏——————————剪刀、石头、布
		
package com.hello.test; import java.util.Scanner; public class TestGame { public static void main(St ...
 - 软件设计之基于Java的连连看小游戏(二)——游戏基础界面的制作及事件的添加
		
上次完成到游戏首页的制作,今天完成了游戏基础界面的制作以及事件的简单添加.由于功能尚未完全实现,因此游戏界面的菜单列表只是简单地添加了一下,其余菜单列表以及倒计时等在后续的制作中逐一完善. 1.首先在 ...
 
随机推荐
- Maven安装详解
			
Maven Maven是apache软件基金会旗下的一个开源项目,是一款用于管理和构建Java项目的工具. Maven的作用? 先来简单介绍一下Maven的作用 (1)依赖管理 方便快捷的管理项目依赖 ...
 - NOIP2022游记
			
NOIP2022游记 今年是第二次考NOIP了,去年第一次考的时候没学过什么东西,混了个省二.今年以高中生的身份考,不仅仅是要省一,还得拿个不错的名次,任务不小. 考试当天早上校园里的雾很大,不知道会 ...
 - Schillace 定律 背后的 Sam Schillace
			
微软semantic-kernel(SK)团队发布了一篇博客文章:Early Lessons From GPT-4: The Schillace Laws[1] ,微软的CVP , Deputy CT ...
 - innerHTML和outerHTML区别
			
1.innerHTML <body> <p>你好</p> <div id="test"><h5>就是喜欢你</h ...
 - 大语言模型快速推理: 在 Habana Gaudi2 上推理 BLOOMZ
			
本文将展示如何在 Habana Gaudi2 上使用 Optimum Habana.Optimum Habana 是 Gaudi2 和 Transformers 库之间的桥梁.本文设计并实现了一个大模 ...
 - k8s集群进行删除并添加node节点
			
在已建立好的k8s集群中删除节点后,进行添加新的节点,可参考用于添加全新node节点,若新的node需要安装docker和k8s基础组件. 建立集群可以参考曾经的文章:CentOS8 搭建Kubern ...
 - [网络/Linux]网络嗅探工具——nmap
			
1 nmap 简介 Nmap 即 Network Mapper,最早是Linux下的网络扫描和嗅探工具包. nmap是网络扫描和主机检测的工具,用nmap进行信息收集和检测漏洞,功能有: 检测存活主机 ...
 - [J2EE]Spring MVC中访问静态资源[转]
			
1 文献来源 SpringMVC访问静态资源的三种方式(转) - 博客园 SpringMVC访问静态资源的三种方式 + 提供解决方案的原作者 2 前言 2.1 访问不到静态资源起因 如果web.xml ...
 - [数据库]MYSQL之InnoDB存储引擎 VS MYISAM存储引擎
			
InnoDB VS MYISAM 参考文献 innoDB与MyISAM的区别 - Zhihu
 - Notion AI:门槛更低的ChatGPT Plus
			
[2023年3月27日]由于接口成本的问题,如今的大部分应用应该都只会建立在GPT-3/ChatGPT接口的基础上,所以想要体验GPT-4,还是得尊贵的ChatGPT Plus. 前段日子体验了Not ...