
/**
 * Class that models a basketball player (and his/her stats).
 *   @author Dave Reed
 *   @version 2/10/17
 */
public class Player implements Comparable<Player>{
    private int number;
    private int[] made;
    private int[] taken;
    
    public Player(int num) {
        this.number = num;
        this.made = new int[] {0, 0, 0, 0};
        this.taken = new int[] {0, 0, 0, 0};
    }
    
    public void recordMake(int shot) {
        this.made[shot]++;
        this.taken[shot]++;
    }
    
    public void recordMiss(int shot) {
        this.taken[shot]++;
    }

    public int getMakes(int shot) {
        return this.made[shot];
    }
    
    public int getTaken(int shot) {
        return this.taken[shot];
    }  
    
    public int getPoints() {
        return this.made[1] + 2*this.made[2] + 3*this.made[3];
    }
    
    public String toString() {
        return "#" + this.number + " (" + this.getPoints() + " PTS) (" +
               (this.made[2]+this.made[3]) + "/" + 
               (this.taken[2]+this.taken[3]) + " FG) (" +
               this.made[3] + "/" + this.taken[3] + " 3FG) (" +
               this.made[1] + "/" + this.taken[1] + " FT)";    
    }
    
    public int compareTo(Player other) {
        return other.getPoints() - this.getPoints();
    }
    
//    public static void main(String[] args) {
//        Player p1 = new Player(10);
//        p1.recordMake(2);
//        p1.recordMiss(3);
//        p1.recordMake(3);
//        System.out.println(p1);
//    }
}
