
正文
java猜拳源代码下载,java猜拳游戏代码教学
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
求一个java猜拳游戏程序
package test;
import java.util.Random;
import java.util.Scanner;
/**
* 猜拳游戏思路
* 1、定义输入函数
* 2、提示用户输入猜拳数值
* 3、定义随机一个数作为电脑数值
* 4、判断[用户输入数值]与 [电脑随机数值]
* 5、能够相等就是打平,不能相等就利用、||逻辑符判断输赢
* 6、设定数值1-石头 2-剪刀 3-布
*/
public class CaiQuanYouXi {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);//定义输入函数in,Scanner包功能,输入数值用的
System.out.println("--------------猜拳游戏---------------");
System.out.println("请输入一个数值:1、石头 2、剪刀 3、布");//提示输入数值
System.out.println(" ");//空行
int x=in.nextInt();//让用户输入X的数值
Random on=new Random();//定义电脑的随机数值的函数on
int y=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:很幸运打平手");
}else if(x==2){
System.out.println("你:剪刀------电脑:剪刀 PK:很幸运打平手");
}else {
System.out.println("你:布------电脑:布 PK:很幸运打平手");
}
}else if(x==1y==2||x==2y==3||x==3y==1){ //开始判断赢的情况
if(x==1y==2){
System.out.println("你:石头------电脑:剪刀 PK:恭喜您,赢了!");
}else if(x==2y==3){
System.out.println("你:剪刀------电脑:布 PK:恭喜您,赢了!");
}else {
System.out.println("你:布------电脑:石头 PK:恭喜您,赢了!");
}
}else {//开始判断输的情况
if(x==1y==3){
System.out.println("你:石头------电脑:布 PK:很遗憾,输了!");
}else if(x==2y==1){
System.out.println("你:剪刀------电脑:石头 PK:很遗憾,输了!");
}else {
System.out.println("你:布------电脑:剪刀 PK:很遗憾,输了!");
}
}
}
}
}
运行后的效果展示:
--------------猜拳游戏---------------
请输入一个数值:1、石头 2、剪刀 3、布
1
你:石头------电脑:布 PK:很遗憾,输了!
--------------猜拳游戏---------------
请输入一个数值:1、石头 2、剪刀 3、布
4
亲,请正确输入:1、石头 2、剪刀 3、布。你输入了:4
相关问答
Q1: java代码猜拳游戏相关代码请教
comp是电脑产生的随机数字(电脑出的拳),people 是人出的拳。 因为剪刀石头布只有 1 2 3
。如果电脑的数字比的你刚好大1,就是它比你的大。 如21,32对应就是(石头大于剪刀,布大于石头)。 但也有可能是剪刀大于布 。 那么剪刀的位子是1 ,布的位子是3. 所以当电脑数字减你的数字等于2时 就是(电脑出的布 ,你出的石头这样的情况了)。
所以是if((comp-people)==-1||(comp-people)==2) 这两者结合就是你赢的时候
Q2: 求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();
}
}
Q3: 求java人机猜拳游戏的程序
我之前写了个猜拳游戏的源代码,不过没你想的这么精彩。你才给5分就给你你自己修改了,应该很简单的。要多给点分我可以帮你修改。
import java.util.Scanner;
import java.util.Random;
public class caiquan
{
final int jiandao=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();
}
}
}








