导航:首页 > 源码编译 > 封装java猜拳小游戏源码

封装java猜拳小游戏源码

发布时间:2022-05-06 11:54:11

❶ 求一个java猜拳游戏程序

packagetest;
importjava.util.Random;
importjava.util.Scanner;
/**
*猜拳游戏思路
*1、定义输入函数
*2、提示用户输入猜拳数值
*3、定义随机一个数作为电脑数值
*4、判断[用户输入数值]与[电脑随机数值]
*5、能够相等就是打平,不能相等就利用&&、||逻辑符判断输赢
*6、设定数值1-石头2-剪刀3-布
*/
publicclassCaiQuanYouXi{
publicstaticvoidmain(String[]args){
Scannerin=newScanner(System.in);//定义输入函数in,Scanner包功能,输入数值用的
System.out.println("--------------猜拳游戏---------------");
System.out.println("请输入一个数值:1、石头2、剪刀3、布");//提示输入数值
System.out.println("");//空行
intx=in.nextInt();//让用户输入X的数值
Randomon=newRandom();//定义电脑的随机数值的函数on
inty=on.nextInt(3)+1;//定义y随机函数数值范围(1--3)
if(x>=4||x==0){//判断用户是否输入非1--3范围
System.out.println("亲,请正确输入:1、石头2、剪刀3、布。你输入了:"+x);
}else{
/*下面是判断用户输入x的数值嵌套if*/
if(x==y){
if(x==1){//判断打平的情况
System.out.println("你:石头------电脑:石头PK:很幸运打平手");
}elseif(x==2){
System.out.println("你:剪刀------电脑:剪刀PK:很幸运打平手");
}else{
System.out.println("你:布------电脑:布PK:很幸运打平手");
}
}elseif(x==1&&y==2||x==2&&y==3||x==3&&y==1){//开始判断赢的情况
if(x==1&&y==2){
System.out.println("你:石头------电脑:剪刀PK:恭喜您,赢了!");
}elseif(x==2&&y==3){
System.out.println("你:剪刀------电脑:布PK:恭喜您,赢了!");
}else{
System.out.println("你:布------电脑:石头PK:恭喜您,赢了!");
}
}else{//开始判断输的情况
if(x==1&&y==3){
System.out.println("你:石头------电脑:布PK:很遗憾,输了!");
}elseif(x==2&&y==1){
System.out.println("你:剪刀------电脑:石头PK:很遗憾,输了!");
}else{
System.out.println("你:布------电脑:剪刀PK:很遗憾,输了!");
}
}
}
}
}

运行后的效果展示:

--------------猜拳游戏---------------
请输入一个数值:1、石头 2、剪刀 3、布
1
你:石头------电脑:布 PK:很遗憾,输了!


--------------猜拳游戏---------------
请输入一个数值:1、石头 2、剪刀 3、布
4
亲,请正确输入:1、石头 2、剪刀 3、布。你输入了:4

❷ 在学习java期间如何利用java制作一个简单的猜拳游戏编程

importjava.util.Scanner;

