source: 2012/30/ArttuP/NarutoVSsasuke/NarutoVSsasuke/NarutoVSsasuke/NarutoVSsasuke.cs @ 3746

Revision 3746, 5.4 KB checked in by arosiipu, 9 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class NarutoVSsasuke : PhysicsGame
10{
11    const double nopeus = 200;
12    const double hyppyNopeus = 750;
13    const int RUUDUN_KOKO = 40;
14
15    PlatformCharacter pelaaja1;
16    Image Taustakuva = LoadImage("tausta");
17    Image[] Kavelykuvat = LoadImages("juoksu 1", "juoksu2");
18    Image[] Hyppykuvat = LoadImages("hyppy 1");
19    Image pelaajanKuva = LoadImage("perus asento");
20    Image[] Pelaaja1combo = LoadImages("combo 1", "combo 2", "combo 3");
21    SoundEffect maaliAani = LoadSoundEffect("maali");
22    PlatformCharacter pelaaja2;
23    Image[] Kavelykuvat2 = LoadImages("Juoksu B","Juoksu B 2");
24    Image[] Pelaaja2combo = LoadImages("combo 1 B (1)","combo 1 B (12)","combo 1 B (2)","combo 1 B (3)","combo 1 B (4)");
25    Image pelaajanKuva2 = LoadImage("perusasento B");
26    Image hyppykuvat2 = LoadImage("hyppy B");
27    public override void Begin()
28    {
29        Gravity = new Vector(0, -1000);
30
31        LuoKentta();
32        LisaaNappaimet();
33
34       // Camera.Follow(pelaaja1);
35        Camera.ZoomToLevel();
36        //Camera.StayInLevel = true;
37    }
38
39    void LuoKentta()
40    {
41        TileMap kentta = TileMap.FromLevelAsset("kentta1");
42        kentta.SetTileMethod('#', LisaaTaso);
43        kentta.SetTileMethod('*', LisaaTahti);
44        kentta.SetTileMethod('N', LisaaPelaaja);
45        kentta.SetTileMethod('S', LisaaPelaaja2);
46        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
47        Level.CreateBorders();
48        Level.Background.Image = Taustakuva;
49        Level.Background.FitToLevel();
50    }
51
52    void LisaaTaso(Vector paikka, double leveys, double korkeus)
53    {
54        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
55        taso.Position = paikka;
56        taso.Color = Color.Brown;
57        Add(taso);
58    }
59
60    void LisaaTahti(Vector paikka, double leveys, double korkeus)
61    {
62    }
63    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
64    {
65        pelaaja1 = new PlatformCharacter(leveys, korkeus);
66        pelaaja1.Position = paikka;
67        pelaaja1.Mass = 4.0;
68        pelaaja1.Image = pelaajanKuva;
69        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen);
70        Add(pelaaja1);
71        pelaaja1.AnimWalk = new Animation(Kavelykuvat);
72        pelaaja1.AnimWalk.FPS = 6;
73        pelaaja1.AnimIdle = new Animation(pelaajanKuva);
74        pelaaja1.AnimJump = new Animation(Hyppykuvat) ;
75   
76    }
77
78    void LisaaPelaaja2(Vector paikka, double leveys, double korkeus)
79    {
80        pelaaja2 = new PlatformCharacter(leveys, korkeus);
81        pelaaja2.Position = paikka;
82        pelaaja2.Mass = 4.0;
83        pelaaja2.Image = pelaajanKuva2;
84        //AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen);
85        Add(pelaaja2);
86        pelaaja2.AnimWalk = new Animation(Kavelykuvat2);
87        pelaaja2.AnimWalk.FPS = 6;
88        pelaaja2.AnimIdle = new Animation(pelaajanKuva2);
89        pelaaja2.AnimJump = new Animation(hyppykuvat2);
90
91    }
92    void LisaaNappaimet()
93    {
94        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
95        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
96
97        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
98        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
99        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
100
101        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
102
103        //ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
104        //ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
105        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
106        ControllerOne.Listen(Button.B, ButtonState.Pressed, Isku, "lyo vastustajaa", pelaaja1);
107        ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, LiikutaTatilla, "Liikuta pelaajaa tattia pyörittämällä.", pelaaja1, nopeus);
108
109        ControllerTwo.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus);
110        ControllerTwo.Listen(Button.B, ButtonState.Pressed, Isku, "lyo vastustajaa", pelaaja2);
111        ControllerTwo.ListenAnalog(AnalogControl.LeftStick, 0.1, LiikutaTatilla, "Liikuta pelaajaa tattia pyörittämällä.", pelaaja2, nopeus);
112
113    }
114    void Isku(PlatformCharacter pelaaja)
115    {
116        Animation iskuanimaatio = new Animation(Pelaaja1combo);
117        iskuanimaatio.FPS = 4;
118        pelaaja.PlayAnimation(iskuanimaatio);
119    }
120
121    void Liikuta(PlatformCharacter hahmo, double nopeus)
122    {
123        hahmo.Walk(nopeus);
124    }
125
126    void LiikutaTatilla (AnalogState tatinTila, PlatformCharacter hahmo, double nopeus)
127    {
128        hahmo.Walk(tatinTila.StateVector.X * nopeus);
129    }
130
131    void Hyppaa(PlatformCharacter hahmo, double nopeus)
132    {
133        hahmo.Jump(nopeus);
134    }
135
136    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti)
137    {
138        maaliAani.Play();
139        MessageDisplay.Add("Keräsit tähden!");
140        tahti.Destroy();
141    }
142}
Note: See TracBrowser for help on using the repository browser.