예제 #1
0
        public Ranking(int score, EBarType barnum, DisplayInfo dInfo, IOperator Operator)
        {
            this.dInfo    = dInfo;
            this.Operator = Operator;

            try
            {
                rankGh = new Bitmap(Main.ResourceDirectory + "ranking.png");
                gh     = new Image[3];
                gh[0]  = new Bitmap(Main.ResourceDirectory + "bar.bmp");
                gh[1]  = new Bitmap(Main.ResourceDirectory + "barsecond.bmp");
                gh[2]  = new Bitmap(Main.ResourceDirectory + "barthird.bmp");
                newgh  = new Bitmap(Main.ResourceDirectory + "new.bmp");
            }
            catch (Exception)
            {
            }
            selectSoundFlag   = false;
            decisionSoundFlag = false;
            IsDead            = false;
            scrollspeed       = 1;
            end    = false;
            scorey = 0;
            scroll = true;
            index  = -1; // 配列の一番最初は添え字が0なため

            Save(score, barnum);
        }
예제 #2
0
        public Ball(DisplayInfo dInfo, Bar bar)
        {
            this.dInfo = dInfo;
            gh         = new Image[4];
            gh[0]      = new Bitmap(Main.ResourceDirectory + "ball.png");
            gh[1]      = new Bitmap(Main.ResourceDirectory + "ball_pene.png");
            gh[2]      = new Bitmap(Main.ResourceDirectory + "ball2.png");
            gh[3]      = new Bitmap(Main.ResourceDirectory + "ball2_pene.png");

            Width  = (int)gh[0].Width;
            Height = (int)gh[0].Height;

            CenterX          = dInfo.Width / 2 + 30;
            CenterY          = 540 - Height + 2;
            DX               = 0;
            DY               = 0;
            OldY             = CenterY;
            IsDead           = false;
            IsCaught         = true;
            PlaySound        = false;
            Penetrability    = EPenetrability.NON_PENETRATING;
            PenetratingCount = 0;
            IsSmall          = false;
            IsNewCount       = 0;
            Level            = 1;
            IsStop           = true;
            CatchXOffset     = 0;
            baccel           = 0;
            AccelVector      = 0;
            this.bar         = bar;

            OverlappingBalls = new LinkedList <Ball>();
        }
예제 #3
0
        public Bar(EBarType BarType, DisplayInfo dInfo, IOperator Operator)
        {
            this.dInfo    = dInfo;
            this.Operator = Operator;

            mBar  = moldBar = BarType;
            gh    = new Image[4];
            gh[0] = new Bitmap(Main.ResourceDirectory + "bar.bmp");
            gh[1] = new Bitmap(Main.ResourceDirectory + "barsecond.bmp");
            gh[2] = new Bitmap(Main.ResourceDirectory + "barthird.bmp");
            gh[3] = new Bitmap(Main.ResourceDirectory + "barcatcher.bmp");

            Bitmap bi = gh[0] as Bitmap;

            if (mBar == EBarType.SHORT)
            {
                Width = (int)bi.Width / 2;
                SPEED = 16;
            }
            else
            {
                Width = (int)bi.Width;
            }
            Height = (int)bi.Height;

            CenterX = dInfo.Width / 2;
            CenterY = 540;
            Reset();
            IsDead = false;
            IsMove = false;
        }
예제 #4
0
        public StageSelect(DisplayInfo dInfo, IOperator Operator, UserChoice uc)
        {
            this.dInfo    = dInfo;
            this.Operator = Operator;
            this.Bar      = uc.BarType;

            bargh     = new Image[3];
            stagegh   = new Image[6];
            sdetailgh = new Image[6];
            clear     = new bool[6];

            Stage = 1;

            bargh[0] = new Bitmap(Main.ResourceDirectory + "bar.bmp");
            bargh[1] = new Bitmap(Main.ResourceDirectory + "barsecond.bmp");
            bargh[2] = new Bitmap(Main.ResourceDirectory + "barthird.bmp");

            ballgh = new Bitmap(Main.ResourceDirectory + "ball_b.png");

            stagegh[0] = new Bitmap(Main.ResourceDirectory + "stage1mini.png");
            stagegh[1] = new Bitmap(Main.ResourceDirectory + "stage2mini.png");
            stagegh[2] = new Bitmap(Main.ResourceDirectory + "stage3mini.png");
            stagegh[3] = new Bitmap(Main.ResourceDirectory + "stage4mini.png");
            stagegh[4] = new Bitmap(Main.ResourceDirectory + "stage5mini.png");
            stagegh[5] = new Bitmap(Main.ResourceDirectory + "ball.png");

            sdetailgh[0] = new Bitmap(Main.ResourceDirectory + "stage1.png");
            sdetailgh[1] = new Bitmap(Main.ResourceDirectory + "stage2.png");
            sdetailgh[2] = new Bitmap(Main.ResourceDirectory + "stage3.png");
            sdetailgh[3] = new Bitmap(Main.ResourceDirectory + "stage4.png");
            sdetailgh[4] = new Bitmap(Main.ResourceDirectory + "stage5.png");
            sdetailgh[5] = new Bitmap(Main.ResourceDirectory + "ball.png");

            sselectgh = new Bitmap(Main.ResourceDirectory + "stageselect.png");
            cleargh   = new Bitmap(Main.ResourceDirectory + "clearstar.png");

            IsDead = false;

            for (int i = 0; i < 6; ++i)
            {
                clear[i] = false;
            }

            Score = 0;
#if DEBUG
            Stock = 10;
#else
            Stock = 2;
#endif
            autocount = 0;
        }