publicclassGame{
privateScannerscan=newScanner(System.in);
privateStringrule[]={"","剪刀","石头","布"};
privateStringrole[]={"","刘备","孙权","曹操"};
privateComputercomputer;
privateUseruser;
privateintroundCount;
privateGame(){
roundCount=0;
}
publicstaticvoidmain(String[]args){
Gamegame=newGame();
game.start();
}
publicvoidstart(){
computer=newComputer();
System.out.println("--欢迎进入游戏世界--");
System.out.println("********************");
System.out.println("**猜拳,开始**");
System.out.println("********************");
System.out.println();
System.out.println("出拳规则:1.剪刀2.石头3.布");
System.out.print("请选择角色(1:刘备2.孙权3.曹操)");
intuserRole=scan.nextInt();
if(userRole>=1&&userRole<=3){
user=newUser(role[userRole]);
System.out.println();
System.out.print("要开始吗?(y/n)");
Stringstart=scan.next();
if(start.equals("y")){
round();
}
elseif(start.equals("n")){

}
}
}
privatevoidround(){
roundCount++;
System.out.println();
System.out.print("请出拳:1.剪刀2.石头3.布(输入相应数字):");
intuserRule=user.round();
if(userRule>=1&&userRule<=3){
intcomputerRule=computer.round();
judge(userRule,computerRule);
System.out.println();
System.out.print("是否开始下一轮(y/n):");
Stringnext=scan.next();
if(next.equals("y")){
round();
}
elseif(next.equals("n")){
end();
}
}
}
privatevoidjudge(intur,intcr){
System.out.println("你出拳:"+rule[ur]);
System.out.println("电脑出拳:"+rule[cr]);
if(ur==cr){
System.out.println("结果:和局,真衰!嘿嘿,等着瞧吧!");
}
elseif((ur==1&&cr==3)||
(ur==2&&cr==1)||
(ur==3&&cr==2)){
System.out.println("结果:你赢了!");
user.win();
}
else{
System.out.println("结果:你输了!");
computer.win();
}
}
privatevoidend(){
System.out.println("--------------------------------------");
System.out.println(user.getName()+"VS"+computer.getName());
System.out.println("对战次数:"+roundCount);
if(computer.getWin()==user.getWin()){
System.out.println("结果:打成平手,下次再和你一分高下!");
}
elseif(computer.getWin()>user.getWin()){
System.out.println("结果:你输了!电脑赢了"+computer.getWin()+"次!");
}
else{
System.out.println("结果:你赢了!你赢了"+user.getWin()+"次!");
}
System.out.println("--------------------------------------");
}
classComputer{
privateintwin;
privateStringname;
publicComputer(){
win=0;
name="匿名";
}
publicintround(){

return(int)(System.currentTimeMillis()%3)+1;//随机返回1、2、3
}
publicStringgetName(){
returnname;
}
publicvoidwin(){
win++;
}
publicintgetWin(){
returnwin;
}
}
classUser{
privateintwin;
privateStringname="";
publicUser(Stringname){
this.name=name;
win=0;
}
publicintround(){
returnscan.nextInt();
}
publicStringgetName(){
returnname;
}
publicvoidwin(){
win++;
}
publicintgetWin(){
returnwin;
}
}
}

❸ 求java 猜拳游戏代码!

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;

