Archive Forums (lite version).  Gaming, Game Development, and Anime community!


PDA

View Full Version : BattleJ source and Class Tree.


neozf
11-18-2007, 01:16 PM
Imma be using this thread to post the current version of my source code to make it easier to find the latest version :D

Status Class
class Status
{
private int Hp;
private int MaxHp;
private int Cart;
private int Cartridge;
private int MaxCart;
private int Str;
private int FireDef;


Status(int MaxHp,int Str)
{
this.Hp=MaxHp;
this.MaxHp=MaxHp;
this.Str=Str;
}
public void CartMax(int MaxCart)
{
this.MaxCart = MaxCart;
}
public void Recov(int Power)
{
Hp=Hp+Power;
if(Hp>MaxHp){Hp=MaxHp;}
}

public void Reload(int Amount)
{
Cart+=Amount;
}

public int GetStr(){return Str;}


public void Damag(int Dmg)
{
Hp=Hp-Dmg;
}

public int GetCart(){return Cart;}
public int GetMaxCart(){return MaxCart;}
public int GetHp(){return Hp;}

public void UseCart(int Amount)
{
Cart-=Amount;
}

public void ShowHealth()
{
System.out.println(Hp+"/"+MaxHp+" Hp Remaining");
}

public void ShowCart()
{
System.out.print("Cartridges remaining: ");
for (Cartridge=Cart; Cartridge>0; Cartridge--)
{
System.out.print("0 ");
}
for (Cartridge=MaxCart-Cart;Cartridge>0;Cartridge--)
{
System.out.print("X ");
}
}

public void ChangeFireDef(int Amount)
{
FireDef=Amount;
}

}

Skill Class
class Skill
{
private int ID;
private String Name;
private int Power;
private int Extra;
private int CartCost;
private char Element;
private int AttackTimes=1;
private int TotalDmg;


Skill(int ID, String Name, int Power, int Extra, int CartCost, char Element,int AttackTimes)
{
this.ID=ID;
this.Name=Name;
this.Power=Power;
this.Extra=Extra;
this.CartCost=CartCost;
this.Element=Element;
this.AttackTimes=AttackTimes;
}

public String GetName()
{
return Name;
}
public int GetCost()
{
return CartCost;
}

public void SkillUse(Status Target, Status User,Cartridge CurCart)
{
if (User.GetCart()>=CartCost)
{
System.out.println("\t"+Name.toUpperCase());
CurCart.UseCart(User, CartCost);
for(int AttackRemain=AttackTimes;AttackRemain!=0;AttackRem ain--)
{
TotalDmg=0;
int DMG=(int) (Math.ceil(Math.random()*Power)+Extra);
TotalDmg+=DMG;
System.out.println("You Deal "+DMG+ " Damage");
}
Target.Damag(TotalDmg);
} else {
System.out.println("\tSKILL FAILED");
}
}

}


Items Class
class Items
{
private String Name;
private char Type;
private boolean CType;

public void SetName(String Name)
{
this.Name=Name;
}
public void SetType(char Type)
{
this.Type=Type;
}

public String GetName()
{
return Name;
}
public char GetType()
{
return Type;
}
public boolean CheckType(char type)
{
if (Type==type)
{
CType=true;
} else { CType=false;}
return CType;
}

}

Weapon Class
import java.io.*;
class Weapon extends Items
{
private int MinPower;
private int MaxPower;
private int CartSlot;
private char Element;
private Status Stat;
private Skill SkillID1;
private Skill SkillID2;
private int AttackTimes;
private int AttackRemain;
private int TotalDmg;
private Cartridge Cart;

public Weapon(String Name, int MinPower,int MaxPower, int CartSlot, char Element, char Type, Status Stat, Skill SkillID1, Skill SkillID2,Cartridge Cart,int AttackTimes)
{
SetName(Name);
this.MinPower = MinPower;
this.MaxPower = MaxPower;
this.CartSlot = CartSlot;
this.Element = Element;
SetType(Type);
this.Stat = Stat;
this.SkillID1=SkillID1;
this.SkillID2=SkillID2;
this.AttackTimes=AttackTimes;
this.Cart=Cart;

}


public String GetSkillID1(){String a=SkillID1.GetName().replace("_"," "); return a;}
public String GetSkillID2(){String a=SkillID2.GetName().replace("_"," "); return a;}
public void ChangeCart(Cartridge NewCart){Cart=NewCart;}
public int GetCart(){return CartSlot;}
public void SetCartMax()
{
Stat.CartMax(CartSlot);
}

public int Strike(boolean Player)
{
TotalDmg=0;
if((GetType()=='G'&&Stat.GetCart()>=1)||GetType()=='B')
for(AttackRemain=AttackTimes;AttackRemain!=0;Attac kRemain--)
{
if(GetType()=='G')
{
Cart.UseCart(Stat,1);
}
int DMG=(int) Math.ceil((Math.random()*MaxPower)+MinPower+Stat.G etStr());
if(Player){System.out.println("You deal "+DMG+" damage");}
if(!Player){System.out.println("The enemy deals "+DMG+" damage");}
TotalDmg+=DMG;
}
return TotalDmg;
}
public void SkillName(int SkillNum, Status Target, Status User, Cartridge CurrentCart)
{
if(SkillNum==1)
{
SkillID1.SkillUse(Target,User,CurrentCart);
} else if(SkillNum==2)
{
SkillID2.SkillUse(Target,User,CurrentCart);
}
}

}

