private void DisplayInfo(Graphics g, bool BallIsDead) { // 得点、レベル、残機枠の表示 g.DrawRectangle(new System.Drawing.Pen(DrawUtil.BrushRGB(230, 230, 230), 3), 0, 0, 800, 30); g.DrawString(string.Format("SCORE: {0}", Score), font, DrawUtil.BrushRGB(255, 120, 0), 20, 5); g.DrawString(string.Format("LEVEL: {0}", mainBall.Level), font, DrawUtil.BrushRGB(255, 120, 0), 220, 5); //ストック数の表示 for (int i = 0; i < (BallIsDead ? Stock - 2 : Stock - 1); ++i) { g.DrawImage(gh, 540 + 18 * i, 7, (float)gh.Width, (float)gh.Height); } //コンボ表示 CalculateAndDrawCombo(g); }
private void Draw(Graphics g) { g.DrawImage(sselectgh, 0, 0); g.DrawImage(sdetailgh[Stage - 1], 400, 320); switch (Stage) { case 1: DrawStageTitle(g, "オナジミサン"); break; case 2: DrawStageTitle(g, "4つの塔"); break; case 3: DrawStageTitle(g, "クロスクロス"); break; case 4: DrawStageTitle(g, "円環の理"); break; case 5: DrawStageTitle(g, "製作者は私達です。"); break; } for (int i = 0; i < 5; ++i) { g.DrawImage(stagegh[i], 60 + i * 120, 200); } if (clear[Stage - 1]) { g.DrawImage(cleargh, 700, 320); } g.DrawRectangle(new System.Drawing.Pen(DrawUtil.BrushRGB(255, 20, 30)), 60 + (Stage - 1) * 120, 200, 100, 80); g.DrawRectangle(new System.Drawing.Pen(DrawUtil.BrushRGB(255, 20, 30)), 400, 320, 350, 270); g.DrawImage(bargh[(int)Bar - 1], 40, 460); g.DrawString(string.Format("SCORE:{0}", Score), font, DrawUtil.BrushRGB(255, 120, 0), 40, 500); g.DrawString(string.Format("STOCK:{0}", Stock), font, DrawUtil.BrushRGB(255, 120, 0), 40, 540); }
private void Draw(Graphics g) { // ランキング表示 // 時間経過でスクロール for (int i = 0; i < 20; ++i) { if (i == index) { // 今回の記録 g.DrawLine(new System.Drawing.Pen(DrawUtil.BrushRGB(255, 0, 0)), 25, -635 + i * 40 + scorey, 650, -635 + i * 40 + scorey); g.DrawString(string.Format("{0}:", i + 1), font, DrawUtil.BrushRGB(255, 255, 100), 40, -670 + i * 40 + scorey); g.DrawString(string.Format("{0}", saved[i].Score), font, DrawUtil.BrushRGB(255, 255, 100), 150, -670 + i * 40 + scorey); g.DrawImage(gh[(int)saved[i].BarNum - 1], 300, -665 + i * 40 + scorey); g.DrawString(string.Format("{0}/{1}/{2}", saved[i].Year, saved[i].Month, saved[i].Date), font, DrawUtil.BrushRGB(255, 255, 100), 450, -670 + i * 40 + scorey); g.DrawImage(newgh, 650, -680 + i * 40 + scorey); } else { g.DrawLine(new System.Drawing.Pen(DrawUtil.BrushRGB(230, 230, 230)), 25, -635 + i * 40 + scorey, 650, -635 + i * 40 + scorey); g.DrawString(string.Format("{0} :", i + 1), font, DrawUtil.BrushRGB(255, 120, 0), 40, -670 + i * 40 + scorey); g.DrawString(string.Format("{0}", saved[i].Score), font, DrawUtil.BrushRGB(255, 120, 0), 150, -670 + i * 40 + scorey); g.DrawImage(gh[(int)saved[i].BarNum - 1], 300, -665 + i * 40 + scorey); g.DrawString(string.Format("{0}/{1}/{2}", saved[i].Year, saved[i].Month, saved[i].Date), font, DrawUtil.BrushRGB(255, 120, 0), 450, -670 + i * 40 + scorey); } } g.DrawImage(rankGh, 0, 0); g.DrawString("RANK", font, DrawUtil.BrushRGB(255, 255, 255), 40, 180); g.DrawString("SCORE", font, DrawUtil.BrushRGB(255, 255, 255), 150, 180); g.DrawString("BARTYPE", font, DrawUtil.BrushRGB(255, 255, 255), 300, 180); g.DrawString("DATE", font, DrawUtil.BrushRGB(255, 255, 255), 480, 180); if (scorey < 900 && scroll) { scorey += 4 * scrollspeed; } if (scorey >= 900) { end = true; } }
private void Draw(Graphics g) { if (count > 0) { //半透明黒で画面を暗転させる g.DrawRectangle(new System.Drawing.Pen(DrawUtil.BrushRGB(128, 30, 30, 30)), 0, 0, dInfo.Width, dInfo.Height); //メインメッセージ g.DrawString(message, font, DrawUtil.BrushRGB(255, 255, 255), 300, 300); if (MessageType == EMessageType.CLEAR) { g.DrawString(message2, font, DrawUtil.BrushRGB(255, 255, 255), 150, 350); } --count; } else { IsDead = true; } }
private void CalculateAndDrawCombo(Graphics g) { if (ComboCount == 0 && OnCombo) { if (combooncount < 20) { g.DrawString(string.Format("{0} COMBO!", alphacombo), font, DrawUtil.BrushRGB((int)((255f / 40) * (20 - combooncount)), 255, 120, 0), 20, 400); ++combooncount; } else { OnCombo = false; alphacombo = 0; } } if (ComboCount > 1) { g.DrawString(string.Format("{0} COMBO!", ComboCount), font, DrawUtil.BrushRGB(255, 120, 0), 20, 400); combooncount = 0; OnCombo = true; alphacombo = ComboCount; } }
private void DrawStageTitle(Graphics g, string stageTitle) { g.DrawString(stageTitle, font, DrawUtil.BrushRGB(255, 120, 0), 40, 340); }
private void Draw(Graphics g) { g.DrawImage(bSelectGh, 30, 0); switch (Bar) { case 1: { g.DrawString("BAR NAME:", font, DrawUtil.BrushRGB(255, 180, 0), new PointF(440, 240)); g.DrawString("ノーマルバー", font, DrawUtil.BrushRGB(255, 255, 128), new PointF(560, 240)); g.DrawString("BALL SPEED:", font, DrawUtil.BrushRGB(255, 180, 0), new PointF(440, 300)); g.DrawString("★", font, DrawUtil.BrushRGB(255, 180, 128), new PointF(570, 300)); g.DrawString("TECHNICAL:", font, DrawUtil.BrushRGB(255, 180, 0), new PointF(440, 360)); g.DrawString("★", font, DrawUtil.BrushRGB(255, 180, 128), new PointF(570, 360)); g.DrawString("DIFFICULTY:", font, DrawUtil.BrushRGB(255, 180, 0), new PointF(440, 420)); g.DrawString("★", font, DrawUtil.BrushRGB(255, 180, 128), new PointF(570, 420)); } break; case 2: { g.DrawString("BAR NAME:", font, DrawUtil.BrushRGB(255, 180, 0), new PointF(440, 240)); g.DrawString("2号機", font, DrawUtil.BrushRGB(255, 255, 128), new PointF(560, 240)); g.DrawString("BALL SPEED:", font, DrawUtil.BrushRGB(255, 180, 0), new PointF(440, 300)); g.DrawString("★ ★ ★", font, DrawUtil.BrushRGB(255, 180, 128), new PointF(570, 300)); g.DrawString("TECHNICAL:", font, DrawUtil.BrushRGB(255, 180, 0), new PointF(440, 360)); g.DrawString("★ ★", font, DrawUtil.BrushRGB(255, 180, 128), new PointF(570, 360)); g.DrawString("DIFFICULTY:", font, DrawUtil.BrushRGB(255, 180, 0), new PointF(440, 420)); g.DrawString("★ ★", font, DrawUtil.BrushRGB(255, 180, 128), new PointF(570, 420)); } break; case 3: { g.DrawString("BAR NAME:", font, DrawUtil.BrushRGB(255, 180, 0), new PointF(440, 240)); g.DrawString("3つめ", font, DrawUtil.BrushRGB(255, 255, 128), new PointF(560, 240)); g.DrawString("BALL SPEED:", font, DrawUtil.BrushRGB(255, 180, 0), new PointF(440, 300)); g.DrawString("★ ★ ★ ★ ★", font, DrawUtil.BrushRGB(255, 0, 128), new PointF(570, 300)); g.DrawString("TECHNICAL:", font, DrawUtil.BrushRGB(255, 180, 0), new PointF(440, 360)); g.DrawString("★ ★ ★", font, DrawUtil.BrushRGB(255, 0, 128), new PointF(570, 360)); g.DrawString("DIFFICULTY:", font, DrawUtil.BrushRGB(255, 180, 0), new PointF(440, 420)); g.DrawString("★ ★ ★ ★ ★", font, DrawUtil.BrushRGB(255, 0, 128), new PointF(570, 420)); } break; } for (int i = 0; i < 3; ++i) { if (i == 2) { g.DrawImage(barGh[i], 125, 200 + i * 120); } else { g.DrawImage(barGh[i], 100, 200 + i * 120); } } g.DrawRectangle(new Pen(DrawUtil.BrushRGB(255, 20, 30)), 80, 190 + (Bar - 1) * 120, 170, 40); g.DrawRectangle(new Pen(DrawUtil.BrushRGB(255, 20, 30)), 400, 220, 370, 250); }
private void DrawDebugString_ODX_ODY(Graphics g, double OverlapDistanceX, double OverlapDistanceY) { g.DrawString(string.Format("ODX:{0}", OverlapDistanceX.ToString("0.00")), font, DrawUtil.BrushRGB(255, 120, 0), 20, 480); g.DrawString(string.Format("ODY:{0}", OverlapDistanceY.ToString("0.00")), font, DrawUtil.BrushRGB(255, 120, 0), 20, 520); }
private void UpdateMainBall(Input input, Graphics g) { //発射前のメインボールのX座標 if (mainBall.IsCaught) { mainBall.CenterX = bar.CenterX; if (!ReflectEnableByBar) { ReflectEnableByBar = true; } } mainBall.Process(input, g, null, null); //吸着時のメインボールのX座標 if (mainBall.IsCaught) { mainBall.CenterX = bar.CenterX + mainBall.CatchXOffset; } // ボールの動き if (!mainBall.IsStop && !mainBall.IsCaught) { ++ballSpeedUpCount; switch (BarType) // バーによりの速度上昇の早さが違う { case EBarType.LONG: g.DrawString(string.Format("{0} ballspup", ballSpeedUpCount % 1500), font, DrawUtil.BrushRGB(255, 120, 0), 20, 440); if (ballSpeedUpCount % 1500 == 0) // やさしい { mainBall.LvUp(1); } break; case EBarType.MEDIUM: g.DrawString(string.Format("{0} ballspup", ballSpeedUpCount % 1000), font, DrawUtil.BrushRGB(255, 120, 0), 20, 440); if (ballSpeedUpCount % 1000 == 0) // ふつう { mainBall.LvUp(1); } break; case EBarType.SHORT: g.DrawString(string.Format("{0} ballspup", ballSpeedUpCount % 800), font, DrawUtil.BrushRGB(255, 120, 0), 20, 440); if (ballSpeedUpCount % 800 == 0) // 難しい { mainBall.LvUp(1); } break; } } if (++ramdomWalkCount == 1000) // 進まなくなったとき用カウントの増加 { ramdomWalkCount = 0; mainBall.RamdomWalk(); } // ボールとバーの当たり判定 HitCheckBallAndBar(mainBall, g); // ボールとブロックの当たり判定 HitCheckBallAndBlock(mainBall); // ボールとボールの衝突判定 HitCheckBallAndBall(mainBall); }