1
安阳工学院
JA V A 课程综合项目报告
项目题目:
石头剪子布---小游戏 专业班级:
10软件工程1班 学生姓名:
常云帅 学生学号: 201003030001
指导教师姓名: 孙高飞
2012年12月
安阳工学院计算机学院制
1 目 录
一、系统目标 ...................................................................................... 3
二、系统设计思路 .............................................................................. 3
三、系统详细设计 .............................................................................. 3
四、系统实现 ...................................................................................... 7
五、系统设计总结 .............................................................................. 8
六、参考文献 ...................................................................................... 8
1 石头剪子布---小游戏
一、 系统目标
利用java 的图形用户界面设计,设计一个石头剪子布游戏界面,能够实现基本的游戏功能。
二、 系统设计思路
主要实现 :布 赢 石头
石头 赢 剪刀
剪刀 赢 布
三、系统详细设计
实现代码如下:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Random;
public class test implements ActionListener{
JFrame frame;
JTextArea Jta;
JTextField tf;
JButton b1,b2,b3,b4;
Random random;
String[] result={"石头"," 剪刀"," 布"};
private static int cupguess=0,myguess=0;
public static void main(String[] args){
test shitou=new test();
shitou.go();
}
void go(){
frame=new JFrame("常云帅201003030001剪刀石头布");
1 tf=new JTextField("欢迎进入游戏,接下来即将开始打发你的无聊时间");
Jta=new JTextArea();
Jta.setLineWrap(true);
b1=new JButton("石头");
b2=new JButton("剪刀");
b3=new JButton("布");
b4=new JButton("退出");
//b5=new JButton("重开");
//random=new Random().nextInt(3);
Container cp=frame.getContentPane();
JPanel p1=new JPanel(new GridLayout(2,1));
p1.add(tf);
p1.add(Jta);
JPanel p2=new JPanel(new GridLayout());
p2.add(b1);
p2.add(b2);
p2.add(b3);
p2.add(b4);
//p2.add(b5);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
//b5.addActionListener(this);
cp.add(p1,BorderLayout.CENTER);
cp.add(p2,BorderLayout.SOUTH);
frame.setVisible(true);
frame.setSize(400,300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
random=new Random();
int i=random.nextInt(3);
if(e.getActionCommand()=="石头"){
if(result[i].equals(result[0])){
1 Jta.setText("");
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 石头 VS 电脑: 石头 本局平手"); Jta.append("\n\n现在比分是:您: "+s1+"电脑: "+s2);
}
if(result[i].equals(result[1])){
Jta.setText("");
++myguess;
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 石头 VS 电脑: 剪刀 本局您胜出"); Jta.append("\n\n现在比分是:您: "+s1+"电脑: "+s2);
}
if(result[i].equals(result[2])){
Jta.setText("");
++cupguess;
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 石头 VS 电脑: 布 本局您败北"); Jta.append("\n\n现在比分是: 您: "+s1+"电脑: "+s2);
}
}
if(e.getActionCommand()=="剪刀"){
if(result[i].equals(result[0])){
Jta.setText("");
++cupguess;
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 剪刀 VS 电脑: 石头 本局您惨败"); Jta.append("\n\n现在比分是:您: "+s1+"电脑: "+s2);
}
if(result[i].equals(result[1])){
Jta.setText("");
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 剪刀 VS 电脑: 剪刀 本局平局"); Jta.append("\n\n现在比分是: 您: "+s1+"电脑: "+s2);
1 }
if(result[i].equals(result[2])){
Jta.setText("");
++myguess;
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 剪刀 VS 电脑: 布 本局您侥幸胜出"); Jta.append("\n\n现在比分是:您: "+s1+"电脑: "+s2);
}
}
if(e.getActionCommand()=="布"){
if(result[i].equals("石头")){
Jta.setText("");
++myguess;
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 布 VS 电脑: 石头 本局您偶然赢了"); Jta.append("\n\n现在比分是:您: "+s1+"电脑: "+s2);
}
if(result[i].equals("剪刀")){
Jta.setText("");
++cupguess;
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 布 VS 电脑: 剪刀 本局您给输了电脑"); Jta.append("\n\n现在比分是: 您: "+s1+"电脑: "+s2);
}
if(result[i].equals("布")){
Jta.setText("");
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 布 VS 电脑: 布 本局是平局"); Jta.append("\n\n现在比分是:您: "+s1+"电脑: "+s2);
}
}
if(e.getSource()==b4)System.exit(0);
}}
1
四、系统实现 进入:
系统实现1:
系统实现2:
1
1 五、系统设计总结
通过此次的课程设计,让我了解和学会了许多Java 的基础知识。从课程设计中我学会了Java 中类的作用及其方法的调用,知道了类的父类和子类的的继承关系及自定义类的作用,还使我了解到服务器和客户端的特点和作用,我需要学习的东西还很多。 通过此次的课程设计,让我了解到自己以往学习中的不足之处,认识到自己还有哪一些知识没有掌握,让我有了学习的重点和方向,更有利于今后的学习。在实践中发现问题,分析问题,解决问题,在每一个问题中,吸取知识和经验,最终掌握知识和技巧。通过课程剪刀石头布游戏,让我体会到了付出劳动才能有所收获的喜悦感,让我明白了只有真正通过实践才能更好的融汇和掌握所学的理论知识。这次课程设计,让我今后有了更好的学习方向,给了我更多的学习动力,对我的帮助很大
六、参考文献
[1] 张岚, 张志伟. 浅谈面向对象的程序设计[J].内蒙古科技与经济,
[2] 危锋. 论JAVA 继承机制中父类与子类的关系[J].福建电脑, 2
[3] 清华大学计算机与信息管理中心主编. Java 语言程序设计[M].中国铁道出版社
[4] 时雷;虎晓红;席磊; 张浩.Java 程序设计课程教学分析[J]. 计算机教育.
[5] http://www.java.net/ JAVA开发的官方网
1
安阳工学院
JA V A 课程综合项目报告
项目题目:
石头剪子布---小游戏 专业班级:
10软件工程1班 学生姓名:
常云帅 学生学号: 201003030001
指导教师姓名: 孙高飞
2012年12月
安阳工学院计算机学院制
1 目 录
一、系统目标 ...................................................................................... 3
二、系统设计思路 .............................................................................. 3
三、系统详细设计 .............................................................................. 3
四、系统实现 ...................................................................................... 7
五、系统设计总结 .............................................................................. 8
六、参考文献 ...................................................................................... 8
1 石头剪子布---小游戏
一、 系统目标
利用java 的图形用户界面设计,设计一个石头剪子布游戏界面,能够实现基本的游戏功能。
二、 系统设计思路
主要实现 :布 赢 石头
石头 赢 剪刀
剪刀 赢 布
三、系统详细设计
实现代码如下:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Random;
public class test implements ActionListener{
JFrame frame;
JTextArea Jta;
JTextField tf;
JButton b1,b2,b3,b4;
Random random;
String[] result={"石头"," 剪刀"," 布"};
private static int cupguess=0,myguess=0;
public static void main(String[] args){
test shitou=new test();
shitou.go();
}
void go(){
frame=new JFrame("常云帅201003030001剪刀石头布");
1 tf=new JTextField("欢迎进入游戏,接下来即将开始打发你的无聊时间");
Jta=new JTextArea();
Jta.setLineWrap(true);
b1=new JButton("石头");
b2=new JButton("剪刀");
b3=new JButton("布");
b4=new JButton("退出");
//b5=new JButton("重开");
//random=new Random().nextInt(3);
Container cp=frame.getContentPane();
JPanel p1=new JPanel(new GridLayout(2,1));
p1.add(tf);
p1.add(Jta);
JPanel p2=new JPanel(new GridLayout());
p2.add(b1);
p2.add(b2);
p2.add(b3);
p2.add(b4);
//p2.add(b5);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
//b5.addActionListener(this);
cp.add(p1,BorderLayout.CENTER);
cp.add(p2,BorderLayout.SOUTH);
frame.setVisible(true);
frame.setSize(400,300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
random=new Random();
int i=random.nextInt(3);
if(e.getActionCommand()=="石头"){
if(result[i].equals(result[0])){
1 Jta.setText("");
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 石头 VS 电脑: 石头 本局平手"); Jta.append("\n\n现在比分是:您: "+s1+"电脑: "+s2);
}
if(result[i].equals(result[1])){
Jta.setText("");
++myguess;
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 石头 VS 电脑: 剪刀 本局您胜出"); Jta.append("\n\n现在比分是:您: "+s1+"电脑: "+s2);
}
if(result[i].equals(result[2])){
Jta.setText("");
++cupguess;
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 石头 VS 电脑: 布 本局您败北"); Jta.append("\n\n现在比分是: 您: "+s1+"电脑: "+s2);
}
}
if(e.getActionCommand()=="剪刀"){
if(result[i].equals(result[0])){
Jta.setText("");
++cupguess;
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 剪刀 VS 电脑: 石头 本局您惨败"); Jta.append("\n\n现在比分是:您: "+s1+"电脑: "+s2);
}
if(result[i].equals(result[1])){
Jta.setText("");
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 剪刀 VS 电脑: 剪刀 本局平局"); Jta.append("\n\n现在比分是: 您: "+s1+"电脑: "+s2);
1 }
if(result[i].equals(result[2])){
Jta.setText("");
++myguess;
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 剪刀 VS 电脑: 布 本局您侥幸胜出"); Jta.append("\n\n现在比分是:您: "+s1+"电脑: "+s2);
}
}
if(e.getActionCommand()=="布"){
if(result[i].equals("石头")){
Jta.setText("");
++myguess;
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 布 VS 电脑: 石头 本局您偶然赢了"); Jta.append("\n\n现在比分是:您: "+s1+"电脑: "+s2);
}
if(result[i].equals("剪刀")){
Jta.setText("");
++cupguess;
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 布 VS 电脑: 剪刀 本局您给输了电脑"); Jta.append("\n\n现在比分是: 您: "+s1+"电脑: "+s2);
}
if(result[i].equals("布")){
Jta.setText("");
String s1=String.valueOf(myguess);
String s2=String.valueOf(cupguess);
Jta.append("您: 布 VS 电脑: 布 本局是平局"); Jta.append("\n\n现在比分是:您: "+s1+"电脑: "+s2);
}
}
if(e.getSource()==b4)System.exit(0);
}}
1
四、系统实现 进入:
系统实现1:
系统实现2:
1
1 五、系统设计总结
通过此次的课程设计,让我了解和学会了许多Java 的基础知识。从课程设计中我学会了Java 中类的作用及其方法的调用,知道了类的父类和子类的的继承关系及自定义类的作用,还使我了解到服务器和客户端的特点和作用,我需要学习的东西还很多。 通过此次的课程设计,让我了解到自己以往学习中的不足之处,认识到自己还有哪一些知识没有掌握,让我有了学习的重点和方向,更有利于今后的学习。在实践中发现问题,分析问题,解决问题,在每一个问题中,吸取知识和经验,最终掌握知识和技巧。通过课程剪刀石头布游戏,让我体会到了付出劳动才能有所收获的喜悦感,让我明白了只有真正通过实践才能更好的融汇和掌握所学的理论知识。这次课程设计,让我今后有了更好的学习方向,给了我更多的学习动力,对我的帮助很大
六、参考文献
[1] 张岚, 张志伟. 浅谈面向对象的程序设计[J].内蒙古科技与经济,
[2] 危锋. 论JAVA 继承机制中父类与子类的关系[J].福建电脑, 2
[3] 清华大学计算机与信息管理中心主编. Java 语言程序设计[M].中国铁道出版社
[4] 时雷;虎晓红;席磊; 张浩.Java 程序设计课程教学分析[J]. 计算机教育.
[5] http://www.java.net/ JAVA开发的官方网