Cartridge Class
class Cartridge extends Items
{
private int Amount;
private char Element;

public Cartridge(String Name, char Type, int Amount, char Element)
{
SetName(Name);
SetType(Type);
this.Amount = Amount;
this.Element = Element;
}

public void Reload(Status Stat)
{
if(((Amount>=(Stat.GetMaxCart()-Stat.GetCart()))||Amount>=1)&&Stat.GetCart()!=Stat.GetMaxCart())
{
System.out.println("\tRELOAD");
if(Amount>=(Stat.GetMaxCart()-Stat.GetCart()))
{
int n = Stat.GetMaxCart()-Stat.GetCart();
Stat.Reload(n);
Amount-=n;
} else
{
Stat.Reload(Amount);
Amount-=Amount;
}
} else
{
System.out.println("\tRELOAD FAILED");
}
}

public int GetAmount()
{
return Amount;
}
public char GetElement()
{
return Element;
}

public void UseCart(Status User, int Amount)
{
User.UseCart(Amount);
}

public void ChangeAmount(int Amount)
{
this.Amount+=Amount;
}

}

Usable Class
class Usable extends Items
{
private int Power;
private int Amount;
private Status Target;

public Usable(String Name, int Power,int Amount, char Type)
{
SetName(Name);
this.Power = Power;
this.Amount=Amount;
SetType(Type);
}

public int GetAmount(){return Amount;}

public void Use(Status Target)
{
if (CheckType('H'))
{
this.Target=Target;
Target.Recov(Power);
System.out.println("Healed "+Power+"Hp with "+GetName());
Amount--;
} else
if (CheckType('D'))
{
this.Target=Target;
Target.Damag(Power);
System.out.println("Dealt "+Power+" Dmg with "+GetName());
Amount--;
}
}

public void ChangeAmount(int Change)
{
Amount-=Change;
}


}

Itembag Class
import java.util.*;
class Itembag
{
LinkedList<Usable> ItemList=new LinkedList();
private int MaxSize;
private int CurrentAmount=0;
private Status User;
private Status Enemy;
private Usable Current=null;
private int select;
private boolean Empty=false;

Itembag(int MaxSize,Status User,Status Enemy)
{
this.MaxSize=MaxSize;
this.User = User;
this.Enemy=Enemy;
}

public void AddItem(Usable NameU)
{
ItemList.add(NameU);
CurrentAmount++;
}

public String GetItemName(int Number)
{
Current=ItemList.get(Number);
return Current.GetName();
}

public int GetItemAmount(int Number)
{
Current=ItemList.get(Number);
return Current.GetAmount();
}

public void GetItems()
{
for(int a=0;a!=ItemList.size();a++)
{
Current=ItemList.get(a);
System.out.println((a+1)+". "+Current.GetName()+" X"+Current.GetAmount());
}
}

public void UseItem(int Number)
{
Current=ItemList.get(Number);
System.out.println("You used a "+Current.GetName());
if(Current.CheckType('H'))
{
Current.Use(User);
} else if (Current.CheckType('D'))
{
Current.Use(Enemy);
}

if(Current.GetAmount()==0)
{
ItemList.remove(Number);
}
if(ItemList.size()==0)
{Empty=true;}
}

public boolean CheckEmpty()
{
return Empty;
}

}

