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); }
/// <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; }
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; }
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); }
/// <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); } }
/// <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);
/// <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; }
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); }
/// <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)); }
/// <summary> /// 現状の評価の変更 /// </summary> /// <param name="currentEvaluateRatio"></param> /// <param name="currentResultType"></param> public void ChangeTempEvaluate(float currentEvaluateRatio, ResultEvaluateType currentResultType) { te.Change(currentResultType, currentEvaluateRatio); }