public class FingerGuessing {
private String[] op = new String[] { "布", "剪刀", "石头" };
Random r = new Random();
private int wj = 0;

private int dn = 0;

private int count = 0;

private int go() {
int k = r.nextInt(3);
System.out.println("电脑:" + op[k]);
return k;
}

private void compare(int i) {
count++;
System.out.println("玩家:" + op[i - 1]);
int k = go();
if ( i - 1 == k) {
System.out.println("打平");
} else if ( i - 1 - k == 1 || i-1-k == -2) {
System.out.println("玩家获胜");
wj++;
} else {
System.out.println("电脑获胜");
dn++;
}
}

private void info() {
System.out.println("共" + count + "盘");
System.out.println("玩家获胜" + wj + "盘");
System.out.println("电脑获胜" + dn + "盘");
System.out.println("打平" + (count-wj-dn) + "盘");
}

public void start() {
String xz = "";
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
do {
System.out.println("\n请选择:\n1.布\n2.剪刀\n3.石头\n结束请输入exit");
try {
xz = br.readLine();
if (xz.equalsIgnoreCase("exit")) {
info();
continue;
}
if (!xz.equals("1") && !xz.equals("2") && !xz.equals("3")) {
System.out.println("选择错误,请重新选择");
continue;
}
compare(Integer.parseInt(xz));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} while (!xz.equals("exit"));
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new FingerGuessing().start();
}

}

❹ java猜拳游戏 (3局2胜)

packageDemo;
importjava.util.Random;
importjava.util.Scanner;
publicclassDemo12{
publicstaticvoidmain(String[]args){
String[]str={"石头","剪刀","布"};
Randomram=newRandom();
inty,n,i;
while(true){
System.out.println("菜单: 1、开始猜拳 9、退出");
Scannerscan=newScanner(System.in);
System.out.print("请选择:");
Strings=scan.nextLine();
if("1".equals(s.trim())){
y=0;
n=0;
i=0;
while(true){
try{
System.out.println("请出拳:1、石头2、剪刀3、布");
ints1=Integer.parseInt(scan.nextLine());
if(s1>0&&s1<4){
System.out.println("你出:"+str[s1-1]);
ints2=ram.nextInt(3);
System.out.println("我出:"+str[s2]);
if(s1==(s2+1)){
System.out.println("这次是平局");
}elseif((s1==1&&s2==1)
||(s1==2&&s2==2)
||(s1==3&&s2==0)){
System.out.println("这次你赢了!");
y++;
}elseif((s1==1&&s2==2)
||(s1==2&&s2==0)
||(s1==3&&s2==1)){
System.out.println("这次你输了!");
n++;
}
if(i==2){
if(y>n){
System.out.println("你赢了"+y+":"+n);
}elseif(y<n){
System.out.println("你输了"+y+":"+n);
}else{
System.out.println("平局"+y+":"+n);
}
break;
}
i++;
}else{
System.out.println("输入有误!");
}
}catch(Exceptionex){
System.out.println("输入有误!");
}
}
}elseif("9".equals(s.trim())){
System.out.println("退出成功");
return;
}else{
System.out.println("指令错误~");
}
}
}
}




菜单:

1、开始猜拳

9、退出

请选择:2

指令错误~

菜单:

1、开始猜拳

9、退出

请选择:1

请出拳:1、石头 2、剪刀 3、布

2

你 出:剪刀

我 出:布

这次你赢了!

请出拳:1、石头 2、剪刀 3、布

4

输入有误!

请出拳:1、石头 2、剪刀 3、布

3

你 出:布

我 出:布

这次是平局

请出拳:1、石头 2、剪刀 3、布

1

你 出:石头

我 出:石头

这次是平局

你赢了 1:0

菜单:

1、开始猜拳

9、退出

请选择:9

退出成功

❺ 急求一个JAVA编程,“编写一个猜拳游戏,分别用0、1、2表示石头、剪子、布。

用我自己的方法写了一个,看LZ喜欢不喜欢
12是石头,23是剪子,31是布.first表示第一个人。second表示第二个人!

import java.util.Random;

public class Print {
public static void main(String[] args) {
//"12"是石头,“23”是剪子,“31”是布
String[] a = {"12", "23", "31"};

Random r = new Random ();
String first = a[r.nextInt(3)];
String second = a[r.nextInt(3)];
System.out.println("12是石头,23是剪子,31是布.first表示第一个人。second表示第二个人!\n---------");
if (first.equals(second)) {
System.out.println(first + "--" + second + ",(前面是first,后一个是second)" + ":平了");
} else if (first.charAt(1) == second.charAt(0)) {
System.out.println("出拳情况:" + first + "--" + second + ",(前面是first,后一个是second)" + "\n结果判断:" + result1(first,second));
} else if (first.charAt(0) == second.charAt(1)) {
System.out.println("出拳情况:" + first + "--" + second + ",(前面是first,后一个是second)" + "\n结果判断:" + result2(first,second));
}
}

public static String result1 (String f, String s) {
if (f.equals("12") && s.equals("23")) {
return "first石头 胜 second剪子";
} else if (f.equals("23") && s.equals("31")) {
return "first剪子 胜 second布";
} else {
return "first布 胜 second石头";
}
}

public static String result2 (String f, String s) {
if (f.equals("12") && s.equals("31")) {
return "first石头 输 second布";
} else if (f.equals("23") && s.equals("12")) {
return "first剪子 输 second石头";
} else {
return "first布 输 second剪子";
}
}

}

❻ 用JAVA编写一个猜拳游戏【5局3胜】

import java.util.Scanner;

/**
* 用户输入石头,剪子,布,和系统随机产生的对比,【5局3胜】
* @author ww
*
*/
public class Mora {

public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("请输入石头剪子布...");
int userWin = 0; //用户赢的次数
int computerWin = 0; //计算机赢的次数
for(int i=0;i<5;i++){
String user = s.next();
int user_int;
int computer = (int) (Math.random()*3);

//将石头剪子布转换成数字,容易比较
//石头-0,剪子-1,布-2
if("石头".equals(user)){
user_int = 0;
}else if("剪子".equals(user)){
user_int = 1;
}else if("布".equals(user)){
user_int = 2;
}else{
System.out.println("请正确输入石头剪子布...");
i--;
continue;
}
System.out.println("user_int"+user_int);
System.out.println("computer"+computer);
//判断输赢
if(user_int-computer==-1 || user_int-computer==2){
userWin++;
System.out.println("您赢了"+userWin+"次");
if(userWin==3){
System.out.println("恭喜!您赢了");
break;
}
}else if(computer-user_int==-1 || computer-user_int==2){
computerWin++;
System.out.println("您输了"+computerWin+"次");
if(computerWin==3){
System.out.println("对不起!您输了");
break;
}
}else{
System.out.println("和局");
i--;
continue;
}
}
}
}