예제 #5
0
        //private IOperator OtherOperator;

        public Title(Main main, DisplayInfo dInfo, IOperator Operator)
        {
            this.main     = main;
            this.dInfo    = dInfo;
            this.Operator = Operator;

            titleGh = new Bitmap(Main.ResourceDirectory + "title.png");

            //OtherOperator = new AutomaticOperator();

            selectSoundFlag   = false;
            decisionSoundFlag = false;
            IsDead            = false;
            atcount           = 0;
        }
예제 #6
0
        public BarSelect(DisplayInfo dInfo, IOperator Operator)
        {
            this.dInfo    = dInfo;
            this.Operator = Operator;
            barGh         = new Image[3];

            Bar = 1;

            barGh[0]  = new Bitmap(Main.ResourceDirectory + "bar.bmp");
            barGh[1]  = new Bitmap(Main.ResourceDirectory + "barsecond.bmp");
            barGh[2]  = new Bitmap(Main.ResourceDirectory + "barthird.bmp");
            bSelectGh = new Bitmap(Main.ResourceDirectory + "barselect.png");

            IsDead    = false;
            autoCount = 0;
        }
예제 #7
0
        public Main(DisplayInfo dInfo, WPFBlockCrash.BlockCrashView.EOperatingType OperatingType)
        {
            MainInstance       = this;
            this.dInfo         = dInfo;
            this.OperatingType = OperatingType;

            Reconstruct(dInfo, OperatingType);
            userChoice = new UserChoice();
            takeOver   = new TakeOver()
            {
                DisplayInfo = dInfo,
                Score       = 0,
                Stock       = 2
            };
            AutoModeControl = 0;
        }
예제 #8
0
        public Control(UserChoice userChoice, TakeOver takeOver, DisplayInfo dInfo, Input input, IOperator Operator)
        {
            this.dInfo    = dInfo;
            this.Operator = Operator;

            BarType = userChoice.BarType;

            bool extendon = true;

            if (BarType == EBarType.SHORT)
            {
                extendon = false;
            }

            //バーとボールのインスタンスを生成
            bar              = new Bar(BarType, dInfo, Operator);
            mainBall         = new Ball(dInfo, bar);
            ballSpeedUpCount = 0;

            SmallBalls            = new LinkedList <Ball>();
            willBeAddedSmallBalls = new List <Ball>();

            cleared         = false;
            Score           = takeOver.Score;
            Stock           = takeOver.Stock;
            Stage           = userChoice.StageType;
            ramdomWalkCount = 0;
            ComboCount      = 0;
            OnCombo         = false;
            combooncount    = 0;
            alphacombo      = 0;

            PrepareSound();

            // 残機表示の読み込み
            gh = new Bitmap(Main.ResourceDirectory + "ball_b.png");

            builder = StageBuilder.CreateStageBuilder(Stage);

            builder.CreateStage(out blocks, ref stageTotalBlockCount, extendon);
        }
예제 #9
0
        private void Reconstruct(DisplayInfo dInfo, WPFBlockCrash.BlockCrashView.EOperatingType OperatingType)
        {
            switch (OperatingType)
            {
            case BlockCrashView.EOperatingType.DESKTOP_KEYBOARD:
                CurrentState = title = new Title(this, dInfo, new DesktopKeyboard());
                break;

            case BlockCrashView.EOperatingType.VIRTOS_SLIDER:
                CurrentState = title = new Title(this, dInfo, new VIRTOSSlider());
                break;

            case BlockCrashView.EOperatingType.AUTO:
                CurrentState = title = new Title(this, dInfo, new AutomaticOperator());
                break;

            default:
                throw new InvalidOperationException("EOperatingType is UNKNOWN.");
            }

            ResultIgnore = true;
        }
예제 #10
0
        public Message(EMessageType MessageType, int count, DisplayInfo dInfo)
        {
            this.dInfo       = dInfo;
            this.MessageType = MessageType;
            this.count       = count;

            IsDead = false;

            switch (MessageType)
            {
            case EMessageType.FAILED:
                message = "BALL FAILED!!";
                break;

            case EMessageType.CLEAR:
                message = "CLEAR!!";
                break;

            case EMessageType.GAMEOVER:
                message = "GAME OVER!!";
                break;
            }
        }