Пример #1
0
        /// <summary>
        /// Asetetaan ohjaimet varsinaista peliä varten
        /// </summary>
        private void AsetaOhjaimet()
        {
            Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Show help");
            Keyboard.Listen(Key.F5, ButtonState.Pressed, Begin, "New game");
            // Keyboard.Listen(Key.Escape, ButtonState.Pressed, KysyLopetus, "Exit game");
            Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Exit game");
            Keyboard.Listen(Key.Up, ButtonState.Down, KaannaMailaa, "Move up", 5.0);
            Keyboard.Listen(Key.Down, ButtonState.Down, KaannaMailaa, "Move down", -5.0);
            Keyboard.Listen(Key.Space, ButtonState.Pressed, PudotaPallo, "Drop ball");

            Mouse.IsCursorVisible = true;
            Mouse.ListenOn(pisteNaytto, MouseButton.Left, ButtonState.Pressed, delegate() { AloitaUusiPeli(); }, null);
            Mouse.Listen(MouseButton.Left, ButtonState.Pressed, delegate() { PudotaPallo(); }, "Drop ball");
            //  Mouse.ListenMovement(0.1, delegate (AnalogState analogState) { Tahtaa(Mouse.PositionOnWorld); }, "Aim");
            Mouse.ListenMovement(0.1, () => { Tahtaa(Mouse.PositionOnWorld); }, "Aim");

            TouchPanel.ListenOn(pisteNaytto, ButtonState.Pressed, delegate(Touch kosketus) { AloitaUusiPeli(); }, null);
            TouchPanel.Listen(ButtonState.Pressed, delegate(Touch kosketus) { PudotaPallo(); }, "Drop ball");
            TouchPanel.Listen(ButtonState.Down, delegate(Touch kosketus) { Tahtaa(kosketus.PositionOnWorld); }, "Aim");
            // PhoneBackButton.Listen(KysyLopetus, "Lopeta peli");
            PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");

#if ANDROID // lisää tähän ehtoa jos muitakin kallistelun tukevia
            Accelerometer.Calibration = AccelerometerCalibration.ZeroAngle;
            Accelerometer.ListenAnalog(AccelerometerSensitivity.Realtime, TahtaaAccel, "Aim");
            Accelerometer.Listen(AccelerometerDirection.Shake, delegate { PudotaPallo(); }, "Drop ball");
#endif
        }
Пример #2
0
        /// <summary>
        /// Alustetaan peli
        /// </summary>
        public override void Begin()
        {
            Level.Background.Color = Color.Black;

            double dy = Screen.Height / NY;       // Lasketaan ruudun korkeus pikseleinä
            int    nx = (int)(Screen.Width / dy); // ja montako mahtuu X-suuntaan
            int    ny = NY;

            sukupolvi         = new int[ny, nx];   //  Luodaan taulukot
            seuraavaSukupolvi = new int[ny, nx];
            oliot             = new GameObject[ny, nx];
            // seuraavaSukupolvi = sukupolvi;          // jos tämä on mukana, käyttäytyy eri tavalla

            LuoOliot(this, oliot);

            // IsFullScreen = true;

            timer.Interval = 0.1; // timeri antamaan tapahtuma 0.1 sek välein
            timer.Timeout += LaskeJaPiirraSeuraavaSukupolvi;
            timer.Start();

            ArvoSukupolvi();  // jos halutaan käynnistää automaattisesti

            Camera.ZoomToAllObjects();
            // Camera.Zoom(20);
            // Camera.Move(new Vector(Screen.Width/2, Screen.Height/2));

            // Kuuntelijat:
            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
            Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
            Keyboard.Listen(Key.Enter, ButtonState.Pressed, Jatka, "Jatka");
            Keyboard.Listen(Key.Space, ButtonState.Pressed, ArvoSukupolvi, "Arvo sukupolvi");
            Keyboard.Listen(Key.Delete, ButtonState.Pressed, TyhjennaSukupolvi, "Tyhjennä sukupolvi");
            Keyboard.Listen(Key.Right, ButtonState.Pressed, LaskeJaPiirraSeuraavaSukupolvi, "Seuraava sukupolvi");
            Keyboard.Listen(Key.Left, ButtonState.Pressed, PiirraEdellinenSukupolvi, "Edellinen sukupolvi");
            Mouse.IsCursorVisible = true;
            Mouse.Listen(MouseButton.Left, ButtonState.Pressed, HiiriPainettu, null);
            Mouse.Listen(MouseButton.Right, ButtonState.Pressed, delegate { Jatka(); }, "Jatka");

            TouchPanel.Listen(ButtonState.Pressed, NayttoaPainettu, null);
            TouchPanel.ListenGesture(GestureType.DoubleTap, delegate { Jatka(); }, "Jatka");
            TouchPanel.ListenGesture(GestureType.VerticalDrag, delegate { TyhjennaSukupolvi(); }, "Tyhjennä taulukko");
            TouchPanel.ListenGesture(GestureType.HorizontalDrag, delegate { ArvoSukupolvi(); }, "Arvo sukupolvi");
            Accelerometer.Listen(AccelerometerDirection.Shake, delegate { ArvoSukupolvi(); }, "Arvo sukupolvi");
            PhoneBackButton.Listen(Exit, "Lopeta peli");
        }