Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        private void Draw(Graphics g)
        {
            if (!IsDead)
            {
                if (IsMirroring)
                {
                    g.DrawImage(gh[(int)BlockColor + ItemHandleOffset], scrollCount - Width, CenterY - Height / 2, Width, Height);
                    DrawUtil.Debug_DrawBlockRectangle(g, scrollCount - Width, CenterY - Height / 2, Width, Height);
                }

                g.DrawImage(gh[(int)BlockColor + ItemHandleOffset], CenterX - Width / 2, CenterY - Height / 2, Width, Height);
                DrawUtil.Debug_DrawBlockRectangle(g, CenterX - Width / 2, CenterY - Height / 2, Width, Height);
            }
            else if (IsItem)
            {
                if (IsHalf)
                {
                    if (IsMirroring)
                    {
                        g.DrawImage(itemgh[(int)ItemType], scrollCount - Width, CenterY - Height / 2, Width, Height);
                        DrawUtil.Debug_DrawBlockRectangle(g, scrollCount - Width, CenterY - Height / 2, Width, Height);
                    }

                    g.DrawImage(itemgh[(int)ItemType], CenterX - Width / 2, CenterY - Height / 2, Width, Height);
                    DrawUtil.Debug_DrawBlockRectangle(g, CenterX - Width / 2, CenterY - Height / 2, Width, Height);
                }
                else
                {
                    if (IsMirroring)
                    {
                        g.DrawImage(itemgh[(int)ItemType], scrollCount - ItemWidth, CenterY - Height / 2, ItemWidth, ItemHeight);
                        DrawUtil.Debug_DrawBlockRectangle(g, scrollCount - ItemWidth, CenterY - Height / 2, ItemWidth, ItemHeight);
                    }

                    g.DrawImage(itemgh[(int)ItemType], CenterX - ItemWidth / 2, CenterY - ItemHeight / 2, ItemWidth, ItemHeight);
                    DrawUtil.Debug_DrawBlockRectangle(g, CenterX - ItemWidth / 2, CenterY - ItemHeight / 2, ItemWidth, ItemHeight);
                }
            }
            else
            {
                DrawVanishingGradually(g);
            }
        }
Beispiel #4
0
        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;
            }
        }
Beispiel #5
0
        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;
            }
        }
Beispiel #6
0
        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;
            }
        }
Beispiel #7
0
 private void DrawStageTitle(Graphics g, string stageTitle)
 {
     g.DrawString(stageTitle, font, DrawUtil.BrushRGB(255, 120, 0), 40, 340);
 }
Beispiel #8
0
        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);
        }
Beispiel #9
0
 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);
 }
Beispiel #10
0
        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);
        }