Subscribe to NeoTifa's Blog of |)00M!!!!        RSS Feed
-----

game library

Icon Leave Comment
I've been working on a library to help handle rpg's. I really have only worked on the one class. This is it so far. Totally not done. Am a fan of overcoding, because I believe in being prepared. Besides, this can be put into different kinds of programs. (idealy)

/**
 *
 * @author Erica Boyer
 * @datecreated 19 Mar 2009
 * @lastupdate 15 May 2009
 * 
 * This is the class for an rpg character. It can be used for the user's players, 
 * npc's, and  enemies. Basically, it just sets the player up with basic stats, 
 * job (optional), gender, and such.
 * 
 * >>To be converted to C++ later.
 * 
 * 
 */
public class Player {

    public enum Job {WARRIOR, KNIGHT, BMAGE, WMAGE}
    public enum Status {NORMAL, KO, POISON, SLEEP, PETRIFIED, CURSED}
    public enum Gender {MALE, FEMALE}
    
    private final int initHp = 25;                      //Initial hit points
    private final int initMp = 10;                      //Initial magic points
    private final int initXp = 0;                       //Initial experience
    private final int initLvl = 1;                      //Initial level
    private final int initMaleStr = 4;                  //Initial male strength
    private final int initFemaleStr = 3;                //Initial female strength
    private final int initMaleEnd = 3;                  //Initial male endurance
    private final int initFemaleEnd = 2;                //Initial female endurance
    private final int initMaleDex = 2;                  //Initial male dexerity
    private final int initFemaleDex = 4;                //Initial female dexerity
    private final int initLuck = 2;                     //They start out the same luck

    private final int lvlUpHp = 5;                      //Amount of hit points gained every level up  
    private final int lvlUpMp = 3;                      //Amount of magic points gained every level up
    private final int lvlUpStat = 1;                    //Amount of str, end, dex, and luck gained every level up

    private int jLvl;                                   //Holds the level of the jobs held by the character
    private int jStr;                                   //Holds the stegth the class gives initially
    private int jEnd;                                   //Holds the endurance the class gives initially
    private int jDex;                                   //Holds the dexterity the class gives initially
    private int jLuck;                                  //Holds the luck the class gives initially

    private String name;                                //Holds the characters name
    private Gender gender;                              //Holds the characters gender
    private Job job;                                    //Holds the characters job
    private int hp;                                     //Holds the characters hit points
    private int mp;                                     //Holds the characters magic points
    private long xp;                                    //Holds the characters experience points
    private int lvl;                                    //Holds the characters level
    private int str;                                    //Holds the characters strength
    private int end;                                    //Holds the characters endurance
    private int dex;                                    //Holds the characters dexterity
    private int luck;
    private Status status;

    //Player[] heroList = new Player[4];
    /**No-Arg Constructor Player
     * 
     * Sets up all the stats the the character will need.
     * 
     * @param none
     *  
     */
    public Player() {

        setName("New Character");
        setJob(job);                    //need to get Job from chooser or other class

        setHp(initHp);
        setMp(initMp);
        setXp(initXp);
        setLvl(initLvl);

        if (gender.equals(0)) {
            setStr(initMaleStr);
        } else if (gender.equals(1)) {
            setStr(initFemaleStr);
        }

        if (gender.equals(0)) {
            setEnd(initMaleEnd);
        } else if (gender.equals(1)) {
            setEnd(initFemaleEnd);
        }

        if (gender.equals(0)) {
            setDex(initMaleDex);
        } else if (gender.equals(1)) {
            setDex(initFemaleDex);
        }

        if (gender.equals(0)) {
            setLuck(initLuck);
        } else if (gender.equals(1)) {
            setLuck(initLuck);
        }

        setStatus(status);

    //INCOMPLETE!!!!!!!!!!!!

    }//End constructor

    /** Level Defined Constructor
     * 
     * Sets the stats up according to the level given
     * 
     * @param lvl The level of the character created
     * 
     */
    public Player(int lvl) {

        setHp(initHp + lvl * lvlUpHp * end);
        setMp(initMp + lvl * lvlUpMp * str);

        if (gender.equals("male")) {
            setStr(initMaleStr + lvl * lvlUpStat);
        } else if (gender.equals("female")) {
            setStr(initFemaleStr + lvl * lvlUpStat);
        }

        if (gender.equals("male")) {
            setEnd(initMaleEnd + lvl * lvlUpStat);
        } else if (gender.equals("female")) {
            setEnd(initFemaleEnd + lvl * lvlUpStat);
        }

        if (gender.equals("male")) {
            setDex(initMaleDex + lvl * lvlUpStat);
        } else if (gender.equals("female")) {
            setDex(initFemaleDex + lvl * lvlUpStat);
        }

        if (gender.equals("male")) {
            setLuck(initLuck + lvl * lvlUpStat);
        } else if (gender.equals("female")) {
            setLuck(initLuck + lvl * lvlUpStat);
        }


    }

    /** setName method
     * 
     * Sets the name of the character
     * 
     * @param name Holds the String with the characters name
     * 
     */
    public void setName(String name) {

        this.name = name;

    }//End setName

    /** getName method
     * 
     * Returns the name of the character
     * 
     * @return name 
     */
    public String getName() {

        return (name);

    }//End getName

