Exemple #1
0
        private string CreateTweetText(int score, ResultEvaluateType result, int[] markevals, int maxcombo)
        {
            string text = string.Format("譜面:{0} 難易度:{1}で、スコア:{2} 評価:{3} C{4} G{5} SF{6} SD{7} W{8} MC{9} を記録しました。{10} ",
                                        ppdgameutility.SongInformation.DirectoryName,
                                        ppdgameutility.Difficulty,
                                        score,
                                        result,
                                        markevals[0],
                                        markevals[1],
                                        markevals[2],
                                        markevals[3],
                                        markevals[4],
                                        maxcombo,
                                        DateTime.Now);

            if (text.Length >= 140 - TweetHashTag.Length)
            {
                text = text.Substring(0, 140 - TweetHashTag.Length) + TweetHashTag;
            }
            else
            {
                text += TweetHashTag;
            }
            return(text);
        }
Exemple #2
0
 /// <summary>
 /// 評価変更
 /// </summary>
 /// <param name="type"></param>
 /// <param name="ratio"></param>
 public void Change(ResultEvaluateType type, float ratio)
 {
     gages[currentdraw].Hidden = true;
     currentdraw = (int)type - 1;
     gages[currentdraw].Rectangle = new RectangleF(0, 0, 800 * ratio, gages[currentdraw].Height);
     gages[currentdraw].Hidden    = false;
 }
Exemple #3
0
 public void ResultSet(int score, int[] markevals, int maxcombo, ResultEvaluateType result, bool highscore, bool canReplay)
 {
     Score     = score;
     MarkEvals = markevals;
     MaxCombo  = maxcombo;
     Result    = result;
     HighScore = highscore;
     state     = State.CoolCounting;
     buttons[gridSelection.Current].Selected = false;
     gridSelection.SetAt(buttons[2].Position);
     buttons[2].Selected = true;
     buttons[0].Enabled  = TweetManager.CanTweet;
     buttons[1].Enabled  = ReviewManager.CanReview;
     buttons[3].Enabled  = canReplay;
     foreach (NumberPictureObject picture in scoresmalls)
     {
         picture.Hidden = true;
     }
     scorebig.Hidden = true;
     high.Hidden     = true;
     foreach (EffectObject res in this.result)
     {
         res.Hidden = true;
     }
     foreach (Button button in buttons)
     {
         button.Hidden = true;
     }
     menuRanking.Hidden            = true;
     menuRanking.CurrentDifficulty = ppdGameUtility.Difficulty;
 }
Exemple #4
0
        private string CreateTweetText(int score, ResultEvaluateType result, GameResultManager gameResultManager)
        {
            FinishDate = DateTime.Now;
            var text = string.Format("譜面:{0} 難易度:{1} スコア:{2} 評価:{3} C{4} G{5} SF{6} SD{7} W{8} MC{9} {10} ",
                                     gameUtility.SongInformation.DirectoryName,
                                     gameUtility.Difficulty,
                                     score,
                                     result,
                                     gameResultManager.CoolCount,
                                     gameResultManager.GoodCount,
                                     gameResultManager.SafeCount,
                                     gameResultManager.SadCount,
                                     gameResultManager.WorstCount,
                                     gameResultManager.MaxCombo,
                                     FinishDate);

            return(text);
        }
Exemple #5
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="gameResultManager">ゲームリザルト</param>
 /// <param name="evatype">結果評価</param>
 /// <param name="finishtime">終了時間</param>
 /// <param name="util">PPDGameUtility</param>
 /// <param name="replaying">リプレイかどうか</param>
 /// <param name="inputs">入力データ</param>
 /// <param name="perfectTrialToken">パーフェクトトライアルのトークン</param>
 public void SetResult(GameResultManager gameResultManager, ResultEvaluateType evatype, float finishtime, PPDGameUtility util, byte[] inputs, bool replaying,
                       string perfectTrialToken)
 {
     Score      = gameResultManager.CurrentScore;
     MaxCombo   = gameResultManager.MaxCombo;
     MarkEvals  = gameResultManager.Evalutes;
     FinishTime = finishtime;
     if (evatype != ResultEvaluateType.Mistake)
     {
         Result = gameResultManager.ResultEvaluateType;
     }
     else
     {
         Result = ResultEvaluateType.Mistake;
     }
     UpdateScore(util, replaying);
     SendScore(util, inputs, replaying, perfectTrialToken);
     if (ResultSet != null)
     {
         ResultSet.Invoke(this, EventArgs.Empty);
     }
 }
Exemple #6
0
 /// <summary>
 /// 評価が変更された
 /// </summary>
 /// <param name="type">評価タイプ</param>
 /// <param name="isMissPress">押し間違いか</param>
 /// <param name="currentLife">現在のライフ</param>
 /// <param name="currentEvaluateRatio">現在の結果評価比</param>
 /// <param name="currentResultType">現在の結果評価</param>
 public abstract void ChangeEvaluate(MarkEvaluateType type, bool isMissPress, float currentLife, float currentEvaluateRatio, ResultEvaluateType currentResultType);