❼ 求JAVA人机猜拳的代码,类似一下界面。

自己纯手打,老半天才弄出来啊

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.util.Random;

import javax.swing.AbstractAction;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Demo2 extends JFrame {
private JLabel lb1, lb2, lb3, lb4; // 提示标签
private JTextField ta1, ta2;// 两个文本框
private JButton b1, b2, b3; // 三个按钮
private JPanel p1, p2; // 两个JPanel面板

public Demo2() {
// 初始化所有组件
lb1 = new JLabel("欢迎使用人机猜拳程序");
lb2 = new JLabel("你出拳: ");
lb3 = new JLabel("电脑出拳:");
lb4 = new JLabel("结果");

ta1 = new JTextField();
ta1.setPreferredSize(new Dimension(60, 60)); // 设置大小
ta1.setEditable(false);//设置不可编辑
ta2 = new JTextField();
ta2.setPreferredSize(new Dimension(60, 60));
ta2.setEditable(false);//设置不可编辑

b1 = new JButton("剪刀");
b2 = new JButton("石头");
b3 = new JButton("布");

p1 = new JPanel();
p2 = new JPanel();

// 设置第一个面板内容
Box box = Box.createVerticalBox();
Box box1 = Box.createHorizontalBox();
box1.add(lb2);
box1.add(ta1);
box1.add(lb3);
box1.add(ta2);

box.add(lb1);
box.add(Box.createVerticalStrut(40));
box.add(box1);
box.add(Box.createVerticalStrut(10));
box.add(lb4);
box.add(new JLabel());

p1.add(box);

// 设置第二个面板
p2.setLayout(new GridBagLayout()); // 使用GridBagLayout布局管理器
p2.setPreferredSize(new Dimension(0, 60));
GridBagConstraints g2 = new GridBagConstraints();
g2.fill = GridBagConstraints.BOTH;
g2.weightx = 1.0;
g2.weighty = 1.0;
g2.gridx = 0;
g2.gridy = 0;
p2.add(b1, g2);
g2.gridx = 1;
p2.add(b2, g2);
g2.gridx = 2;
p2.add(b3, g2);

//为3个按钮添加事件
b1.addActionListener(new buttonAction());
b2.addActionListener(new buttonAction());
b3.addActionListener(new buttonAction());

this.getContentPane().add(p1);
this.getContentPane().add(p2, BorderLayout.SOUTH);
this.setTitle("机器人猜拳游戏");
this.setSize(300, 300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

//事件类
class buttonAction extends AbstractAction{

@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b1){
ta1.setText("剪刀");
init(ta1.getText());

}else if(e.getSource()==b2){
ta1.setText("石头");
init(ta1.getText());
}else if(e.getSource()==b3){
ta1.setText("布");
init(ta1.getText());
}
}

// 模拟电脑出拳,产生三个随机数。0代表剪刀,1代表石头,2代表布
public String getQuan(){
String str="";
int num=new Random().nextInt(3) ;
if(num==0){
str="剪刀";
}else if(num==1){
str="石头";
}else if(num==2){
str="布";
}
return str;
}
// 判断输赢方法
public String isying(String s1,String s2){
String s="";
if(s1.equals(s2)){
s="平局";
}else if(s1.equals("剪刀")&&s2.equals("布")){
s="你赢";
}else if(s1.equals("石头")&&s2.equals("剪刀")){
s="你赢";
}else if(s1.equals("布")&&s2.equals("石头")){
s="你赢";
}else{
s="电脑赢";
}
return s;

}
public void init(String wo){
String sy=""; // 保存输赢结果
String dncq=getQuan(); //电脑出拳
if(wo.equals(dncq)){
sy="平局";
}else if(wo.equals("剪刀")&&dncq.equals("布")){
sy="你赢";
}else if(wo.equals("石头")&&dncq.equals("剪刀")){
sy="你赢";
}else if(wo.equals("布")&&dncq.equals("石头")){
sy="你赢";
}else{
sy="电脑赢";
}

ta2.setText(dncq);// 电脑出拳
lb4.setText("结果:"+sy);
}

}
public static void main(String[] args) {
new Demo2();
}

}

