Пример #1
0
            public override bool Equals(object obj)
            {
                // If parameter is null return false.
                if (obj == null)
                {
                    return(false);
                }

                // If parameter cannot be cast to Point return false.
                HighLowGame p = obj as HighLowGame;

                if ((System.Object)p == null)
                {
                    return(false);
                }

                // Return true if the fields match:
                return((player == p.Player) && (chat == p.Chat));
            }
Пример #2
0
        public void Skype_MessageStatus(IChatMessage message, TChatMessageStatus status) {
            Match trigger = Regex.Match(message.Body, @"^!highlow (start|highscore|high|low|equal)", RegexOptions.IgnoreCase);
            if (trigger.Success) {
                String triggerText = trigger.Groups[1].Value.ToLower();

                if (triggerText.Equals("start")) {
                    HighLowGame game = new HighLowGame(message.Sender.Handle, message.Chat.Name);
                    String output = "";

                    if (games.Contains(game)) {
                        game = games.Single<HighLowGame>((hlg) => { return hlg.Equals(game); });
                        output += "You're already in a game!\n";
                    } else {
                        games.Add(game);
                    }

                    output += game.Status;
                    output += "Is the next card high, low or do you dare guess equal (scores 5x)?\nType !highlow <guess> to guess.";

                    message.Chat.SendMessage(output);
                    return;
                }
                else if (triggerText.Equals("highscore")) {
                    if (!PluginSettings.Default.HighlowScores.Contains(message.Chat.Name))
                        message.Chat.SendMessage("No highscore exists for this chat.");
                    else {
                        HighScoreEntry score = PluginSettings.Default.HighlowScores[message.Chat.Name] as HighScoreEntry;
                        message.Chat.SendMessage(
                            String.Format(
                                "High-Low highscore: {0} points by {1}.",
                                score.Score,
                                score.Name
                            )
                        );
                    }
                }
                else {
                    HighLowGame game = new HighLowGame(message.Sender.Handle, message.Chat.Name);

                    if (!games.Contains(game)) {
                        message.Chat.SendMessage("You aren't currently in a High-Low game! Start one with !highlow start.");
                        return;
                    }

                    game = games.Single<HighLowGame>((hlg) => { return hlg.Equals(game); });

                    Boolean success;

                    switch (triggerText) {
                        case "high":
                            success = game.GuessHigh();
                            break;
                        case "low":
                            success = game.GuessLow();
                            break;
                        case "equal":
                            success = game.GuessEqual();
                            break;
                        default:
                            log.Error("Reached default case? This shouldn't happen!");
                            return;
                    }

                    String output = "";

                    if (!success) {
                        output += String.Format("Incorrect! You got a total of {0} points.", game.Score);

                        Boolean isHighscore = false;
                        if (!PluginSettings.Default.HighlowScores.Contains(message.Chat.Name))
                            isHighscore = true;
                        else {
                            HighScoreEntry score = PluginSettings.Default.HighlowScores[message.Chat.Name] as HighScoreEntry;
                            if (score.Score < game.Score)
                                isHighscore = true;
                        }

                        if (isHighscore) {
                            output += "\nYou've set a new high score for this chat!";
                            PluginSettings.Default.HighlowScores[message.Chat.Name] = new HighScoreEntry(game.Score, message.Sender.Handle);
                            PluginSettings.Default.Save();
                        }

                        games.Remove(game);
                    }
                    else {
                        output += "Correct!\n";

                        game.nextCard();
                        game.Score += (triggerText.Equals("equal") ? 5 : 1);

                        output += game.Status;
                        output += "Is the next card high, low or do you dare guess equal (scores 5x)?\nType !highlow <guess> to guess.";
                    }

                    message.Chat.SendMessage(output);
                }
            }
        }
Пример #3
0
        public void Skype_MessageStatus(IChatMessage message, TChatMessageStatus status)
        {
            Match trigger = Regex.Match(message.Body, @"^!highlow (start|highscore|high|low|equal)", RegexOptions.IgnoreCase);

            if (trigger.Success)
            {
                String triggerText = trigger.Groups[1].Value.ToLower();

                if (triggerText.Equals("start"))
                {
                    HighLowGame game   = new HighLowGame(message.Sender.Handle, message.Chat.Name);
                    String      output = "";

                    if (games.Contains(game))
                    {
                        game    = games.Single <HighLowGame>((hlg) => { return(hlg.Equals(game)); });
                        output += "You're already in a game!\n";
                    }
                    else
                    {
                        games.Add(game);
                    }

                    output += game.Status;
                    output += "Is the next card high, low or do you dare guess equal (scores 5x)?\nType !highlow <guess> to guess.";

                    message.Chat.SendMessage(output);
                    return;
                }
                else if (triggerText.Equals("highscore"))
                {
                    if (!PluginSettings.Default.HighlowScores.Contains(message.Chat.Name))
                    {
                        message.Chat.SendMessage("No highscore exists for this chat.");
                    }
                    else
                    {
                        HighScoreEntry score = PluginSettings.Default.HighlowScores[message.Chat.Name] as HighScoreEntry;
                        message.Chat.SendMessage(
                            String.Format(
                                "High-Low highscore: {0} points by {1}.",
                                score.Score,
                                score.Name
                                )
                            );
                    }
                }
                else
                {
                    HighLowGame game = new HighLowGame(message.Sender.Handle, message.Chat.Name);

                    if (!games.Contains(game))
                    {
                        message.Chat.SendMessage("You aren't currently in a High-Low game! Start one with !highlow start.");
                        return;
                    }

                    game = games.Single <HighLowGame>((hlg) => { return(hlg.Equals(game)); });

                    Boolean success;

                    switch (triggerText)
                    {
                    case "high":
                        success = game.GuessHigh();
                        break;

                    case "low":
                        success = game.GuessLow();
                        break;

                    case "equal":
                        success = game.GuessEqual();
                        break;

                    default:
                        log.Error("Reached default case? This shouldn't happen!");
                        return;
                    }

                    String output = "";

                    if (!success)
                    {
                        output += String.Format("Incorrect! You got a total of {0} points.", game.Score);

                        Boolean isHighscore = false;
                        if (!PluginSettings.Default.HighlowScores.Contains(message.Chat.Name))
                        {
                            isHighscore = true;
                        }
                        else
                        {
                            HighScoreEntry score = PluginSettings.Default.HighlowScores[message.Chat.Name] as HighScoreEntry;
                            if (score.Score < game.Score)
                            {
                                isHighscore = true;
                            }
                        }

                        if (isHighscore)
                        {
                            output += "\nYou've set a new high score for this chat!";
                            PluginSettings.Default.HighlowScores[message.Chat.Name] = new HighScoreEntry(game.Score, message.Sender.Handle);
                            PluginSettings.Default.Save();
                        }

                        games.Remove(game);
                    }
                    else
                    {
                        output += "Correct!\n";

                        game.nextCard();
                        game.Score += (triggerText.Equals("equal") ? 5 : 1);

                        output += game.Status;
                        output += "Is the next card high, low or do you dare guess equal (scores 5x)?\nType !highlow <guess> to guess.";
                    }

                    message.Chat.SendMessage(output);
                }
            }
        }
Пример #4
0
    public void OnStageClick()
    {
        var gameManager = HighLowGame.GetInstance();

        StartCoroutine(gameManager.StageClicked(StageInfo));
    }
Пример #5
0
        private void OnEnable()
        {
            var playerData = HighLowGame.GetInstance().Getplayer();

            _context = new PlayerDataContext(playerData);
        }