Cartbag Class
import java.util.*;
public class Cartbag
{
LinkedList<Cartridge> CartList = new LinkedList();
private int MaxSize;
private int CurrentAmount=0;
private Status User;
private int select;
private Cartridge Current;
private boolean Empty=false;

Cartbag (int MaxSize,Status User)
{
this.MaxSize=MaxSize;
this.User=User;
}

public void AddCart(Cartridge Name)
{
CartList.add(Name);
CurrentAmount++;
}

public String GetCartName(int Number)
{
Current=CartList.get(Number);
return Current.GetName();
}

public int GetCartAmount(int Number)
{
Current=CartList.get(Number);
return Current.GetAmount();
}

public void GetCarts()
{
for (int a=0;a!=CartList.size();a++)
{
Current=CartList.get(a);
System.out.println((a+1)+". "+Current.GetName()+" X"+Current.GetAmount());
}
}

public void ChangeCart(int Number)
{
Current=CartList.get(Number);
System.out.println("Changed current Cartridge to "+Current.GetName());
if (Current.GetAmount()==0)
{
CartList.remove(Number);
}
if (CartList.size()==0)
{Empty=true;}
}
public Cartridge CartChanging(int Number)
{
Current=CartList.get(Number);
return Current;
}

}

Google
--

neozf
11-27-2007, 04:37 PM
Declare Class
public class Declare
{
private Cartridge CurrentCart;
private Weapon CurrentWep;
private Weapon CurrentEnemyWep;
private Status CurrentPlayer;
private Status CurrentEnemy;
private Itembag CurrentItemB;
private Cartbag CurrentCartB;
Declare()
{
//Status
Status Player = new Status(50,5);
Status Enemy = new Status(60,5);

//Skills
Skill NULL = new Skill(0,"NULL",0,0,0,'N',1);
Skill Flame_Strike = new Skill(1,"Flame Strike",8,10,1,'F',1);
Skill Deus_Shot = new Skill(2,"Deus Shot",18,11,5,'N',1);
Skill Barrel_Explosion = new Skill(3,"Barrel Explosion",12,9,3,'F',1);
Skill Focus_Slash = new Skill(4,"Focus Slash",5,15,2,'N',1);
Skill Double_Shot = new Skill(5,"Double Shot",10,7,2,'N',2);

//Weapons
Weapon Longsword = new Weapon("Long Sword", 7,10, 5, 'N', 'B', Player, Flame_Strike, Deus_Shot,CurrentCart,1);
Weapon Greatsword = new Weapon("Great Sword", 9,12, 3, 'N', 'B', Player,Flame_Strike,Barrel_Explosion,CurrentCart,1 );
Weapon Dualdagger = new Weapon("Dual Dagger", 5,7, 4, 'N', 'B',Player,Flame_Strike,Focus_Slash,CurrentCart,2) ;
Weapon Handgun = new Weapon("Hand Gun", 7,10, 8, 'N', 'G', Player,Double_Shot,Deus_Shot,CurrentCart,1);

Weapon Claw = new Weapon("Claw",5,6,0,'N','B',Enemy,NULL,NULL,null,1);

//Usable
Usable Hp_Pot = new Usable("Hp Potion",30,3,'H');
Usable Bomb = new Usable("Bomb",30,2,'D');
Usable Big_Bomb = new Usable("Big Bomb",100,1,'D');

//Cartridge
Cartridge Plain = new Cartridge("Plain Cartridge",'S', 20,'N');
Cartridge Flame = new Cartridge("Flame Cartridge",'S', 10,'F');

//Itembag
Itembag ItemB = new Itembag(5,Player,Enemy);
ItemB.AddItem(Hp_Pot);
ItemB.AddItem(Bomb);
ItemB.AddItem(Big_Bomb);

//Cartbag
Cartbag CartB = new Cartbag(5,Player);
CartB.AddCart(Plain);
CartB.AddCart(Flame);

//Set Currents
CurrentWep=Greatsword;
CurrentCart=Plain;
CurrentEnemyWep=Claw;
CurrentPlayer=Player;
CurrentEnemy=Enemy;
CurrentItemB=ItemB;
CurrentCartB=CartB;
}

public Weapon ReturnWeapon() {return CurrentWep;}
public Cartridge ReturnCart() {return CurrentCart;}
public Weapon ReturnEnemyWep() {return CurrentEnemyWep;}
public Status ReturnPlayer() {return CurrentPlayer;}
public Status ReturnEnemy() {return CurrentEnemy;}
public Itembag ReturnItemB(){return CurrentItemB;}
public Cartbag ReturnCartB(){return CurrentCartB;}

}Command Class
class Command
{
private int Choice;
private int a;
private String[] Normal={"Attack","Cartridge System","Item"};

Command(){}

public void ShowOptions()
{
for(a=0;a!=Normal.length;a++)
{
System.out.print((a+1)+". "+Normal[a]+"\n");
}
}

}Battle Class
import java.util.Scanner;
public class Battle
{
Battle(){}

public void BattleGame()
{
Scanner in = new Scanner(System.in);

//START UP!
Declare BS=new Declare();

Weapon CurrentWep=null;
Weapon EnemyWep=null;
Cartridge CurrentCart=null;
Status Player=null;
Status Enemy=null;
Itembag ItemB=null;
Cartbag CartB=null;

//Set Polys
CurrentWep = BS.ReturnWeapon();
EnemyWep=BS.ReturnEnemyWep();
CurrentCart=BS.ReturnCart();
CurrentWep.ChangeCart(BS.ReturnCart());
Player=BS.ReturnPlayer();
Enemy=BS.ReturnEnemy();
ItemB=BS.ReturnItemB();
CartB=BS.ReturnCartB();
CurrentWep.SetCartMax();


Command Standard = new Command();


//Declare Variables
String[] Normal = {"Attack","Cartridge System","Item"};
String[] CS = {"Change Cartridge", "Reload",CurrentWep.GetSkillID1(),CurrentWep.GetSkillID2() };
String[] Items= {};
boolean Turnover=false;

int Select;
int a;

//Battle Start
while(true)
{
Player.ShowHealth();
Player.ShowCart();
System.out.println("\nWhat will you do?");
Standard.ShowOptions();
Select=in.nextInt();
System.out.println();
switch(Select)
{
case 1:
Enemy.Damag(CurrentWep.Strike(true));
Turnover=true;
break;
case 2:
System.out.println("\nWhat will you do?");
for (a=0;a!=CS.length;a++)
{
System.out.print((a)+". "+CS[a]);
if(a==1){System.out.print("("+CurrentCart.GetAmount()+" Remaining)");}
System.out.println();
}
Select=in.nextInt();
switch(Select)
{
case 0:
System.out.println("Which Cartridge do you want to load?");
CartB.GetCarts();
Select=in.nextInt();
switch(Select)
{
default:
CurrentCart.ChangeAmount(Player.GetCart());
Player.UseCart(Player.GetCart());
CartB.ChangeCart(Select-1);
CurrentCart=CartB.CartChanging(Select-1);
CurrentWep.ChangeCart(CartB.CartChanging(Select-1));
Turnover=false;
break;
}
break;

case 1:
CurrentCart.Reload(Player);
Turnover=false;
break;
case 2:
CurrentWep.SkillName(1,Enemy,Player,CurrentCart);
Turnover=true;
break;
case 3:
CurrentWep.SkillName(2,Enemy,Player,CurrentCart);
Turnover=true;
break;
}
break;
case 3:
if(ItemB.CheckEmpty()){System.out.println("No Items to Use");break;}
System.out.println("What do you use?");
ItemB.GetItems();
Select=in.nextInt();
switch(Select)
{
default:
BS.ReturnItemB().UseItem(Select-1);
Turnover=true;
break;
}
break;

case 0:
System.exit(6);

}
if (Enemy.GetHp()<1)
{
System.out.println("You win!");
System.exit(2);
}
if (Turnover==true){Player.Damag(EnemyWep.Strike(fals e));}
Turnover=false;
if (Player.GetHp()<1)
{
System.out.println("You lose");
System.exit(2);
}
}
}
} Main Class
public class Main
{
public static void main()
{
Battle Game = new Battle();
Game.BattleGame();
}


}Class Tree
(Dashed arrows mean the class uses the class it's pointing to. A normal arrow means the class is extended from the class it's pointing to.)
http://www.editingarchive.com/imgs/394.jpg

(So huge I had to make another post)

Walrii
11-27-2007, 08:08 PM
Woah Neo, that's a lot of code. :)

Good job.

(Sim, can we have the forums not automatically insert "PHP Code" when using the code tag?)

neozf
11-28-2007, 02:56 AM
Walrii: I've been using the [PHP] tags since it colour codes it.

Travis
11-28-2007, 10:06 AM
It doesn't color-code it for Java...

Sim9
11-30-2007, 01:11 AM
If you want to make a new thread in bugs/suggestions, I think there's some really nice plugins available. But I don't want to make this thread offtopic (http://www.editingarchive.com/imgs/302.jpg) :)