❽ 用java如何编写一个猜拳游戏

我之前写了个猜拳游戏的源代码,不过没你想的这么精彩。你才给5分就给你你自己修改了,应该很简单的。要多给点分我可以帮你修改。
import java.util.Scanner;
import java.util.Random;
public class caiquan
{
final int jian=0;
final int shitou=1;
final int bu=2;

public static void main(String[] args)
{
String yn="y";
while (yn.equals("y"))
{
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎玩猜拳游戏。请输入0,1,2:0表示剪刀,1表示石头,2表示布");
int a = scanner.nextInt();

Random rd = new Random();
int b = rd.nextInt(3);

switch (b)
{
case 0:
{
System.out.println("系统出的是剪刀");
switch(a)
{
case 0:System.out.println("平");break;
case 1:System.out.println("赢");break;
case 2:System.out.println("输");break;
}
}
break;
case 1:
{
System.out.println("系统出的是石头");
switch(a)
{
case 0:System.out.println("输");break;
case 1:System.out.println("平");break;
case 2:System.out.println("赢");break;
}
}
break;
case 2:
{
System.out.println("系统出的是布");
switch(a)
{
case 0:System.out.println("赢");break;
case 1:System.out.println("输");break;
case 2:System.out.println("平");break;
}
}
}
Scanner ynn = new Scanner(System.in);
System.out.println("是否继续?是请输入y,否则输入n。");
yn=ynn.next();
}
}
}

❾ JAVA编写一个智能猜拳游戏

去查
智能算法
,可以用其中的神经网络实现,这种代码在淘宝上能卖到1000左右,别想了
望采纳
而且使用matlab编的,用java估计更贵,因为更复杂
你可以去csdn或者
开源社区
上找找,或许有人分享过

❿ java代码猜拳游戏相关代码请教

comp是电脑产生的随机数字(电脑出的拳),people 是人出的拳。 因为剪刀石头布只有 1 2 3

。如果电脑的数字比的你刚好大1,就是它比你的大。 如2>1,3>2对应就是(石头大于剪刀,布大于石头)。 但也有可能是剪刀大于布 。 那么剪刀的位子是1 ,布的位子是3. 所以当电脑数字减你的数字等于2时 就是(电脑出的布 ,你出的石头这样的情况了)。
所以是if((comp-people)==-1||(comp-people)==2) 这两者结合就是你赢的时候

阅读全文

与封装java猜拳小游戏源码相关的资料

热点内容
喷油螺杆制冷压缩机 浏览:579
python员工信息登记表 浏览:377
高中美术pdf 浏览:161
java实现排列 浏览:513
javavector的用法 浏览:982
osi实现加密的三层 浏览:233
大众宝来原厂中控如何安装app 浏览:916
linux内核根文件系统 浏览:243
3d的命令面板不见了 浏览:526
武汉理工大学服务器ip地址 浏览:149
亚马逊云服务器登录 浏览:525
安卓手机如何进行文件处理 浏览:71
mysql执行系统命令 浏览:930
php支持curlhttps 浏览:143
新预算法责任 浏览:444
服务器如何处理5万人同时在线 浏览:251
哈夫曼编码数据压缩 浏览:426
锁定服务器是什么意思 浏览:385
场景检测算法 浏览:617
解压手机软件触屏 浏览:350