java石头剪刀布游戏源代码+流程图
一、 设计任务与目标(标题均为小三号,宋体)
之前写过随机产生数字,单选按钮,按钮监听器,布局管理这些类似的一些小程序,在此程序中将这些综合运用,更加完善在这方面知识的掌握。
达到具体目标:石头剪刀布要实现电脑随机产生选择,还有客户的选择,然后进行规则比赛,最后计算玩的次数和赢的次数,最主要的还是要完善GUI界面,这是我最深的体会,这虽然是一个简单的程序,但是最吸引人的地方应该是界面,界面对一款游戏而言,是至关重要的。在此我增添了增添了背景图。
石头剪刀布游戏:用户的选择,需要用到单选按钮,需要监听器,在选择的时候,电脑要随机产生,之后同时显示,并且比较,在这边,我用到switch语句,并同时进行比较,在进行下一轮游戏的时候,我有增添了一个按钮,监听 玩的次数还有将界面回到初始化的样子,在界面上,我用到了布局管理器,让界面比较清楚,
之后增添背景图片,这里就比较纠结,因为增加三个panel,所以设置背景的时候,总是被前三个面板覆盖,一直找不出问题所在,之后多亏老师还有徐泽同学的帮忙,解决了。用到了panel.setOpaque(false);是前面几个面板透明化才使背景图能插进来。
后来看到自己出来的程序GUI界面感觉还是不够生动,虽然程序是对的,但是在界面上 还是需要好好规划改进。
乘法训练器应用程序 这个游戏思路比较简单,就是产生随机的两个数,然后输入结果,做出判断,产生提示语,答对的话产生下一道题目,比随机产生提示语,这里面比较多的用到产生随机数。还有文本框的运用。
这个程序可以可以用到按钮组,直接在界面上点击,会比较清楚,这需要用到布局管理,还有界面设计美观,这些我正在写,可惜时间不够,课后我会去写写,尽量完善它。
石头剪刀布源程序:
//***************************************
//Games.java
//
//**************************************
import javax.swing.JFrame;
public class Game
{
public static void main(String[] args)
{
//----------------------------------------------------
//Creates the main frame of the program.
//---------------------------------------------------
JFrame frame = new JFrame("剪刀石头布游戏");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new GamePanel());
frame.pack();
frame.setVisible(true);
}
}
//************************************
//Games.java
//
//*******************************
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class GamePanel extends JPanel
{
private int counttimes, countwin, computerInt;
private JRadioButton computer, rock, paper, scissor;
private JButton push;
private JLabel label1, label2, label3, label4, label5;
private ImageIcon photo1, photo2, photo3, photo4, photo5, image;
private String string1, string2, string3, string4;
private JPanel panel2, panel3, panel4;
// -----------------------------------
//Constructor : creat the panel
// ----------------------------------
public GamePanel()
{
setLayout(new BorderLayout());//布局管理器
this.setPreferredSize((new Dimension(800, 600)));//设定默认宽度,长度;
string1 = "你赢了!";
string2 = "你输了";
string3 = "打平了";1941