Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Holds all the methods to be used.
- //StatusChangeListener.java
- public interface StatusChangeListener
- {
- void atkChanged();
- void defChanged();
- void levelChanged();
- int getCurrentATK();
- int getCurrentDEF();
- int getCurrentLevel();
- }
- //This next one is just an example of one way to use said methods above
- //StatusChecker.java
- public class StatusChecker implements StatusChangeListener {
- public StatusChecker() {
- // TODO Auto-generated constructor stub
- }
- @Override
- public void atkChanged()
- {
- // TODO Auto-generated method stub
- System.out.println("ATK Changed!");
- }
- @Override
- public void defChanged()
- {
- // TODO Auto-generated method stub
- System.out.println("DEF Changed!");
- }
- @Override
- public void levelChanged()
- {
- // TODO Auto-generated method stub
- System.out.println("Level Changed!");
- }
- @Override
- public int getCurrentATK()
- {
- // TODO Auto-generated method stub
- return 0;
- }
- @Override
- public int getCurrentDEF()
- {
- // TODO Auto-generated method stub
- return 0;
- }
- @Override
- public int getCurrentLevel()
- {
- // TODO Auto-generated method stub
- return 0;
- }
- }
- //Next is our target the card class
- //CardTester.java
- public class CardTester
- {
- private int originalatk, originaldef, originallevel, currentatk, currentdef, currentlevel;
- StatusChangeListener sclcheck;
- /**
- *
- */
- public CardTester(StatusChangeListener checker,int atk, int def, int level)
- {
- //Word of advice: Make sure your personal listeners are up top in constructor so you do get null errors if you're using methods in it. >_>
- sclcheck = checker;
- setOriginalatk(atk);
- setOriginaldef(def);
- setOriginallevel(level);
- setCurrentatk(atk);
- setCurrentdef(def);
- setCurrentlevel(level);
- System.out.println("Card Created!");
- }
- /**
- * @return the originalatk
- */
- public int getOriginalatk()
- {
- return originalatk;
- }
- /**
- * @param originalatk the originalatk to set
- */
- public void setOriginalatk(int oatk)
- {
- if(originalatk != oatk)
- {
- sclcheck.atkChanged();
- }
- this.originalatk = oatk;
- }
- /**
- * @return the originaldef
- */
- public int getOriginaldef()
- {
- return originaldef;
- }
- /**
- * @param originaldef the originaldef to set
- */
- public void setOriginaldef(int odef)
- {
- if(originaldef != odef)
- {
- sclcheck.defChanged();
- }
- this.originaldef = odef;
- }
- /**
- * @return the originallevel
- */
- public int getOriginallevel()
- {
- return originallevel;
- }
- /**
- * @param originallevel the originallevel to set
- */
- public void setOriginallevel(int olevel)
- {
- if(originallevel != olevel)
- {
- sclcheck.levelChanged();
- }
- this.originallevel = olevel;
- }
- /**
- * @return the currentatk
- */
- public int getCurrentatk()
- {
- return currentatk;
- }
- /**
- * @param currentatk the currentatk to set
- */
- public void setCurrentatk(int catk)
- {
- if(currentatk != catk)
- {
- sclcheck.atkChanged();
- }
- this.currentatk = catk;
- }
- /**
- * @return the currentdef
- */
- public int getCurrentdef()
- {
- return currentdef;
- }
- /**
- * @param currentdef the currentdef to set
- */
- public void setCurrentdef(int cdef)
- {
- if(currentdef != cdef)
- {
- sclcheck.defChanged();
- }
- this.currentdef = cdef;
- }
- /**
- * @return the currentlevel
- */
- public int getCurrentlevel()
- {
- return currentlevel;
- }
- /**
- * @param currentlevel the currentlevel to set
- */
- public void setCurrentlevel(int clevel)
- {
- if(currentlevel != clevel)
- {
- sclcheck.levelChanged();
- }
- this.currentlevel = clevel;
- }
- }
- //Last is our main class. Found out the hard way that you should never try to use your main as what is going into the listener holder of a class since you get an annoying error to do with static methods.
- //MainClass1.java
- import java.util.Random;
- public class MainClass1 //implements StatusChangeListener
- {
- /**
- * @param args
- */
- public static void main(String[] args)
- {
- Random rand = new Random();
- StatusChecker sctest = new StatusChecker();
- // TODO Auto-generated method stub
- //System.out.println("Card Created!");
- CardTester changetest = new CardTester(sctest, 1000, 1000, 12);
- System.out.println("Status Checking Test Ready!");
- int atkhold = 0;
- while(changetest.getCurrentatk() <= 10000)
- {
- atkhold += 1000;
- changetest.setCurrentatk(rand.nextInt(atkhold));
- System.out.println("ATK is now: " + changetest.getCurrentatk());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement