Ignore:
Timestamp:
2014-06-26 15:03:13 (5 years ago)
Author:
jealkuik
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2014/26/TuukkaJ/NoobFight/NoobFight/NoobFight/NoobFight.cs

    r5084 r5134  
    77using Jypeli.Widgets; 
    88 
     9class Pelaaja : PhysicsObject 
     10{ 
     11    public bool onkoilmassa = false; 
     12 
     13    public Pelaaja(double leveys, double korkeus) 
     14        : base(leveys, korkeus) 
     15    { 
     16         
     17    } 
     18} 
     19 
    920public class NoobFight : PhysicsGame 
    1021{ 
    11     Image hahmo = LoadImage("JerenHahmo"); 
     22    private Animation ukonKavely; 
     23    private Animation ukkelinKavely; 
     24    DoubleMeter elamaLaskuri = new DoubleMeter(10); 
     25    DoubleMeter elamaLaskuri2 = new DoubleMeter(10); 
     26 
     27    Pelaaja pelaaja1; 
     28    Pelaaja pelaaja2; 
     29 
     30 
     31    Image hahmo = LoadImage("Ukkeli1"); 
     32    Image yolo = LoadImage("Ukko1"); 
    1233    Image tausta = LoadImage("kuva"); 
     34    Image nyrkkiKuva = LoadImage("nyrkki"); 
    1335    private Image[] ukkelinkavely = LoadImages("hahmo", 1, 3); 
     36    private Image[] ukonkavely = LoadImages("hahmo", 1, 3); 
     37      
     38    double nopeusKerroin = 300; 
     39     
     40 
    1441    public override void Begin() 
     42    { 
     43        LuoAlkuvalikko(); 
     44    } 
     45 
     46 
     47    void LuoElamaLaskuri(double x, double y, DoubleMeter laskuri) 
     48    { 
     49        laskuri = new DoubleMeter(10); 
     50        laskuri.MaxValue = 10; 
     51        laskuri.MinValue = 0; 
     52        laskuri.LowerLimit += ElamaLoppui; 
     53 
     54        ProgressBar elamaPalkki = new ProgressBar(150, 20); 
     55        elamaPalkki.X = x; 
     56        elamaPalkki.Y = y; 
     57        elamaPalkki.BindTo(laskuri); 
     58        Add(elamaPalkki); 
     59 
     60 
     61 
     62    } 
     63 
     64    void LuoAikaLaskuri() 
     65    { 
     66        IntMeter laskuri = new IntMeter(60 * 3); 
     67        laskuri.MinValue = 0; 
     68        laskuri.LowerLimit += PeliOhi; 
     69    } 
     70 
     71 
     72    void ElamaLoppui() 
     73    { 
     74        MessageDisplay.Add("Finnish Him"); 
     75    } 
     76 
     77 
     78    void AikaVahenee() 
     79    { 
     80        //aikaVahenee 
     81 
     82    } 
     83 
     84 
     85    void PeliOhi() 
     86    { 
     87    } 
     88 
     89 
     90    void LuoAlkuvalikko() 
     91    { 
     92        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 
     93        "new game", "-____________-"); 
     94        alkuValikko.DefaultCancel = 3; 
     95        alkuValikko.Color = Color.Red; 
     96        alkuValikko.AddItemHandler(0, AloitaPeli); 
     97        alkuValikko.AddItemHandler(1, Exit); 
     98 
     99        Add(alkuValikko); 
     100    } 
     101 
     102 
     103    void AloitaPeli() 
     104    { 
     105        ClearAll(); 
     106        IsPaused = false; 
     107        SmoothTextures = false; 
     108 
     109        ukonKavely = LoadAnimation("ukko"); 
     110        ukkelinKavely = LoadAnimation("ukkeli"); 
     111 
     112        LuoKentta(); 
     113        AsetaOhjaimet(); 
     114        LuoPeliAika(); 
     115 
     116        LuoElamaLaskuri(Screen.Left + 150, Screen.Top - 20, elamaLaskuri); 
     117        LuoElamaLaskuri(Screen.Right - 150, Screen.Top - 20, elamaLaskuri2); 
     118 
     119         
     120    } 
     121 
     122 
     123    void LuoPeliAika() 
     124    { 
     125        Timer ajastinPeliAika = new Timer(); 
     126        ajastinPeliAika.Interval = 1.5; 
     127        ajastinPeliAika.Timeout += AikaVahenee; 
     128        ajastinPeliAika.Start(1); 
     129    } 
     130 
     131 
     132    void AsetaOhjaimet() 
     133    { 
     134        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, pelaaja1, new Vector(-1, 0)); 
     135        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, pelaaja1, new Vector(1, 0)); 
     136        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, null, pelaaja1); 
     137        Keyboard.Listen(Key.Space, ButtonState.Down, LyoPelaajaa1, null, pelaaja1); 
     138 
     139        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(-1, 0)); 
     140        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(1, 0)); 
     141        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, null, pelaaja2); 
     142        Keyboard.Listen(Key.F, ButtonState.Down, LyoPelaajaa2, null, pelaaja2); 
     143 
     144 
     145        Keyboard.Listen(Key.P, ButtonState.Pressed, Pause, "Pysayttaa pelin"); 
     146 
     147        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     148        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     149    } 
     150 
     151 
     152    void LuoKentta() 
    15153    { 
    16154        SetWindowSize(1024, 768); 
    17155        Level.Size = new Vector(1024, 768); 
    18156        Camera.ZoomToLevel(); 
    19  
    20         SmoothTextures = false; 
    21         PhysicsObject pelaaja1 = new PhysicsObject(100, 100); 
    22         pelaaja1.Image = hahmo; 
    23         Add(pelaaja1); 
    24         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    25         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    26         IsPaused = true; 
    27         Keyboard.Listen(Key.P, ButtonState.Pressed, Pause, "Pysayttaa pelin"); 
    28         // Level.Background.Color = Color.Black; 
     157        Level.CreateBorders(); 
     158 
     159        LuoLattia(); 
     160 
     161        pelaaja1 = LuoPelaaja(200, 300, ukkelinKavely, 300, -150, "pelaaja1"); 
     162        AddCollisionHandler<Pelaaja, PhysicsObject>(pelaaja1, delegate { pelaaja1.onkoilmassa = false; }); 
     163 
     164        pelaaja2 = LuoPelaaja(250, 370, ukonKavely, -400, -150, "pelaaja2"); 
     165        AddCollisionHandler<Pelaaja, PhysicsObject>(pelaaja2, delegate { pelaaja2.onkoilmassa = false; }); 
     166 
    29167        Level.Background.Image = tausta; 
    30168        Level.Background.ScaleToLevel(); 
    31     } 
     169 
     170        Gravity = new Vector(0.0,-500.0); 
     171    } 
     172 
     173 
     174    Pelaaja LuoPelaaja(int leveys, int korkeus, Animation anim, int x, int y, string tagi) 
     175    { 
     176        Pelaaja pelaaja = new Pelaaja(leveys, korkeus); 
     177 
     178        pelaaja.Animation = new Animation(anim); 
     179        pelaaja.Animation.Start(); 
     180 
     181        pelaaja.Tag = tagi; 
     182 
     183        pelaaja.X = x; 
     184        pelaaja.Y = y; 
     185 
     186        pelaaja.CanRotate = false; 
     187        Add(pelaaja); 
     188 
     189        return pelaaja; 
     190    } 
     191 
     192 
     193    void LiikutaPelaajaa(PhysicsObject pelaaja, Vector suunta) 
     194    { 
     195        pelaaja.Velocity = nopeusKerroin * suunta; 
     196    } 
     197 
     198 
     199    void Hyppaa(Pelaaja pelaaja) 
     200    { 
     201        if (pelaaja.onkoilmassa) return; 
     202        pelaaja.onkoilmassa = true; 
     203        pelaaja.Hit(new Vector(0, 500)); 
     204    } 
     205 
     206 
     207    void LuoLattia() 
     208    { 
     209        PhysicsObject lattia = PhysicsObject.CreateStaticObject(Level.Width, 100); 
     210        Add(lattia); 
     211        lattia.Y = Level.Bottom; 
     212        lattia.Color = Color.Transparent; 
     213    } 
     214 
     215 
     216    void LyoPelaajaa1(Pelaaja pelaaja) 
     217    { 
     218        PhysicsObject nyrkki = new PhysicsObject(20, 20); 
     219        nyrkki.Image = nyrkkiKuva; 
     220        nyrkki.X = pelaaja.X + pelaaja.Width / 2 + 20; 
     221        nyrkki.Y = pelaaja.Y; 
     222        Add(nyrkki); 
     223 
     224        AddCollisionHandler<PhysicsObject, Pelaaja>(nyrkki, pelaaja2, NyrkkiOsui); 
     225 
     226    } 
     227 
     228 
     229    void LyoPelaajaa2(Pelaaja pelaaja) 
     230    { 
     231        PhysicsObject nyrkki = new PhysicsObject(20, 20); 
     232        nyrkki.Image = nyrkkiKuva; 
     233        nyrkki.X = pelaaja.X + pelaaja.Width / 2 + 20; 
     234        nyrkki.Y = pelaaja.Y; 
     235        Add(nyrkki); 
     236 
     237        AddCollisionHandler<PhysicsObject,Pelaaja>(nyrkki, pelaaja2, NyrkkiOsui); 
     238 
     239    } 
     240 
     241    void NyrkkiOsui(PhysicsObject nyrkki, Pelaaja pelaaja) 
     242    { 
     243        if (pelaaja.Tag.Equals("pelaaja1")) 
     244        { 
     245            elamaLaskuri.Value--; 
     246            if (elamaLaskuri.Value <= 0) pelaaja1.Destroy(); 
     247        } 
     248 
     249        else if (pelaaja.Tag.Equals("pelaaja2")) 
     250        { 
     251            elamaLaskuri2.Value--; 
     252            if (elamaLaskuri2.Value <= 0) pelaaja2.Destroy(); 
     253        } 
     254    } 
     255 
    32256} 
Note: See TracChangeset for help on using the changeset viewer.