MCPcopy Create free account
hub / github.com/catabriga/graphwar / processFunction

Method processFunction

src/Graphwar/GameData.java:1029–1082  ·  view source on GitHub ↗
(Player player, String functionString)

Source from the content-addressed store, hash-verified

1027 }
1028
1029 private void processFunction(Player player, String functionString) throws MalformedFunction
1030 {
1031 function = new Function(functionString);
1032
1033 player.getCurrentTurnSoldier().setFunction(functionString);
1034
1035 //If player is in team 2 the function must go in the other direction
1036 //and the obstacles are inverted
1037 if(player.getTeam()==Constants.TEAM1)
1038 {
1039 switch(gameMode)
1040 {
1041 case Constants.NORMAL_FUNC:
1042 function.processFunctionRange(obstacle, players.toArray(new Player[0]), players.size(), currentTurn, false);
1043 break;
1044 case Constants.FST_ODE:
1045 function.processRK4Range(obstacle, players.toArray(new Player[0]), players.size(), currentTurn, false);
1046 break;
1047 case Constants.SND_ODE:
1048 function.processRK42Range(obstacle, players.toArray(new Player[0]), players.size(), currentTurn, player.getCurrentTurnSoldier().getAngle(),false);
1049 break;
1050 }
1051 }
1052 else
1053 {
1054 switch(gameMode)
1055 {
1056 case Constants.NORMAL_FUNC:
1057 function.processFunctionRange(obstacle, players.toArray(new Player[0]), players.size(), currentTurn, true);
1058 break;
1059 case Constants.FST_ODE:
1060 function.processRK4Range(obstacle, players.toArray(new Player[0]), players.size(), currentTurn, true);
1061 break;
1062 case Constants.SND_ODE:
1063 function.processRK42Range(obstacle, players.toArray(new Player[0]), players.size(), currentTurn, player.getCurrentTurnSoldier().getAngle(),true);
1064 break;
1065 }
1066 }
1067
1068 soldiersHit = new ArrayList<Soldier>();
1069 int numPlayersHit = function.getNumPlayersHit();
1070 for(int i=0; i<numPlayersHit; i++)
1071 {
1072 Soldier soldier;
1073
1074 soldier = players.get(function.getPlayerHit(i)).getSoldiers()[function.getSoldierHit(i)];
1075 soldier.setKillPosition(function.getSoldierHitPosition(i));
1076 soldiersHit.add(soldier);
1077 }
1078
1079 player.getCurrentTurnSoldier().setAngle(function.getFireAngle());
1080 ((GameScreen)graphwar.getUI().getScreen(Constants.GAME_SCREEN)).repaintAngle();
1081
1082 }
1083
1084 private void removeDisconnectedPlayers()
1085 {

Callers 1

fireFunctionMessageMethod · 0.95

Calls 15

setKillPositionMethod · 0.95
setFunctionMethod · 0.80
getCurrentTurnSoldierMethod · 0.80
processFunctionRangeMethod · 0.80
processRK4RangeMethod · 0.80
processRK42RangeMethod · 0.80
getNumPlayersHitMethod · 0.80
getSoldiersMethod · 0.80
getPlayerHitMethod · 0.80
getSoldierHitMethod · 0.80
getSoldierHitPositionMethod · 0.80
getFireAngleMethod · 0.80

Tested by

no test coverage detected