Exemple #7
0
 /// <summary>
 /// マークの評価変更
 /// </summary>
 /// <param name="type">マークの評価タイプ</param>
 /// <param name="isMissPress">押し間違いか</param>
 /// <param name="currentLife">今のライフ</param>
 /// <param name="currentEvaluateRatio">現状の評価割合</param>
 /// <param name="currentResultType">現状の評価</param>
 public override void ChangeEvaluate(MarkEvaluateType type, bool isMissPress, float currentLife, float currentEvaluateRatio, ResultEvaluateType currentResultType)
 {
     mgb.CreateOnpu((4 - (int)type) / 2);
     mgb.CurrentLife = currentLife;
     mgb.ChangeTempEvaluate(currentEvaluateRatio, currentResultType);
     currentlife = currentLife;
 }
Exemple #8
0
        internal bool WriteScore(int scoreID, Difficulty difficulty, int[] counts, int maxcombo, int score, ResultEvaluateType resulttype, float finishtime, SongInformation songInfo)
        {
            bool highscore   = false;
            int  bestscoreid = -1;

            using (var reader = ExecuteReader("select * from ScoreTable where scoreid = @scoreid;", new SQLiteParameter[] { new SQLiteParameter("@scoreid", scoreID) }))
            {
                while (reader.Reader.Read())
                {
                    switch (difficulty)
                    {
                    case Difficulty.Easy:
                        bestscoreid = reader.Reader.GetInt32(15);
                        break;

                    case Difficulty.Normal:
                        bestscoreid = reader.Reader.GetInt32(16);
                        break;

                    case Difficulty.Hard:
                        bestscoreid = reader.Reader.GetInt32(17);
                        break;

                    case Difficulty.Extreme:
                        bestscoreid = reader.Reader.GetInt32(18);
                        break;
                    }
                    break;
                }
            }
            if (bestscoreid != -1)
            {
                using (var reader = ExecuteReader("select * from ResultTable where resultid = @resultid;", new SQLiteParameter[] { new SQLiteParameter("@resultid", bestscoreid) }))
                {
                    while (reader.Reader.Read())
                    {
                        var bestscore  = reader.Reader.GetInt32(4);
                        var bestcounts = new int[] {
                            reader.Reader.GetInt32(5),
                            reader.Reader.GetInt32(6),
                            reader.Reader.GetInt32(7),
                            reader.Reader.GetInt32(8),
                            reader.Reader.GetInt32(9)
                        };
                        var bestmaxcombo = reader.Reader.GetInt32(10);
                        highscore = IsHighScore(score, counts, maxcombo, bestscore, bestcounts, bestmaxcombo);
                    }
                }
            }
            else
            {
                highscore = true;
            }
            highscore = highscore && resulttype != ResultEvaluateType.Mistake;
            var resultId = (int)ExecuteDataTable(@"insert into ResultTable(
                                   scoreid,
                                   difficulty,
                                   evaluate,
                                   score,
                                   coolcount,
                                   goodcount,
                                   safecount,
                                   sadcount,
                                   worstcount,
                                   maxcombo,
                                   finishtime,
                                   date
                                ) values(
                                   @scoreid,
                                   @difficulty,
                                   @evaluate,
                                   @score,
                                   @coolcount,
                                   @goodcount,
                                   @safecount,
                                   @sadcount,
                                   @worstcount,
                                   @maxcombo,
                                   @finishtime,
                                   @date
                                );", new SQLiteParameter[] {
                new SQLiteParameter("@scoreid", scoreID),
                new SQLiteParameter("@difficulty", (int)difficulty),
                new SQLiteParameter("@evaluate", (int)resulttype),
                new SQLiteParameter("@score", score),
                new SQLiteParameter("@coolcount", counts[0]),
                new SQLiteParameter("@goodcount", counts[1]),
                new SQLiteParameter("@safecount", counts[2]),
                new SQLiteParameter("@sadcount", counts[3]),
                new SQLiteParameter("@worstcount", counts[4]),
                new SQLiteParameter("@maxcombo", maxcombo),
                new SQLiteParameter("@finishtime", finishtime),
                new SQLiteParameter("@date", DateTime.Now.ToString(CultureInfo.InvariantCulture))
            });

            if (highscore)
            {
                ExecuteDataTable("update ScoreTable set " + GetSQLColumn(difficulty) + " = @resultid where scoreid = @scoreid;", new SQLiteParameter[] {
                    new SQLiteParameter("@scoreid", scoreID),
                    new SQLiteParameter("@resultid", resultId)
                });
                songInfo.resultIDs[(int)difficulty] = resultId;
                songInfo.UpdateScore();
            }
            return(highscore);
        }
Exemple #9
0
 /// <summary>
 /// 書き込みます
 /// </summary>
 /// <param name="scoreID"></param>
 /// <param name="difficulty"></param>
 /// <param name="counts"></param>
 /// <param name="maxcombo"></param>
 /// <param name="score"></param>
 /// <param name="resulttype"></param>
 /// <param name="finishtime"></param>
 /// <param name="songInfo"></param>
 /// <returns></returns>
 public static bool WriteScore(int scoreID, Difficulty difficulty, int[] counts, int maxcombo, int score, ResultEvaluateType resulttype, float finishtime, SongInformation songInfo)
 {
     return(PPDDatabase.DB.WriteScore(scoreID, difficulty, counts, maxcombo, score, resulttype, finishtime, songInfo));
 }
Exemple #10
0
 /// <summary>
 /// 現状の評価の変更
 /// </summary>
 /// <param name="currentEvaluateRatio"></param>
 /// <param name="currentResultType"></param>
 public void ChangeTempEvaluate(float currentEvaluateRatio, ResultEvaluateType currentResultType)
 {
     te.Change(currentResultType, currentEvaluateRatio);
 }