|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- package demo;
-
- import akka.actor.ActorRef;
- import commands.BasicCommands;
- import structures.basic.Card;
- import structures.basic.EffectAnimation;
- import structures.basic.Player;
- import structures.basic.Tile;
- import structures.basic.Unit;
- import structures.basic.UnitAnimationType;
- import utils.BasicObjectBuilders;
- import utils.OrderedCardLoader;
- import utils.StaticConfFiles;
-
- /**
- * This class contains an illustration of calling all of the commands provided
- * in the ITSD Card Game Template
- * @author Dr. Richard McCreadie
- *
- */
- public class CommandDemo {
-
- /**
- * This is a demo of the various commands that can be executed
- *
- * WARNING: This is a very long-running method, as it has a lot
- * thread sleeps in it. The back-end will not respond to commands
- * while this method is processing, e.g. if you refresh the game
- * page or try to kill the server you will get a long delay before
- * anything happens.
- */
- public static void executeDemo(ActorRef out) {
-
- BasicCommands.addPlayer1Notification(out, "Command Demo", 2);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();} // these cause processing to wait for a number of milliseconds.
-
- // addPlayer1Notification
- BasicCommands.addPlayer1Notification(out, "addPlayer1Notification", 2);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
-
- //--------------------------------------------------------
- // Basic Draw Commands
- // -------------------------------------------------------
-
- // drawTile
- BasicCommands.addPlayer1Notification(out, "drawTile[3,2]", 2);
- Tile tile = BasicObjectBuilders.loadTile(3, 2);
- BasicCommands.drawTile(out, tile, 0);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // drawUnit
- BasicCommands.addPlayer1Notification(out, "drawUnit", 2);
- Unit unit = BasicObjectBuilders.loadUnit(StaticConfFiles.humanAvatar, 0, Unit.class);
- unit.setPositionByTile(tile);
- BasicCommands.drawUnit(out, unit, tile);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // setUnitAttack
- BasicCommands.addPlayer1Notification(out, "setUnitAttack", 2);
- BasicCommands.setUnitAttack(out, unit, 2);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // setUnitHealth
- BasicCommands.addPlayer1Notification(out, "setUnitHealth", 2);
- BasicCommands.setUnitHealth(out, unit, 2);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
-
- //--------------------------------------------------------
- // Playing Unit Animations
- // -------------------------------------------------------
-
- // playUnitAnimation [Move]
- BasicCommands.addPlayer1Notification(out, "playUnitAnimation [Move]", 2);
- BasicCommands.playUnitAnimation(out, unit, UnitAnimationType.move);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // playUnitAnimation [Attack]
- BasicCommands.addPlayer1Notification(out, "playUnitAnimation [Attack]", 2);
- BasicCommands.playUnitAnimation(out, unit, UnitAnimationType.attack);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // playUnitAnimation [Death]
- BasicCommands.addPlayer1Notification(out, "playUnitAnimation [Death]", 3);
- BasicCommands.playUnitAnimation(out, unit, UnitAnimationType.death);
- try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}
-
-
- //--------------------------------------------------------
- // Deleting a Unit
- //-------------------------------------------------------
-
- // deleteUnit
- BasicCommands.addPlayer1Notification(out, "deleteUnit", 2);
- BasicCommands.deleteUnit(out, unit);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
-
- //--------------------------------------------------------
- // Movement
- //-------------------------------------------------------
-
- // drawTile
- BasicCommands.addPlayer1Notification(out, "drawTile[3,2] Highlight", 2);
- BasicCommands.drawTile(out, tile, 1);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // drawTile
- BasicCommands.addPlayer1Notification(out, "drawTile[3,2] Red Highlight", 2);
- BasicCommands.drawTile(out, tile, 2);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // drawTile
- BasicCommands.addPlayer1Notification(out, "drawTile[3,2]", 2);
- BasicCommands.drawTile(out, tile, 0);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // drawTile
- BasicCommands.addPlayer1Notification(out, "drawTile[4,2]", 2);
- Tile tile3 = BasicObjectBuilders.loadTile(4, 2);
- BasicCommands.drawTile(out, tile3, 0);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // drawTile
- BasicCommands.addPlayer1Notification(out, "drawTile[5,2]", 2);
- Tile tile4 = BasicObjectBuilders.loadTile(5, 2);
- BasicCommands.drawTile(out, tile4, 0);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // drawTile
- BasicCommands.addPlayer1Notification(out, "drawTile[5,3]", 2);
- Tile tile5 = BasicObjectBuilders.loadTile(5, 3);
- BasicCommands.drawTile(out, tile5, 0);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- BasicCommands.addPlayer1Notification(out, "drawUnit", 1);
- Unit unit2 = BasicObjectBuilders.loadUnit(StaticConfFiles.wraithling, 1, Unit.class);
- unit2.setPositionByTile(tile);
- BasicCommands.drawUnit(out, unit2, tile);
- try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}
-
- BasicCommands.addPlayer1Notification(out, "moveUnitToTile", 3);
- BasicCommands.moveUnitToTile(out, unit2, tile5);
- try {Thread.sleep(4000);} catch (InterruptedException e) {e.printStackTrace();}
-
- BasicCommands.addPlayer1Notification(out, "moveUnitToTile (y-axis first)", 3);
- BasicCommands.moveUnitToTile(out, unit2, tile, true);
- try {Thread.sleep(4000);} catch (InterruptedException e) {e.printStackTrace();}
-
- BasicCommands.addPlayer1Notification(out, "deleteUnit", 2);
- BasicCommands.deleteUnit(out, unit2);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
-
-
- //--------------------------------------------------------
- // Player Display Data
- //-------------------------------------------------------
-
- // Player Cards
- BasicCommands.addPlayer1Notification(out, "Player Test", 2);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // setPlayer1Health
- BasicCommands.addPlayer1Notification(out, "setPlayer1Health", 2);
- Player humanPlayer = new Player(20, 0);
- BasicCommands.setPlayer1Health(out, humanPlayer);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // setPlayer1Health
- BasicCommands.addPlayer1Notification(out, "setPlayer2Health", 2);
- Player aiPlayer = new Player(20, 0);
- BasicCommands.setPlayer2Health(out, aiPlayer);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
-
- // Mana
- for (int m = 0; m<10; m++) {
- BasicCommands.addPlayer1Notification(out, "setPlayer1Mana ("+m+")", 1);
- humanPlayer.setMana(m);
- BasicCommands.setPlayer1Mana(out, humanPlayer);
- try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}
- }
-
- // Mana
- for (int m = 0; m<10; m++) {
- BasicCommands.addPlayer1Notification(out, "setPlayer2Mana ("+m+")", 1);
- aiPlayer.setMana(m);
- BasicCommands.setPlayer2Mana(out, aiPlayer);
- try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}
- }
-
-
- //--------------------------------------------------------
- // Rendering Cards
- //-------------------------------------------------------
-
- // Unhighlighted
-
- int handPosition = 1;
- for (Card card : OrderedCardLoader.getPlayer1Cards(1)) {
- BasicCommands.drawCard(out, card, handPosition, 0);
- try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}
-
- handPosition++;
-
- if (handPosition>6) break;
- }
-
- // highlighted
-
- handPosition = 1;
- for (Card card : OrderedCardLoader.getPlayer1Cards(1)) {
- BasicCommands.drawCard(out, card, handPosition, 1);
- try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}
-
- handPosition++;
-
- if (handPosition>6) break;
- }
-
-
- // delete card
- handPosition = 1;
- for (int i=1; i<7; i++) {
- BasicCommands.deleteCard(out, i);
- try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}
- }
-
- //--------------------------------------------------------
- // Test New Stuff from the 2024 Template
- //-------------------------------------------------------
-
- BasicCommands.addPlayer1Notification(out, "2024 Loader Check", 2);
- try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}
- Loaders_2024_Check.test(out); // moved 2024 tests in here
-
-
-
- }
-
- }
|