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到逐步会用,在对排行榜的时候一直翻书,百度,求教。而且时间也相对比较紧迫。无论结果,努力过,有收获就是美好的!

posted @ 2017-06-22 13:00  趁年轻拼一拼  阅读(623)  评论(0编辑  收藏  举报