예제 #1
0
파일: Game.cs 프로젝트: zaba37/Sokoban_ZTP
        private void endRound(Hero hero)
        {
            timer.Stop();
            mapNumber++;


            //  DateTime ElapsedTime = DateTime.Parse(elapsedTime);
            int totalSeconds = (elapsedTimeDateTime.Hours * 360) + (elapsedTimeDateTime.Minutes * 60) + elapsedTimeDateTime.Seconds;

            if (totalSeconds < 20)
            {
                totalPoints = totalPoints + 100;
            }
            if (totalSeconds >= 20 && totalSeconds <= 40)
            {
                totalPoints = totalPoints + 50;
            }
            if (totalSeconds > 40)
            {
                totalPoints = totalPoints + 20;
            }
            double pointsForSteps = ((double)hero.getNumberSteps()) * 0.1;

            totalPoints = totalPoints - (int)pointsForSteps;
            if (totalPoints < 0)
            {
                totalPoints = 0;
            }


            this.Controls.Clear();


            if (mapNumber < 5)
            {
                RetroMapBuilder ret = new RetroMapBuilder();
                newDirector.setMapBuilder(ret);
                newDirector.constructMap(mapNumber);
                newMap = newDirector.getMap();
            }
            else
            {
                ClassicMapBuilder clas = new ClassicMapBuilder();
                newDirector.setMapBuilder(clas);
                newDirector.constructMap(mapNumber);
                newMap = newDirector.getMap();
            }

            initMap(newMap);

            originator = new Originator();
            careTaker  = new CareTaker();

            //UZUPELNIC ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        }
예제 #2
0
파일: Game.cs 프로젝트: zaba37/Sokoban_ZTP
        public Game()
        {
            InitializeComponent();


            FormBorderStyle = FormBorderStyle.None;
            WindowState     = FormWindowState.Maximized;
            Control.CheckForIllegalCrossThreadCalls = false;
            this.BackgroundImage = Image.FromFile(@"Map\Floor.png");
            this.DoubleBuffered  = true;

            mapNumber = 6;

            numberOfMap = 2;  //ILOSC MAP~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

            //  PointsList = null;
            SetBoxes      = 0;
            posX          = 0;
            posY          = 0;
            widthElement  = 64;
            heightElement = 64;
            totalPoints   = 0;

            typewriter.Stop();
            typewriter.SoundLocation = @"Music\step.wav";

            startScreen          = new PictureBox[9];
            startScreen[0]       = new PictureBox();
            startScreen[0].Image = new Bitmap(@"Drawable\L1.png");
            startScreen[1]       = new PictureBox();
            startScreen[1].Image = new Bitmap(@"Drawable\L2.png");
            startScreen[2]       = new PictureBox();
            startScreen[2].Image = new Bitmap(@"Drawable\L3.png");
            startScreen[3]       = new PictureBox();
            startScreen[3].Image = new Bitmap(@"Drawable\L4.png");
            startScreen[4]       = new PictureBox();
            startScreen[4].Image = new Bitmap(@"Drawable\L5.png");
            startScreen[5]       = new PictureBox();
            startScreen[5].Image = new Bitmap(@"Drawable\L6.png");
            startScreen[6]       = new PictureBox();
            startScreen[6].Image = new Bitmap(@"Drawable\L7.png");
            startScreen[7]       = new PictureBox();
            startScreen[7].Image = new Bitmap(@"Drawable\L8.png");
            startScreen[8]       = new PictureBox();
            startScreen[8].Image = new Bitmap(@"Drawable\L9.png");

            foreach (PictureBox start in startScreen)
            {
                start.Location  = new Point(250, 150);
                start.Height    = start.Image.Height;
                start.Width     = start.Image.Width;
                start.BackColor = Color.Transparent;
            }

            cbStart             = new CustomButton(@"Buttons\GameButtons\StartNormal.png", @"Buttons\GameButtons\StartPress.png", @"Buttons\GameButtons\StartFocus.png", 550, 380, "StartTag");
            cbStart.MouseClick += new MouseEventHandler(mouseClick);

            newDirector = new Director();
            newMove     = new Move();
            RetroMapBuilder ret = new RetroMapBuilder();

            newDirector.setMapBuilder(ret);
            newDirector.constructMap(1);
            newMap = newDirector.getMap();
            initMap(newMap);
        }
예제 #3
0
파일: Game.cs 프로젝트: zaba37/Sokoban_ZTP
        private void pressEsc()
        {
            timer.Stop();
            pauseTime = DateTime.Now;

            typewriter.Stop();
            typewriter.SoundLocation = @"Music\pauseMusic.wav";
            typewriter.PlayLooping();

            if (pauseWindow == null)
            {
                pauseWindow     = new GamePause();
                pauseWindow.Tag = Tag;
            }


            this.Hide();
            pauseWindow.ShowDialog();

            if (pauseWindow.flag == 1)
            {
                var difference = DateTime.Now - pauseTime;
                startTime = startTime.Add(difference);

                typewriter.Stop();
                typewriter.SoundLocation = @"Music\step.wav";

                timer.Start();
                this.Show();
            }

            if (pauseWindow.flag == 2)
            {
                this.Controls.Clear();

                typewriter.Stop();
                typewriter.SoundLocation = @"Music\step.wav";
                int[]  posHero        = newMap.findHeroPosition();
                Hero   hero           = (Hero)newMap.getPart(posHero[0], posHero[1]);
                double pointsForSteps = ((double)hero.getNumberSteps()) * 0.1;
                totalPoints = totalPoints - (int)pointsForSteps;

                if (mapNumber < 5)
                {
                    RetroMapBuilder ret = new RetroMapBuilder();
                    newDirector.setMapBuilder(ret);
                    newDirector.constructMap(mapNumber);
                    newMap = newDirector.getMap();
                    newMap.setStyle("retro");
                }
                else
                {
                    ClassicMapBuilder clas = new ClassicMapBuilder();
                    newDirector.setMapBuilder(clas);
                    newDirector.constructMap(mapNumber);
                    newMap = newDirector.getMap();
                    newMap.setStyle("classic");
                }

                originator = new Originator();
                careTaker  = new CareTaker();

                initMap(newMap);
                this.Show();
            }

            if (pauseWindow.flag == 3)
            {
                typewriter.Stop();
                typewriter.SoundLocation = @"Music\mainMusic.wav";
                typewriter.PlayLooping();
                this.Close();
            }
        }