    /** setGender method
     * 
     * Sets the gender of the character
     * 
     * Pre-Conditon: Has to be either male or female. If using a wierd 
     * race with 3 genders, this class doesn't support it. lol. 
     * 
     * @param gender
     */
    public void setGender(Gender gender) {

        this.gender = gender;

    }//End setGender

    /** getGender method
     * 
     * Returns the gender of the character
     * 
     * @return gender
     */
    public Gender getGender() {

        return (gender);

    }//End getGender

    /** setHp method
     * 
     * Sets the hit points of the character
     * 
     * @param hp Holds the hit points
     */
    public void setHp(int hp) {

        this.hp = hp;
        this.hp = this.hp + end;

    }//End setHp

    /** getHp method
     * 
     * Returns the hit points of the character
     * 
     * @return hp
     */
    public int getHp() {

        return (hp);

    }//End getHp

    /** setMp method
     * 
     * Sets the magic points of the character
     * 
     * @param mp Holds the magic points of the character
     */
    public void setMp(int mp) {

        this.mp = mp;

    }//End setMp

    /** getMp method
     * 
     * Returns the magic points of the character
     * 
     * @return mp
     */
    public int getMp() {

        return (mp);

    }//End getMp

    /** setXp method
     * 
     * Sets the experience points of the character
     * 
     * @param xp Holds the experience points of the character
     */
    public void setXp(long xp) {

        this.xp = xp;

    }//End setXp

    /** getXp method
     * 
     * Returns the experience points of the character
     * 
     * @return xp
     */
    public long getXp() {

        return (xp);

    }//End getXp

    /** setLvl method
     * 
     * Sets the level of the character
     * 
     * @param lvl Holds the level of the character
     */
    public void setLvl(int lvl) {

        this.lvl = lvl;

    }//End setLvl

    /** getLvl method
     * 
     * Returns the level of the character
     * 
     * @return lvl
     */
    public int getLvl() {

        return (lvl);

    }//End getLvl

    /** setStr method
     * 
     * Sets the strength of the character
     * 
     * @param str Holds the strength of the character
     */
    public void setStr(int str) {

        this.str = str;

    }//End setStr

    /** getStr method
     * 
     * Returns the strength of the character
     * 
     * @return str
     */
    public int getStr() {

        return (str);

    }//End getStr

    /** setEnd method
     * 
     * Sets the endurance of the character
     * 
     * @param end Holds the endurance of the character
     */
    public void setEnd(int end) {

        this.end = end;

    }//End setEnd

    /** getEnd method
     * 
     * Returns the endurance of the character
     * 
     * @return end
     */
    public int getEnd() {

        return (end);

    }//End getEnd

    /** setDex method
     * 
     * Sets the dexterity of the character
     * 
     * @param deex Holds the dexterity of the character
     */
    public void setDex(int dex) {

        this.dex = dex;

    }//End setDex

    /** getDex method
     * 
     * Returns the dexterity of the character
     * 
     * @return dex
     */
    public int getDex() {

        return (dex);

    }//End getDex

    /** setLuck method
     * 
     * Sets the luck of the character
     * 
     * @param luck Holds the luck of the character
     */
    public void setLuck(int luck) {

        this.luck = luck;

    }//End setLuck

    /** getLuck method
     * 
     * Returns the luck of the character
     * 
     * @return luck
     */
    public int getLuck() {

        return (luck);

    }//End getLuck

    /** lvlUp method
     * 
     * Updates the status of the character when s/he levels up
     * 
     */
    public void lvlUp() {

        hp = hp + lvlUpHp;
        mp = mp + lvlUpMp;
        str = str + lvlUpStat;
        end = end + lvlUpStat;
        dex = dex + lvlUpStat;
        luck = luck + lvlUpStat;

        lvl = lvl + 1;

    }//End lvlUp

    /** setStatus method
     * 
     * Sets the status of the character
     * 
     * @param status Holds the status of the character
     */
    public void setStatus(Status status) {

        //this.status = status;

        switch (status) {

            case NORMAL: {
            }//End normal case

            case KO: {
            }//End ko case

            case POISON: {
            }//End poison case

            case SLEEP: {
            }//End sleep case

            case PETRIFIED: {
            }//End petrified case

            case CURSED: {
            }//End cursed case

            default: {
            }//End default

        }//End switch

    }//End setStatus

    /** getStatus method
     * 
     * Returns the status of the character
     * 
     * @return status
     */
    public Status getStatus() {

        return (status);

    }//End getStatus

    /** setJob method
     * 
     * Sets the job/class of the character
     * 
     * @param job Holds the job/class of the character
     */
    private void setJob(Job job) {

        //this.job = job;


        switch (job) {

            case WARRIOR: {
                //jStr = ;
            }//End WARRIOR case

            case KNIGHT: {
            }//End KNIGHT case

            case BMAGE: {
            }//End BMAGE case

            case WMAGE: {
            }//End WMAGE case

            default: {
            }//End default

        }//End switch

    }//End setJob method
}//End Player class





Edited to make format better. The IDE did something funky.

0 Comments On This Entry

 

Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

September 2020

S M T W T F S
  12345
6789101112
13141516171819
202122 23 242526
27282930   

Recent Entries

Search My Blog

2 user(s) viewing

2 Guests
0 member(s)
0 anonymous member(s)