1. 程式人生 > >實訓二(2)

實訓二(2)

 部落格二:團隊專案部落格,每個隊伍並發表一篇隨筆

  • 本次團隊作業所有同學的學號,本次作業GIT的提交地址
  • 團隊程式設計的過程性照片
  • 在本次部落格中展示團隊分工,給出每個團隊成員的個人貢獻分。要求:滿分為10分,每個人的團隊成員貢獻分不一樣,不能出現小數。
  • 本次團隊作業的執行截圖。主要程式碼的功能解釋(如果完成了滿分作業請標註創造性功能) 小結感受

 

成員 學號 職務 團隊分工 貢獻分
李國興

16012002

組長 程式碼  9
趙玉榮 16012001 組員 程式碼  10
安海瑩 16012003 組員 部落格  6
郝玥 16012004 組員 部落格碼雲程式碼  8
於易弘 16012013 組員 程式碼  7

團隊程式設計的過程性照片:

碼雲地址:

https://gitee.com/haoyuea/projects

主要程式碼的功能解釋:

import
java.awt.BorderLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPasswordField; import javax.swing.JTextField; import
javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JPanel; import javax.swing.text.html.HTML; import javax.swing.WindowConstants; public class b { static JFrame frame = new JFrame(); public b(){ JFrame frame=new JFrame("黃金點"); //窗體大小 frame.setSize(500,150); //按鈕 JButton startbutton =new JButton("開始遊戲"); JButton lookbutton =new JButton("檢視當前遊戲結果"); JButton setbutton =new JButton("遊戲設定"); JButton quitbutton =new JButton("退出"); //在窗體上新增按鈕 JPanel jp = new JPanel(); jp.add(startbutton); jp.add(lookbutton); jp.add(setbutton); jp.add(quitbutton); frame.add(jp); //frame.add(button,BorderLayout.EAST); //frame.add(quitbutton, BorderLayout.WEST); //顯示窗體 frame.setVisible(true); //新增點選事件監聽器(你可以使用任何其他監聽,看你想在什麼情況下建立新的視窗了) startbutton.addActionListener(new ActionListener(){ //單擊按鈕執行的方法 public void actionPerformed(ActionEvent e) { closeThis(); //建立新的視窗 JFrame frame = new JFrame("開始遊戲"); //設定在螢幕的位置 frame.setLocation(300,300); // 窗體大小 frame.setSize(400,400); // 顯示窗體 frame.setVisible(true); } }); lookbutton.addActionListener(new ActionListener(){ //單擊按鈕執行的方法 public void actionPerformed(ActionEvent e) { closeThis(); //建立新的視窗 JFrame frame = new JFrame("檢視當前遊戲結果"); //設定在螢幕的位置 frame.setLocation(300,300); // 窗體大小 frame.setSize(400,400); // 顯示窗體 frame.setVisible(true); } }); setbutton.addActionListener(new ActionListener(){ //單擊按鈕執行的方法 public void actionPerformed(ActionEvent e) { closeThis(); //建立新的視窗 JFrame frame = new JFrame("遊戲設定"); //設定在螢幕的位置 frame.setLocation(300,300); // 窗體大小 frame.setSize(400,400); // 顯示窗體 frame.setVisible(true); } }); quitbutton.addActionListener(new ActionListener(){ //單擊按鈕執行的方法 public void actionPerformed(ActionEvent e) { closeThis(); // try { // Thread.currentThread().sleep(2000); // } catch (InterruptedException e1) { // // TODO Auto-generated catch block // e1.printStackTrace(); // } System.exit(0); } }); } public static void closeThis(){ frame.dispose(); } }
import java.awt.Font;
import java.awt.Image;
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;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
 
public class c extends JFrame{
    private static int count=0;
    private static JButton bt1;//登陸按鈕
    private static JButton bt2;//忘記密碼按鈕
    private static JLabel jl_1;//登入的版面
    private JFrame jf_1;//登陸的框架
    private static JTextField jtext1;//使用者名稱
    private static JPasswordField jtext2;//密碼
    private static JLabel jl_admin;
    private static JLabel jl_password;
    public c (){//初始化登陸介面
        Font font =new Font("黑體", Font.PLAIN, 20);//設定字型
        jf_1=new JFrame("黃金點登陸介面");
        jf_1.setSize(450, 400);
        jl_1=new JLabel();

        
        jl_admin=new JLabel("使用者名稱");
        jl_admin.setBounds(20, 50, 60, 50);
        jl_admin.setFont(font);
        
        jl_password=new JLabel("密碼");
        jl_password.setBounds(20, 120, 60, 50);
        jl_password.setFont(font);
        
        bt1=new JButton("登陸");         //更改成loginButton
        bt1.setBounds(90, 250, 100, 50);
        bt1.setFont(font);
 
        bt2=new JButton("退出");
        bt2.setBounds(250, 250, 100, 50);
        bt2.setFont(font);
 
        //加入文字框
        jtext1=new JTextField("root");
        jtext1.setBounds(150, 50, 250, 50);
        jtext1.setFont(font);
        
        jtext2=new JPasswordField("root");//密碼輸入框
        jtext2.setBounds(150, 120, 250, 50);
        jtext2.setFont(font);
        
        jl_1.add(jtext1);
        jl_1.add(jtext2);
        
        jl_1.add(jl_admin);
        jl_1.add(jl_password);
        jl_1.add(bt1);
        jl_1.add(bt2);
        
        jf_1.add(jl_1);
        jf_1.setVisible(true);
        jf_1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jf_1.setLocation(300,400);
    }
    public static void main(String[] args) {
        //初始化登陸介面
         
        final c hl =new c();
        //登陸點選事件
        ActionListener bt1_ls=new ActionListener() {
            
            public void actionPerformed(ActionEvent arg0) {
                // TODO Auto-generated method stub
                String admin=jtext1.getText();
                char[] password=jtext2.getPassword();
                String str=String.valueOf(password); //將char陣列轉化為string型別
                
                if(admin.equals("root")&&str.equals("root"))
                {
                    b b=new b();
                    
                    hl.jf_1.dispose();
                }
                else {
                    count++;
                    System.out.println("error");
                    if(count==3){
                        hl.jf_1.dispose();
                    }
                }
            }
        };
        bt1.addActionListener(bt1_ls);
        //退出事件的處理
        ActionListener bt2_ls=new ActionListener() {
            
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                System.exit(0);//終止當前程式
            }
        };
        bt2.addActionListener(bt2_ls);        
     }
}
package GoldPoint;
import java.util.Scanner;
public class GoldPoint {
    private static int n;
    static Person persons[];
    private static int SCORE_START=100;
    public static void main(String[] args) throws InterruptedException {
        System.out.println("遊戲選項:");
        while (true) {
            System.err.println("1、開始遊戲\n2、檢視當前遊戲結果\n3、遊戲設定\n4、退出");
            Scanner scanner=new Scanner(System.in);
            int choice=scanner.nextInt();
            switch (choice) {
            case 1:
                welcome();
                break;
            case 2:
                showMessage();
                break;
            case 3:
                gameSetting();
                break;
            case 4:
                System.out.println("歡迎下次使用!程式即將退出!");
                Thread.currentThread().sleep(2000);
                System.exit(0);
                break;
            default:
                break;
            }
        }
    }
    private static void gameSetting() {
        System.out.println("請輸入玩家初試分數:");
        Scanner scanner=new Scanner(System.in);
        SCORE_START=scanner.nextInt();
        System.out.println("設定完成");
    }
    private static void welcome() {
        System.out.println("遊戲預設初試玩家的分數為100");
        System.out.print("請輸入遊戲人數: ");
        Scanner scanner = new Scanner(System.in);
        n = scanner.nextInt();
        creatPlayer(n);
    }
    private static void creatPlayer(int n) {
        persons = new Person[n];
        for (int i = 0; i < persons.length; i++) {
            persons[i] = new Person();
        }
        for (int i = 0; i < n; i++) {
            Scanner scanner = new Scanner(System.in);
            int temp = 0;
            temp = i + 1;
            System.out.print("請輸入第" + temp + "個玩家的姓名:");
            persons[i].setName(scanner.next());
            persons[i].setScore(SCORE_START);
        }
        System.out.println("****輸入完成****");
        try {
            playGame();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    private static void playGame() throws InterruptedException {
        System.out.println("****遊戲開始****");
        for (int i = 0; i < persons.length; i++) {
            Scanner scanner = new Scanner(System.in);
            System.out.print("請" + persons[i].getName() + "輸入數值(大於0小於100的有理數):");
            persons[i].setNum(scanner.nextInt());
        }
        int numG = getG();
        int recordMax = 0;
        int max = Math.abs(persons[0].getNum() - numG);
        for (int i = 0; i < persons.length; i++) {
            if (max < (Math.abs(persons[i].getNum() - numG))) {
                max = Math.abs(persons[i].getNum() - numG);
                recordMax = i;
            }
        }
        int min = Math.abs(persons[0].getNum() - numG);
        int recordMin = 0;
        for (int i = 0; i < persons.length; i++) {
            if (min > Math.abs(persons[i].getNum() - numG)) {
                min = Math.abs(persons[i].getNum() - numG);
                recordMin = i;
            }
        }
        System.out.println("******************************");
        System.out.println("相信資訊如下:");
        persons[recordMin].setScore(persons[recordMin].getScore()+n);
        persons[recordMax].setScore(persons[recordMax].getScore()-2);
        showMessage();
        System.out.println("G值為:" + numG);
        System.out.println("大吉大利,今晚吃雞!" + persons[recordMin].getName());
        System.out.println("玩家:" + persons[recordMax].getName() + "輸了");
        System.out.println("******************************");
    }
    private static int getG() {
        int sum = 0;
        for (int i = 0; i < persons.length; i++) {
            sum += persons[i].getNum();
        }
        return (int) ((sum / persons.length) * 0.618);
    }
    private static void showMessage() {
        System.out.println();
        System.out.println("姓名" + "\t" + "輸入的數"+"\t"+"成績");
        for (int i = 0; i < persons.length; i++) {
            System.out.println(persons[i].getName() + "\t" + persons[i].getNum()+"\t"+persons[i].getScore());
        }
        System.out.println();
    }
}
class Person {
    private String name;
    private int num;
    private int score;
     public Person() {
         super();
    }
    public Person(String tname,int tnum,int tscore) {
        super();
        name=tname;
        num=tnum;
        score=tscore;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getNum() {
        return num;
    }
    public void setNum(int num) {
        this.num = num;
    }
    public int getScore() {
        return score;
    }
    public void setScore(int score) {
        this.score = score;
    }
}

 

本次團隊作業的執行截圖:

 小結感受:

在團隊合作中團隊合作是十分重要的,大家在一起,集思廣益,激烈討論,遇到問題每個人都會有自己獨到的見解,每一個人都積極的融入在這個團隊中,感受到程式設計成功後的開心,很充實,最後要感謝同學和老師的

耐心指導和幫助!