Page 1 of 1

Implementing more than one class in Browxy

Posted: Tue Feb 26, 2019 4:29 pm
by zaxschwartz@gmail.com
Hello, I am currently working on a simplistic RPG in Java. Entirely text based, and currently absolutely linear as you cannot go back and fight a previous foe. I mean, there are only two there at the moment but it matters little.
What I want to do is to make the game have a loop that causes it to keep on going into 1v1 fights until the end. To do this, I want to make foeCON and foeName into part of a "foeStats" class. However, it seems that Browxy cannot let me make two classes at once. While this may have been changed in the transition to the new version, if anyone has advice I'd like to hear it.
Code is as follows:
CommonerQuestv9

Code: Select all

import java.util.Scanner;
public class commonerQuest {
String attackNameNormal;
int dieCount;
int dieSide;
double accuracy;
double critLimit;
//Static Variable
static double foeCON=0.0;
static int foeCONUp=0;
static int winCount;
static int noHeals=0;
static String classType;
static String foeName;
static double foeHealth;
static double foeMaxHealth;
static double playerHealth;
static double playerMaxHealth;
	//Constructors
	public commonerQuest(String attackNameNormal, int dieCount, int dieSide, double accuracy, double critLimit)
	{
		//Normal Attack
		this.attackNameNormal=attackNameNormal;
		this.dieCount=dieCount;
		this.dieSide=dieSide;
		this.accuracy=accuracy;
		this.critLimit=critLimit;
	}
	public commonerQuest()
	{
		//Normal Attack
		this.attackNameNormal="<normal attack name>";
		this.dieCount=0;
		this.dieSide=0;
		this.accuracy=0.0;
		this.critLimit=0.0;
	}
		//setters
	public void setAccuracy(double accuracy)
	{this.accuracy=accuracy;}
	public void setAttackNameNormal(String attackNameNormal)
	{this.attackNameNormal=attackNameNormal;}
	public void setCritLimit(double critLimit)
	{this.critLimit=critLimit;}
	public void setDieSide(int dieSide)
	{this.dieSide=dieSide;}
	public void setDieCount(int dieCount)
	{this.dieCount=dieCount;}
	//getters
	public double getAccuracy()
	{return this.accuracy;}
	public String getAttackNameNormal()
	{return this.attackNameNormal;}
	public double getCritLimit()
	{return this.critLimit;}
	public int getDieSide()
	{return this.dieSide;}
	public int getDieCount()
	{return this.dieCount;}
	public static void main(String[] args){
	System.out.println ("Welcome to COMMONER QUEST!");
	System.out.println ("Please input name.");
	int classChangeLoop=0;
	double randoFoe=(0);
	double gold=(Math.ceil((Math.random()*4)+(Math.random()*4)+(Math.random()*4)));
	double currentGold=(Math.ceil((Math.random()*4))+100);
	System.out.println ("Current cash:"+currentGold);
	double currentRoll=0;
	double totalRoll=0;
	classType=" ";
     //Class stats   	
	//Commoner Stats
	double commonCON=(Math.ceil(Math.random()*19)+1);
	playerHealth=commonCON+10;
	playerMaxHealth=playerHealth;
	System.out.println("Commoner Max Health="+playerHealth);
	System.out.println("");
	classType="Commoner";
	double rogueCON=(Math.random()*29)+1;
	double warriorCON=(Math.random()*19)+1;
    //Foe Stats	
	//Cat stats
	foeCON=Math.ceil((Math.random()*14)+1);
	foeHealth=foeCON+6;
	foeMaxHealth=foeHealth;
	foeName="Cat";
	//Grue Stats
	foeCON=Math.ceil((Math.random()*29)+1);
	//double foeHealth=grueCON+10+Math.ceil((Math.random()*5)+1);
	double grueEvade=2;
	//Constructors
	  //Attack
	//public statusAttack()
	//public healAttack()
	
	
	//Name effects
	Scanner playerNameInput = new Scanner(System.in); 
        String playerName = playerNameInput.nextLine();
        System.out.println ("Welcome "+playerName+"!");
        String playerNameEffect=playerName.toLowerCase();
        if (playerNameEffect.equals("muffin")||playerNameEffect.equals("tiamat")||playerNameEffect.equals("fluff")||playerNameEffect.equals("*fluff*"))
        	{
        	System.out.println ("*fluff*");
        	playerMaxHealth+=5;
        	} 
        if (playerNameEffect.equals("king") || playerNameEffect.equals("dr mcninja") || playerNameEffect.equals("white mage") || playerNameEffect.equals("jester") || playerNameEffect.equals("hard mode") )
        	{
        	System.out.println ("YOU WERE WARNED! YOU ARE NOW WEAKER THAN BEFORE.");
        	playerHealth-=5;
        	currentGold-=50;
        	foeCONUp=1;
        	}
        if (playerNameEffect.equals("cuco") || playerNameEffect.equals("almond") || playerNameEffect.equals("cucumber") || playerNameEffect.equals("carrot"))
        	{
        	System.out.println ("Welcome to CucoQuest (tm)");
        	currentGold+=60;
        	foeCONUp=-1;
        	}
        if (playerNameEffect.equals("grue")||playerNameEffect.equals("zork"))
       		{
        	System.out.println ("It is pitch black. You are likely to be eaten by a grue.");
        	playerMaxHealth-=5;
        	}
        if (playerNameEffect.equals("lich")||playerNameEffect.equals("roxas")|playerNameEffect.equals("ada")||playerNameEffect.equals("dregg")||playerNameEffect.equals("amber"))
        	{
        	System.out.println ("And with many strange aeons even death may die.");
        	System.out.println ("Beware the Wolfsbane.");
        	noHeals=-1;
        	playerMaxHealth+=5;
        	}
	//Printing stats
	System.out.println("Commoner Max Health="+playerMaxHealth);
	System.out.println("Cat Max Health="+foeHealth);
	System.out.println("Grue Max Health="+foeHealth);
	System.out.println ("Current cash:"+currentGold);
	System.out.println ("");
	
	//Commoner Attacks Flail 2d6, Punch 1d8, Slap 1d4, Kick 1d12
	double damageBreath=0.0;
	
	//Cat Attacks Claw3d4, Bite 1d6, HB2d4, Slash1d12

	//Scenario Battle 1 (Cat)
	System.out.println ("You are a lowly COMMONER. You have no value at all. You are wandering the streets when HOLYCOWWHATTHEHECK a CAT just jumped at you!");
	System.out.println ("What do you DO?!");
	System.out.println ("Available attacks are: Kick, Slap, Punch, Flail and Breathe. Please do not use spaces or the attack may be invalid.");
	System.out.println ("You may also use the corresponding number keys for offensive attacks and QWERTY for healing ones.");
	//Executes Battle 1
	foeCON=Math.ceil((Math.random()*14)+1);
	CONCheck();
	foeHealth=foeCON+6;
	foeMaxHealth=foeHealth;
	while ((foeHealth>0)&&(playerHealth>0) && winCount<1)
	{
		randoFoe=(Math.ceil((Math.random()*4)));
		System.out.print (">Input attack: ");
		Scanner actionCommon = new Scanner(System.in); 
        	String attackCommon = actionCommon.nextLine(); 
        	attackCommon=attackCommon.toLowerCase( );
        	System.out.println("//"+playerName+"'s Turn\\\\");
		if (attackCommon.equals("kick")||attackCommon.equals("1"))
			{
			commonerQuest kick=new commonerQuest("Kick",1,12,35.0,12.0);
			normalAttackHit(kick);
			}
			
		if (attackCommon.equals("slap") || attackCommon.equals("2"))
			{
			commonerQuest slap=new commonerQuest("Slap",1,4,5.0,4.0);
			normalAttackHit(slap);
			}
		if (attackCommon.equals("punch") || attackCommon.equals("3"))
			{
			commonerQuest punch=new commonerQuest("Punch",1,8,15.0,8.0);
			normalAttackHit(punch);
			}
		if (attackCommon.equals("flail") || attackCommon.equals("4"))
			{
			commonerQuest flail=new commonerQuest("Flail",2,6,42.0,12.0);
			normalAttackHit(flail);
			}	
		if (attackCommon.equals("breath") || attackCommon.equals("breathe") || attackCommon.equals("q"))
			{
			commonerQuest breath=new commonerQuest("Breathe",1,6,6.0,0);
         		healAttackPlayer(breath);
			}	
		if (attackCommon.equals("pet"))
			{
			System.out.println ("Commoner...um...pets the murdercat for some reason. The cat tries to claw the hand off.");
			System.out.println ("You sure that was a good idea? At least the cat took 1 damage.");
			foeHealth--;
			System.out.println ("Cat Health is now "+foeHealth+"/"+foeMaxHealth);
			}
		if (attackCommon.equals("derp") || attackCommon.equals("xyz"))
			{
			System.out.println ("0m3G4 protocol activated. Foe death inbound.");
			foeHealth=0.0;
			}
		System.out.println("\\\\"+foeName+"'s Turn//");
		//Cat Attacks	
		if (randoFoe==1)
			{
			commonerQuest slash=new commonerQuest("Slash",1,12,25.0,11.0);
			foeAttackHit(slash);
			}
		if (randoFoe==2)
			{
			commonerQuest claw=new commonerQuest("Claw",3,4,55.0,12.0);
			foeAttackHit(claw);
			}
		if (randoFoe==3)
			{
			commonerQuest bite=new commonerQuest("Bite",2,3,10.0,6.0);
			foeAttackHit(bite);
			}
		if (randoFoe==4)
			{
			commonerQuest hairball=new commonerQuest("Hairball",2,4,15.0,8.0);
			foeAttackHit(hairball);
			}
		turnSummary();
	}
	if (playerHealth<=0)
		System.out.println ("You lose! Commoner is felled! Cat is victorious! Cat gets 3d4="+gold+" GP!");
	if ((foeHealth<=0)&&(playerHealth>0))
		{
			System.out.println ("You win! Cat is felled! Commoner is victorious! Commoner gets 3d4="+gold+" GP!");
			winCount++;
		}
	if (winCount==1)
	{
		System.out.println ("===");
		System.out.println ("===");
		System.out.println ("Congratulations! You've unlocked a class change!"); 
		System.out.println ("Would you like to be a WARRIOR or a ROGUE?");
		classChangeLoop=1;
        	
	        while (classChangeLoop==1)
		{ 
		Scanner classChange1 = new Scanner(System.in); 
        	String classChange1alpha = classChange1.nextLine();
        	classChange1alpha=classChange1alpha.toLowerCase();
			if (classChange1alpha.equals("warrior") || classChange1alpha.equals("rogue"))
			{
				if (classChange1alpha.equals("warrior"))
					{
					System.out.println ("You are now a WARRIOR! You do not strike as hard as possible, but you can take hits like a walking sheet of metal.");
					System.out.println ("...which you basically are, so that works out pretty well.");
					classType="Warrior";
					classChangeLoop=0;
					}
				if (classChange1alpha.equals("rogue"))
					{
					System.out.println ("You are now a ROGUE! You are not very good at taking blows, but you can backstab your way to victory.");
					System.out.println ("You can sometimes hit so fast that you get in another attack before your foes can react! Be the onslaught!");
					classType="Rogue";
					classChangeLoop=0;
					}
			}
			else
			{
				System.out.println("I'm sorry, I did not get that. You might have typed in a space or mispelled your input.");
				System.out.println ("===");
				System.out.println ("===");
				System.out.println ("Congratulations! You've unlocked a class change!"); 
				System.out.println ("Would you like to be a WARRIOR or a ROGUE?");
			}
		}
	}
	//Battle 2:Grue
	if (winCount==1)
	{
		foeName="Grue";
		if (classType==("Warrior"))
		{
			
			playerMaxHealth=(playerMaxHealth)+warriorCON+15;
		}
		if (classType==("Rogue"))
		{
			
			playerMaxHealth=playerMaxHealth+rogueCON+5;
		}
		playerMaxHealth=Math.ceil(playerMaxHealth);
		healCheck();
		foeCON=Math.ceil((Math.random()*29)+1);
		CONCheck();
		foeHealth=45+foeCON;
		foeMaxHealth=foeHealth;
		System.out.println ("===");
		System.out.println ("===");
		System.out.println ("Alike all, you are twisty in passages of a little maze.");
		System.out.println("You find the early 80's reference suspicious when A GRUE ABRUPLTY ATTACKS! You have no idea what this is! Seriously, there was originally no art.");
		System.out.println("Let's say its a crane. A giant sharp toothed angry crane.");
		while ((foeHealth>0)&&(playerHealth>0) && winCount==1)
		{
        	System.out.println("//"+playerName+"'s Turn\\\\");
        	randoFoe=(Math.ceil(Math.random()*9)+1);
			if (classType=="Rogue")
			{
        		commonerQuest followUp=new commonerQuest("Follow-up",1,4,5.0,4.0);
			System.out.println("Available attacks are: Shiv, Backstab, Hurl, Blitz, Agility and Bandage");
			System.out.println("Bandage and Agility are defensive and as such are QWERTY. All other attacks have hotkeys with the number keys.");
			Scanner actionB2 = new Scanner(System.in);
        		String attackB2 = actionB2.nextLine();
        		attackB2=attackB2.toLowerCase();
        		char attackB2C=attackB2.charAt(0);
        		double followUpCheck=(Math.ceil(Math.random()*5));
			if (attackB2.equals("shiv")||attackB2.equals("1"))
				{
				commonerQuest shiv=new commonerQuest("Shiv",2,4,10.0,8.0);
				normalAttackHit(shiv);
				if (followUpCheck>2)
					{
						normalAttackHit(followUp);
					}
				}
			if (attackB2.equals("backstab")||attackB2.equals("2"))
				{
				commonerQuest backstabA=new commonerQuest("Backstab",1,6,15.0,6.0);
				normalAttackHit(backstabA);
				commonerQuest backstabB=new commonerQuest("Follow-up",1,4,30.0,4.0);
				normalAttackHit(backstabB);
				if (followUpCheck>3)
					{
						normalAttackHit(followUp);
					}
				}
				if (attackB2.equals("hurl")||attackB2.equals("3"))
				{
				commonerQuest hurl=new commonerQuest("Hurl",1,8,5.0,8.0);
				normalAttackHit(hurl);
				}
				if (attackB2.equals("blitz")||attackB2.equals("4"))
				{
				commonerQuest blitz=new commonerQuest("Blitz",4,4,50.0,14.0);
				normalAttackHit(blitz);
					if (followUpCheck>3)
					{
						normalAttackHit(followUp);
						while (followUpCheck>4)
						{
						followUpCheck=(Math.ceil(Math.random()*4)+1);
						normalAttackHit(followUp);
						}
					
					}
				if (attackB2.equals("bandage") || attackB2.equals("q"))
				{
				commonerQuest bandage=new commonerQuest("bandage",1,12,11.0,0);
				healAttackPlayer(bandage);
					if (followUpCheck>3)
					{
						normalAttackHit(followUp);
					}
				}
				}
			}
			if (classType=="Warrior")
			{
				System.out.println("Available attacks are: Smash, Bash, Flurry, Rend, Block and Bandage");
				System.out.println("Block and Bandage are defensive and as such are QWERTY. All other attacks have hotkeys with the number keys.");
				Scanner actionB2 = new Scanner(System.in);
        			String attackB2 = actionB2.nextLine();
        			attackB2=attackB2.toLowerCase( );
				if (attackB2.equals("smash")||attackB2.equals("1"))
				{
				commonerQuest smash=new commonerQuest("Smash",1,6,1.0,6.0);
				normalAttackHit(smash);
				}
				if (attackB2.equals("bash")||attackB2.equals("2"))
				{
				commonerQuest bash=new commonerQuest("Bash",2,4,15.0,7.0);
				normalAttackHit(bash);
				}
				if (attackB2.equals("flurry")||attackB2.equals("3"))
				{
				commonerQuest flurryA=new commonerQuest("Flurry",2,4,40.0,16.0);
				normalAttackHit(flurryA);
				System.out.println("Warrior rests for a moment");
				commonerQuest flurryB=new commonerQuest("Finisher!!",1,8,15.0,16.0);
				normalAttackHit(flurryB);
				}
				if (attackB2.equals("rend")||attackB2.equals("4"))
				{
				commonerQuest rend=new commonerQuest("Rend",1,20,20.0,6.0);
				normalAttackHit(rend);
				}
				if (attackB2.equals("bandage") || attackB2.equals("q"))
				{
				commonerQuest bandage=new commonerQuest("bandage",3,4,10.0,0);
				healAttackPlayer(bandage);
				}
			}
			commonerQuest combo=new commonerQuest("its speed for a Combo Attack!",1,4,35.0,4.0);
			double comboCheck=(Math.ceil(Math.random()*19)+1);
			if (randoFoe==1||randoFoe==2)
			{
				commonerQuest gnaw=new commonerQuest("Gnaw",2,4,10.0,8.0);
				foeAttackHit(gnaw);
				if (comboCheck>18)
				{
					foeAttackHit(combo);
				}
			}
			if (randoFoe==3||randoFoe==4)
			{
				commonerQuest ravage=new commonerQuest("Ravage",3,4,15.0,10.0);
				foeAttackHit(ravage);
				if (comboCheck>15)
				{
					foeAttackHit(combo);
				}
			}
			if (randoFoe==5)
			{
				commonerQuest grind=new commonerQuest("Grind",1,20,25.0,20.0);
				foeAttackHit(grind);
				if (comboCheck>18)
				{
					foeAttackHit(combo);
				}
			}
			if (randoFoe==7||randoFoe==8)
			{
				commonerQuest swiftBlow=new commonerQuest("Swift Blow",1,8,5.0,3.0);
				foeAttackHit(swiftBlow);
				if (comboCheck>13)
				{
					foeAttackHit(combo);
					comboCheck=(Math.ceil(Math.random()*19)+1);
					if (comboCheck>16)
					{
						foeAttackHit(combo);
					}
				}
			}
			if (randoFoe==9||randoFoe==10)
			{
				commonerQuest gobble=new commonerQuest("Gobble",1,6,15.0,8.0);
				foeAttackHit(gobble);
				commonerQuest gobbleHeal=new commonerQuest("a darn self healing skill",1,4,4.0,4.0);
				healAttackFoe(gobbleHeal);
			}
			if (randoFoe==6)
			{
				commonerQuest heal=new commonerQuest("Heal",2,6,4.0,8.0);
				healAttackFoe(heal);
				if (comboCheck>18)
				{
					foeAttackHit(combo);
				}
			}
		turnSummary();
		}
	if (playerHealth<=0)
	{
		System.out.println ("You lose! "+classType+" is felled! Grue is victorious! Grue gets 3d4="+gold+" GP!");
	}
	if ((foeHealth<=0)&&(playerHealth>0))
		{
			System.out.println ("You win! Grue is felled! "+classType+" is victorious! "+classType+" gets 3d4="+gold+" GP!");
			winCount++;
		}
	}
        
	}
	public static void healAttackPlayer(commonerQuest aspectHeal)
	{
		int dieSide=aspectHeal.getDieSide();
		String attackNameNormal=aspectHeal.getAttackNameNormal();
		int dieCount=aspectHeal.getDieCount();
		double critLimit=aspectHeal.getCritLimit();
		double currentRoll=0;
		double totalRoll=0;
		for (int i=0; i<dieCount; i++)
			{
				currentRoll=(Math.random()*(dieSide-1))+1;
				currentRoll=Math.ceil(currentRoll);
				totalRoll=totalRoll+=currentRoll;
				System.out.println ("Roll "+(i+1)+":"+currentRoll);
			}
		if (totalRoll>=critLimit)
			{
					totalRoll+=(totalRoll/4);
					totalRoll=(Math.floor(totalRoll));
			}
        	 playerHealth=playerHealth+=totalRoll;
        	 if (playerHealth>playerMaxHealth)
        	 {
        	 	playerHealth=playerMaxHealth;
        	 }
		System.out.print (classType+" uses "+attackNameNormal+"! ");
		System.out.println(classType+" Health is now "+playerHealth+" out of "+playerMaxHealth+".");
	}
	public static void normalAttackHit(commonerQuest aspectNormal)
	{
		int dieSide=aspectNormal.getDieSide();
		String attackNameNormal=aspectNormal.getAttackNameNormal();
		int dieCount=aspectNormal.getDieCount();
		double accuracy=aspectNormal.getAccuracy();
		double critLimit=aspectNormal.getCritLimit();
		double currentRoll=0;
		double totalRoll=0;
		double hitCheck=0.0;
		int missCount=0;
		for (int i=0; i<dieCount; i++)
			{
				currentRoll=(Math.random()*(dieSide-1))+1;
				currentRoll=Math.ceil(currentRoll);
				hitCheck=(Math.ceil(Math.random()*99)+1);
				if (accuracy<hitCheck)
				{
					totalRoll=totalRoll+=currentRoll;
					System.out.println ("Roll "+(i+1)+":"+currentRoll);
				}
				else
				{
					System.out.println("...the blow missed the foe");
					missCount++;
				}
			}
		if (totalRoll>=critLimit)
			{
					totalRoll+=(totalRoll/4);
					totalRoll=(Math.floor(totalRoll));
			}
		System.out.print (classType+" uses "+attackNameNormal+"! ");
		if (missCount<dieCount)
			{
			System.out.println (dieCount+"d"+dieSide+"="+totalRoll+". "+foeName+" takes "+totalRoll+" damage.");
			foeHealth=foeHealth-=totalRoll;
			}
		else
			{
			System.out.println("...But it missed completely!");
			}
		System.out.println(foeName+" Health is now "+foeHealth+" out of "+foeMaxHealth+".");
	}
	public static void foeAttackHit(commonerQuest aspectNormalFoe)
	{
		int dieSide=aspectNormalFoe.getDieSide();
		String attackNameNormalFoe=aspectNormalFoe.getAttackNameNormal();
		int dieCount=aspectNormalFoe.getDieCount();
		double accuracy=aspectNormalFoe.getAccuracy();
		double critLimit=aspectNormalFoe.getCritLimit();
		double currentRoll=0;
		double totalRoll=0;
		double hitCheck=0.0;
		int missCount=0;
		for (int i=0; i<dieCount; i++)
			{
				currentRoll=(Math.random()*(dieSide-1))+1;
				currentRoll=Math.ceil(currentRoll);
				hitCheck=(Math.ceil(Math.random()*99)+1);
				if (accuracy<hitCheck)
				{
					totalRoll=totalRoll+=currentRoll;
					System.out.println ("Roll "+(i+1)+":"+currentRoll);
				}
				else
				{
					System.out.println("...the blow missed you.");
					missCount++;
				}
			}
		if (totalRoll>=critLimit)
			{
					totalRoll+=(totalRoll/4);
					totalRoll=(Math.floor(totalRoll));
			}
		System.out.print (foeName+" uses "+attackNameNormalFoe+"! ");
		if (missCount<dieCount)
			{
			System.out.println (dieCount+"d"+dieSide+"="+totalRoll+". "+classType+" takes "+totalRoll+" damage.");
			playerHealth=playerHealth-=totalRoll;
			}
		else
			{
			System.out.println("...But it missed completely!");
			}
		System.out.println(classType+" Health is now "+playerHealth+" out of "+playerMaxHealth+".");
	}
	public static void healAttackFoe(commonerQuest aspectHeal)
	{
		int dieSide=aspectHeal.getDieSide();
		String attackNameNormal=aspectHeal.getAttackNameNormal();
		int dieCount=aspectHeal.getDieCount();
		double critLimit=aspectHeal.getCritLimit();
		double currentRoll=0;
		double totalRoll=0;
		for (int i=0; i<dieCount; i++)
			{
				currentRoll=(Math.random()*(dieSide-1))+1;
				currentRoll=Math.ceil(currentRoll);
				totalRoll=totalRoll+=currentRoll;
				System.out.println ("Roll "+(i+1)+":"+currentRoll);
			}
		if (totalRoll>=critLimit)
			{
					totalRoll+=(totalRoll/4);
					totalRoll=(Math.floor(totalRoll));
			}
        	 foeHealth=foeHealth+=totalRoll;
        	 if(foeHealth>foeMaxHealth)
        	 {
        	 	foeHealth=foeMaxHealth;
        	 }
		System.out.print (foeName+" uses "+attackNameNormal+"! ");
		System.out.println(foeName+" Health is now "+foeHealth+" out of "+foeMaxHealth+".");
	}
	public static void healCheck()
	{
	if (noHeals==1)
		{
			System.out.println("You rest at a roadside TAVERN before continuing on your way. Your HEALTH has been fully restored!");
			playerHealth=playerMaxHealth;
			System.out.println(classType+" Health is "+playerHealth+" out of "+playerMaxHealth);
			
		}
	if (noHeals==0)
		{
			System.out.println("You rest at a musty roadside TAVERN before continuing on your way. Your HEALTH has been restored!");
			if (playerHealth<playerMaxHealth-5);
			{
				playerHealth=playerMaxHealth-5;
			}
			System.out.println(classType+" Health is "+playerHealth+" out of "+playerMaxHealth);
		}
	if (noHeals==-1)
		{
		System.out.println("You rest at a pit full of sharp rocks and smelly moss before moving on. You get no sleep at all.");
		System.out.println("Also, the tavern blew up last night. Again. Frigging fantasy settings.");
		playerHealth=Math.ceil(playerMaxHealth/3.5)+playerHealth;
		}
	}
	public static void turnSummary()
	{
		System.out.println ("|| "+classType+" Health is "+playerHealth+" out of "+playerMaxHealth+"||");
		System.out.println ("|| "+foeName+" Health is "+foeHealth+" out of "+foeMaxHealth+"     //");
	}
	public static void CONCheck()
	{
		foeCON=foeCON+(foeCONUp*5);
	}
}

Re: Implementing more than one class in Browxy

Posted: Wed Feb 27, 2019 4:14 pm
by jpconver
Hi!
Yes you can create multiple classes in browxy using the filetree. Right click on any folder and create a new file with .java extension
If you are not sure how to do this I can create a video for you

Re: Implementing more than one class in Browxy

Posted: Fri Aug 07, 2020 2:02 pm
by brandi.finchum@knoxschools.org
Hello,

I have a similar question. I would like to create 2 files. One that is a driver program for the class definition. For example, I will have a class definition that contains a constructor called Coin and a driver program that calls the constructor and flips the coin. How do I make them interact? If I type both programs in separate files, it gives me an error.