Java课程设计——猜数游戏(201521123111 陈伟泽)
Java课程设计——猜数游戏(201521123111 陈伟泽)
1.团队课程设计博客链接
博客作业--猜数游戏
2.个人负责模块或任务说明
Answer:一些基础界面的构造,排行榜的构造,用文件录入用户名和实践,获取时间然后排行。
3.自己的代码提交记录截图
4.自己负责模块或任务详细说明
猜数游戏主界面应该分为三个,开始,退出,以及排行榜模块,开始游戏后要有输入输出界面。当猜中游戏后应该录入玩家名称,同时获得所用的时间,并且对所用的时间进行升序排列,输出前三名。在排行榜界面后应该还有退出按钮。
(1)部分基础界面的构造
使用netbeans进行部分界面的构造,例如排行榜排列的方式,用户名,所用时间以及退出。
(2)排行榜的构造
排行榜的构造应该跟开始游戏的输入和所用的时间有关联,同时应该录入猜中游戏后的用户名,录入文本文件后同时对此进行排序,得出排名。
package game;
import java.io
.File;
import java.io
.FileInputStream;
import java.io
.FileNotFoundException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
import javax.swing.JFrame;
/**
*
* @author Administrator
*/
public class paihang extends javax.swing.JFrame {
private ArrayList<User> arrayList;
/**
* Creates new form paihang
* @throws FileNotFoundException
*/
public paihang() throws FileNotFoundException {
initComponents();
arrayList = new ArrayList<>();
File datafile = new File("D: \\data.txt");
Scanner scanner = new Scanner(new FileInputStream(datafile));
while (scanner.hasNextLine()) {
String string = scanner.nextLine();
String[] strings = string.split(" ");
arrayList.add(new User(strings[0], Long.parseLong(strings[1])));
}
Collections.sort(arrayList);
for (int i = 0; i < arrayList.size(); i++) {
String username = arrayList.get(i).username;
String time = arrayList.get(i).time + "";
if (i == 0) {
jLabel4.setText(username);
jLabel7.setText(time);
} else if (i == 1) {
jLabel6.setText(username);
jLabel10.setText(time);
} else if (i == 2) {
jLabel5.setText(username);
jLabel8.setText(time);
} else {
break;
}
}
scanner.close();
}
private void initComponents() {
label2 = new java.awt.Label();
label4 = new java.awt.Label();
label5 = new java.awt.Label();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
T = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
label2.setName("1"); // NOI18N
label2.setText("1");
label4.setText("2");
label5.setText("3");
jLabel2.setText("姓 名");
jLabel3.setText("时 间");
T.setText("退出");
T.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
TActionPerformed(evt);
}
});
jLabel4.setText(" ");
jLabel7.setText(" ");
private void TActionPerformed(java.awt.event.ActionEvent evt) {
GNB G=new GNB();
G.setVisible(true);
this.setVisible(false);
private javax.swing.JButton T;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private java.awt.Label label2;
private java.awt.Label label4;
private java.awt.Label label5;
package game;
public class User implements Comparable<User> {
String username;
long time;
public User(String username, long time) {
this.username = username;
this.time = time;
}
@Override
public String toString() {
return username + " " + time;
}
@Override
public int compareTo(User o) {
if (time < o.time) {
return -1;
} else if (time == o.time) {
return 0;
} else {
return 1;
}
}
}
五、课程设计感想
作为组长,不仅仅是负责好自己的模块,更重要的是团队的协调合作。分配好各自的任务,在解决任务的时候遇到问题,一起解决是一件很有趣的事情。虽然两个人做的课设相对简单一点,但是对于我们的水平来说也是个不小的挑战,两个人从一点不会使用netbeans到逐步会用,在对排行榜的时候一直翻书,百度,求教。而且时间也相对比较紧迫。无论结果,努力过,有收获就是美好的!