cz.cuni.amis.pogamut.ut2004.tournament.teamdeathmatch
Class UT2004TeamDeathMatch

Package class diagram package UT2004TeamDeathMatch
java.lang.Object
  extended by cz.cuni.amis.pogamut.ut2004.tournament.match.UT2004Match<UT2004TeamDeathMatchConfig,UT2004TeamDeathMatchResult>
      extended by cz.cuni.amis.pogamut.ut2004.tournament.teamdeathmatch.UT2004TeamDeathMatch
All Implemented Interfaces:
Runnable, Callable<UT2004TeamDeathMatchResult>

public class UT2004TeamDeathMatch
extends UT2004Match<UT2004TeamDeathMatchConfig,UT2004TeamDeathMatchResult>


Nested Class Summary
 
Nested classes/interfaces inherited from class cz.cuni.amis.pogamut.ut2004.tournament.match.UT2004Match
UT2004Match.Bots
 
Field Summary
protected  int targetScoreLimit
           
 
Fields inherited from class cz.cuni.amis.pogamut.ut2004.tournament.match.UT2004Match
config, exception, fileHandler, gb2004FileBackup, log, result, teamMatch, ut2004FileBackup
 
Constructor Summary
UT2004TeamDeathMatch(UT2004TeamDeathMatchConfig config, cz.cuni.amis.pogamut.base.utils.logging.LogCategory log)
           
 
Method Summary
 UT2004TeamDeathMatchResult execute()
          Performs the match and return the result (or throw an exception in case of error).
protected  void outputResults_step1(UT2004TeamDeathMatchResult result, File outputDirectory)
           
protected  void outputResults_step2(UT2004TeamDeathMatchResult result, File outputDirectory)
           
protected  void outputResults(cz.cuni.amis.pogamut.ut2004.utils.UCCWrapper ucc, cz.cuni.amis.pogamut.ut2004.server.impl.UT2004Server server, cz.cuni.amis.pogamut.ut2004.analyzer.UT2004Analyzer analyzer, UT2004Match.Bots bots, UT2004MatchResult result, File outputDirectory)
          Usually STEP 12 ... concludes the match by producing/presenting whatever statistics needed about the match.
protected  UT2004TeamDeathMatchResult processResults(cz.cuni.amis.pogamut.ut2004.utils.UCCWrapper ucc, cz.cuni.amis.pogamut.ut2004.server.impl.UT2004Server server, cz.cuni.amis.pogamut.ut2004.analyzer.UT2004Analyzer analyzer, UT2004Match.Bots bots, List<Integer> winners, Map<cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId,cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.PlayerScore> finalScores, Map<Integer,cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.TeamScore> teamScores)
           
protected  UT2004MatchResult waitMatchFinish(cz.cuni.amis.pogamut.ut2004.utils.UCCWrapper ucc, cz.cuni.amis.pogamut.ut2004.server.impl.UT2004Server server, cz.cuni.amis.pogamut.ut2004.analyzer.UT2004Analyzer analyzer, UT2004Match.Bots bots, long timeoutInMillis)
          Usually STEP 10 ... you wait for a predefined time (blocking method) for the match to finish.
 
Methods inherited from class cz.cuni.amis.pogamut.ut2004.tournament.match.UT2004Match
call, cleanUp, closeLogger, copyReplay, createGB2004Ini, createUT2004Ini, getConfig, getCurrentDate, getException, getGB2004IniFile, getLog, getMatchId, getOutputPath, getOutputPath, getResult, getUccHome, getUT2004IniFile, changeBotTeam, isHumanPlayer, isTeamMatch, matchIsAboutToBegin, recordReplay, restartMatch, restoreGB2004IniBackup, restoreUT2004IniBackup, run, setupLogger, shutdownAll, startAnalyzer, startBots, startControlServer, startUCC, toString, validate, waitHumanPlayers
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

targetScoreLimit

protected int targetScoreLimit
Constructor Detail

UT2004TeamDeathMatch

public UT2004TeamDeathMatch(UT2004TeamDeathMatchConfig config,
                            cz.cuni.amis.pogamut.base.utils.logging.LogCategory log)
Method Detail

waitMatchFinish

protected UT2004MatchResult waitMatchFinish(cz.cuni.amis.pogamut.ut2004.utils.UCCWrapper ucc,
                                            cz.cuni.amis.pogamut.ut2004.server.impl.UT2004Server server,
                                            cz.cuni.amis.pogamut.ut2004.analyzer.UT2004Analyzer analyzer,
                                            UT2004Match.Bots bots,
                                            long timeoutInMillis)
Description copied from class: UT2004Match
Usually STEP 10 ... you wait for a predefined time (blocking method) for the match to finish.

This method may need to be override to provide correct MATCH-FINISHED detecting routine.

Always abide the timeout!

Don't forget to observe whether all 'custom bots' are running! Use UT2004BotExecution.getRunning() flag and FlagListener.

Raises exception in case of any error / timeout

Specified by:
waitMatchFinish in class UT2004Match<UT2004TeamDeathMatchConfig,UT2004TeamDeathMatchResult>
Parameters:
ucc - MUST NOT BE NULL
server - MUST NOT BE NULL
analyzer - may be null
bots - MUST NOT BE NULL
timeoutInMillis - must be specified correctly
Returns:
who has won (or null in case of failure / timeout)

processResults

protected UT2004TeamDeathMatchResult processResults(cz.cuni.amis.pogamut.ut2004.utils.UCCWrapper ucc,
                                                    cz.cuni.amis.pogamut.ut2004.server.impl.UT2004Server server,
                                                    cz.cuni.amis.pogamut.ut2004.analyzer.UT2004Analyzer analyzer,
                                                    UT2004Match.Bots bots,
                                                    List<Integer> winners,
                                                    Map<cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId,cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.PlayerScore> finalScores,
                                                    Map<Integer,cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.TeamScore> teamScores)

outputResults_step1

protected void outputResults_step1(UT2004TeamDeathMatchResult result,
                                   File outputDirectory)

outputResults_step2

protected void outputResults_step2(UT2004TeamDeathMatchResult result,
                                   File outputDirectory)

outputResults

protected void outputResults(cz.cuni.amis.pogamut.ut2004.utils.UCCWrapper ucc,
                             cz.cuni.amis.pogamut.ut2004.server.impl.UT2004Server server,
                             cz.cuni.amis.pogamut.ut2004.analyzer.UT2004Analyzer analyzer,
                             UT2004Match.Bots bots,
                             UT2004MatchResult result,
                             File outputDirectory)
Description copied from class: UT2004Match
Usually STEP 12 ... concludes the match by producing/presenting whatever statistics needed about the match. Everything should be outputted to 'outputDirectory'.

Raises exception in case of any error / timeout

Specified by:
outputResults in class UT2004Match<UT2004TeamDeathMatchConfig,UT2004TeamDeathMatchResult>
Parameters:
ucc - MUST NOT BE NULL
server - MUST NOT BE NULL
analyzer - may be null
bots - MUST NOT BE NULL
result - MUST NOT BE NULL
outputDirectory - MUST NOT BE NULL

execute

public UT2004TeamDeathMatchResult execute()
Description copied from class: UT2004Match
Performs the match and return the result (or throw an exception in case of error).

It is called by UT2004Match.run() that is used by UT2004Match.call().

Specified by:
execute in class UT2004Match<UT2004TeamDeathMatchConfig,UT2004TeamDeathMatchResult>
Returns:


Copyright © 2016 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.