source: 2011/24/EliasY/Pixel Quest/Pixel Quest/Pixel Quest/Peli.cs @ 2035

Revision 2035, 4.1 KB checked in by elalylon, 9 years ago (diff)

Tein maaston ja osan ensimmäisestä NPC:stä, joka antaa tehtävän.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Peli : PhysicsGame
10{
11    Image Tausta = LoadImage("Tausta");
12    Image kivikuva = LoadImage("kivi");
13    Image pelaajankuva = LoadImage("Pelaaja");
14    Image tiematsku = LoadImage("Tiematsku");
15    Image hallitsijankuva = LoadImage("Hallitsija");
16    PhysicsObject Pelaaja;
17    PhysicsObject hallitsija;
18    GameObject tie;
19    Vector ylos = new Vector(0, 200);
20    public override void Begin()
21    {
22        LuoKentta();
23    }
24    void LuoKentta()
25    {
26        Level.Width = 2000;
27        Level.Height = 2000;
28        Level.CreateBorders();
29        Camera.ZoomFactor = 5.0;
30        Level.Background.Image = Tausta;
31        Level.Background.FitToLevel();
32       
33
34        LuoTie(1600, 30, 0, 0);
35        LuoTie(30, 600, -800, 285);
36        LuoTie(30, 600, -700, -285);
37        LuoTie(30, 1200, 800, 0);
38        LuoTie(400, 30, 700, 600);
39        LuoTie(400, 30, 700, -600);
40
41        //LuoKivi(100, 100);
42        LuoPelaaja();
43        Camera.Follow(Pelaaja);
44
45        LuoOlennot();
46    }
47    //void LuoKivi(double x, double y)
48    //{
49    //    PhysicsObject kivi = PhysicsObject.CreateStaticObject(x, y);
50    //    kivi.Angle = RandomGen.NextAngle();
51    //    kivi.Shape = Shape.FromImage(kivikuva);
52    //    kivi.Image = kivikuva;
53    //    Add(kivi);
54    //}
55    void LuoTie(double kokoX, double kokoY, double sijaintiX, double sijaintiY)
56    {
57        tie = new GameObject(kokoX, kokoY, Shape.Rectangle);
58        tie.X = sijaintiX;
59        tie.Y = sijaintiY;
60        tie.Image = tiematsku;
61        Add(tie);
62    }
63    void LuoPelaaja()
64    {
65        Pelaaja = new PhysicsObject(10,10);
66        Pelaaja.Image = pelaajankuva;
67        Pelaaja.Shape = Shape.FromImage(pelaajankuva);
68        Pelaaja.CanRotate = false;
69        Add(Pelaaja);
70        LuoLiikunta();
71    }
72    void LuoLiikunta()
73    {
74        Keyboard.Listen(Key.W, ButtonState.Pressed, LiikuYlos, "Liikuta Pelaajaa ylös.");
75        Keyboard.Listen(Key.W, ButtonState.Released, Pysayta, null);
76        Keyboard.Listen(Key.S, ButtonState.Pressed, LiikuAlas, "Liikuta Pelaajaa alas.");
77        Keyboard.Listen(Key.S, ButtonState.Released, Pysayta, null);
78        Keyboard.Listen(Key.A, ButtonState.Pressed, LiikuVasemmalle, "Liikuta Pelaajaa vasemmalle.");
79        Keyboard.Listen(Key.A, ButtonState.Released, Pysayta, null);
80        Keyboard.Listen(Key.D, ButtonState.Pressed, LiikuOikealle, "Liikuta Pelaajaa oikealle.");
81        Keyboard.Listen(Key.D, ButtonState.Released, Pysayta, null);
82        Keyboard.Listen(Key.M, ButtonState.Pressed, Kartta, "Näytä kartta");
83        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
84    }
85    void LuoOlennot()
86    {
87        hallitsija = new PhysicsObject(10,10);
88        //hallitsija.Shape = Shape.FromImage(hallitsijankuva);
89        hallitsija.Image = hallitsijankuva;
90        hallitsija.X = -100;
91        hallitsija.Y = 100;
92        hallitsija.LinearDamping = 0.7;
93        hallitsija.CanRotate = false;
94        //Tee kääntymisenesto
95        Add(hallitsija);
96    }
97    void LiikuYlos()
98    {
99        Vector ylos = new Vector(0, 200);
100        Pelaaja.Angle = Angle.FromDegrees(0);
101        Pelaaja.Hit(ylos);
102    }
103    void LiikuAlas()
104    {
105        Vector alas = new Vector(0, -200);
106        Pelaaja.Angle = Angle.FromDegrees(180);
107        Pelaaja.Hit(alas);
108    }
109    void LiikuVasemmalle()
110    {
111        Vector vasemmalle = new Vector(-200, 0);
112        Pelaaja.Angle = Angle.FromDegrees(90);
113        Pelaaja.Hit(vasemmalle);
114    }
115    void LiikuOikealle()
116    {
117        Vector oikealle = new Vector(200, 0);
118        Pelaaja.Angle = Angle.FromDegrees(270);
119        Pelaaja.Hit(oikealle);
120    }
121    void Pysayta()
122    {
123        Pelaaja.Velocity = Vector.Zero;
124    }
125    void Kartta()
126    {
127        if (Camera.ZoomFactor >= 5.0)
128        {
129            Camera.ZoomFactor = 1.0;
130        }
131        else if (Camera.ZoomFactor <= 1.0)
132        {
133            Camera.ZoomFactor = 5.0;
134        }
135    }
136}
Note: See TracBrowser for help on using the repository browser.