예제 #1
0
        public static NewGameData Convert(NewGameInput newGameInput)
        {
            var newGameData = new NewGameData(newGameInput.Name, newGameInput.Totem.Value, newGameInput.Opponent1, newGameInput.Opponent2,
            newGameInput.Opponent3);

              return newGameData;
        }
예제 #2
0
 public static void Execute(string username, NewGameData newGameData)
 {
     using (var context = new MonopolyDotNetDbContext())
       {
     var game = new Game(newGameData, username);
     context.Games.Add(game);
     context.SaveChanges();
       }
 }
예제 #3
0
        public static Game StartGame()
        {
            var username = Guid.NewGuid().ToString("D");
              var newGameData = new NewGameData("Tron", Totem.Dog, "Rube", "Chester", "Adolf");

              CreateGameCommand.Execute(username, newGameData);
              var game = FindGameByUsernameQuery.Execute(username);
              return game;
        }
예제 #4
0
    /// <summary>
    /// Returns the players response accuracy.
    /// The perfect accuracy would be 1, most inaccuracy is 0.
    /// </summary>
    protected float GetAccuracy(Trial t, float time)
    {
        NewGameData data = sessionData.gameData as NewGameData;
        bool        hasResponseTimeLimit = data.ResponseTimeLimit > 0;

        float rTime           = time - data.GuessTimeLimit;
        float totalTimeWindow = hasResponseTimeLimit ?
                                data.ResponseTimeLimit : (t as NewGameTrial).duration;

        return(1f - (rTime / (totalTimeWindow - data.GuessTimeLimit)));
    }
예제 #5
0
    /// <summary>
    /// Parses Game specific variables for this Trial from the given XmlElement.
    /// If no parsable attributes are found, or fail, then it will generate some from the given GameData.
    /// Used when parsing a Trial that IS defined in the Session file.
    /// </summary>
    public override void ParseGameSpecificVars(XmlNode n, SessionData session)
    {
        base.ParseGameSpecificVars(n, session);

        NewGameData data = (NewGameData)(session.gameData);

        if (!XMLUtil.ParseAttribute(n, NewGameData.ATTRIBUTE_DURATION, ref duration, true))
        {
            duration = data.GeneratedDuration;
        }
    }
예제 #6
0
 public Game(NewGameData newGameData, string username)
 {
     Players = new List<Player>();
       Players.AddRange(newGameData.GetPlayers());
       Username = username;
 }
예제 #7
0
    /// <summary>
    /// Returns True if the given response time is considered valid.
    /// </summary>
    protected bool IsValidResponse(float time)
    {
        NewGameData data = sessionData.gameData as NewGameData;

        return(data.ResponseTimeLimit <= 0 || time < data.ResponseTimeLimit);
    }
예제 #8
0
    /// <summary>
    /// Returns True if the given response time is considered a guess.
    /// </summary>
    protected bool IsGuessResponse(float time)
    {
        NewGameData data = sessionData.gameData as NewGameData;

        return(data.GuessTimeLimit > 0 && time < data.GuessTimeLimit);
    }