java猜拳编程代码_Java猜拳游戏程序设计思路与代码

package test;

import java.awt.Color;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

public class Test extends JFrame {

JLabel win,draw,lose,score,count;//设置标签,分别为赢、平、输、得分、总局

JLabel jl,jl1; //设置标签,分别为“电脑输出是”、“你输出的是”

final JLabel jl2,jl3;//设置标签,分别是电脑输出是与你输出的是的内容

JLabel jl4,jl5; //猜拳的结果显示“你赢了”,“你输了”,“平手”

public String person;

public String m;

int j;

int i;

int k;

int swin,sdraw,slose,sscore;

int flag1, count1;

final String[] car = new String[3];

public void Win0(String person) {

car[0] = "石头";

car[1] = "剪刀";

car[2] = "布";

person = car[j];

i = (int) (Math.random()*3);

if(i==0)

k=0;

else if(i==1)

k=1;

else if(i==2)

k=2;

String com=car[k] ;

//判断输赢

if (com.equals(person)) {

jl5.setText("平手");

flag1 = 0;

} else if (com.equals("剪刀") && person.equals("石头") ||

com.equals("石头")&& person.equals("布") ||

com.equals("布") && person.equals("剪刀")) {

jl5.setText("你赢了");

flag1 = 2;

} else {

jl5.setText("你输了");

flag1 = 1;

}

this.finalresult();

}

public Test() {

JFrame jf = new JFrame();

setSize(700, 700);

this.setTitle("猜拳游戏");

this.setLayout(null);

win = new JLabel("赢:"+swin);

draw = new JLabel("平:"+sdraw);

lose = new JLabel("输:"+slose);

score = new JLabel("得分:"+sscore);

count = new JLabel("总局:"+count1);

win.setBounds(50, 0, 80, 50);

draw.setBounds(130, 0, 80, 50);

lose.setBounds(210, 0, 80, 50);

score.setBounds(290, 0, 100, 50);

count.setBounds(450, 0,100, 50);

Font f1 = new Font("华文行楷",1,23);

win.setFont(f1);

draw.setFont(f1);

lose.setFont(f1);

score.setFont(f1);

count.setFont(f1);

win.setForeground(Color.blue);

draw.setForeground(Color.green);

lose.setForeground(Color.cyan);

score.setForeground(Color.red);

count.setForeground(Color.pink);

this.setBackground(Color.yellow);

this.add(win);

this.add(draw);

this.add(lose);

this.add(score);

this.add(count);

jl = new JLabel("电脑出的是:");

jl.setBounds(50, 100, 150, 70);

this.add(jl);

jl1 = new JLabel("你出的是:");

jl1.setBounds(50, 210, 150, 70);

this.add(jl1);

// 电脑的出的拳标签

jl2 = new JLabel();

jl2.setBounds(200, 100, 150, 70);

this.add(jl2);

//我出的拳的标签

jl3 = new JLabel();

jl3.setBounds(200, 210, 150, 70);

this.add(jl3);

jl4 = new JLabel("输出结果:");

jl4.setBounds(50, 500, 150, 70);

this.add(jl4);

jl5 = new JLabel("");

jl5.setBounds(200, 500, 150, 70);

this.add(jl5);

Font f2 = new Font("华文行楷",1,20);

jl.setFont(f2);

jl1.setFont(f2);

jl2.setFont(f2);

jl3.setFont(f2);

jl4.setFont(f2);

jl5.setFont(f2);

// 按钮

final JButton btn = new JButton("");

btn.setBounds(200, 210, 50, 70);

this.add(btn);

final JButton btn1 = new JButton("");

btn1.setBounds(280, 210, 50, 70);

this.add(btn1);

final JButton btn2 = new JButton("");

btn2.setBounds(360, 210, 50, 70);

this.add(btn2);

final JButton clear = new JButton("清除数据");

Font f3 = new Font("华文行楷",1,20);

clear.setFont(f3);

clear.setBounds(50, 380, 160, 50);

this.add(clear);

btn.setBorderPainted(false);

btn1.setBorderPainted(false);

btn2.setBorderPainted(false);

btn.setIcon(new ImageIcon("F:\\shitou.jpg"));

btn1.setIcon(new ImageIcon("F:\\jiandao.jpg"));

btn2.setIcon(new ImageIcon("F:\\bu.jpg"));

btn.addActionListener

(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

//如果你鼠标点击的是石头按钮

j = 0;

String b = btn.getActionCommand();

jl3.setText(b);

//jl3.setIcon(new ImageIcon(MyImg.class.getResource(j+".png")));

Win(person);

//Test.this.jl2.setIcon(new ImageIcon(MyImg.class.getResource(i+".png")));

Test.this.jl2.setText(car);

System.out.println(car);

}

}

);

btn1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

j = 1;

String b1 = btn1.getActionCommand();

jl3.setText(b1);

//jl3.setIcon(new ImageIcon(MyImg.class.getResource(j+".png")));

Win(person);

//Test.this.jl2.setIcon(new ImageIcon(MyImg.class.getResource(i+".png")));

Test.this.jl2.setText(car);

System.out.println(car);

System.out.println(b1);

}

});

btn2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

j = 2;

String b2 = btn2.getActionCommand();

jl3.setText(b2);

//jl3.setIcon(new ImageIcon(MyImg.class.getResource(j+".png")));

Win(person);

Test.this.jl2.setText(car);

System.out.println(car);

//Test.this.jl2.setIcon(new ImageIcon(MyImg.class.getResource (i+".png")));

System.out.println(b2);

}

});

clear.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

if(e.getSource() == clear){

swin = 0;

sdraw = 0;

slose = 0;

sscore = 0;

count1 = 0;

win.setText("赢:" + swin);

draw.setText("平:" + sdraw);

lose.setText("输:" + slose);

score.setText("得分:" + sscore);

count.setText("总局:" + count1);

}

}

});

this.setVisible(true);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setLocationRelativeTo(null);

this.setResizable(false);

}

private void finalresult() {

if(flag1==0){

sdraw ++;

draw.setText("平:"+sdraw);

score.setText("得分:"+sscore);

}

if(flag1==1){

slose ++;

sscore=sscore-1;

lose.setText("输:"+slose);

score.setText("得分:"+sscore);

}

if(flag1==2) {

swin ++;

sscore=sscore+1;

win.setText("赢:"+swin);

score.setText("得分:"+sscore);

}

count1=swin+slose+sdraw;

count.setText("总局:"+count1);

}

public static void main(String[] args) {

Test u= new Test();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值