Changeset 7858 for 2016


Ignore:
Timestamp:
2016-07-06 11:33:03 (3 years ago)
Author:
oslahtin
Message:
 
Location:
2016/27/OskariL
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • 2016/27/OskariL/Ikaros Project 1/Ikaros Project 1/Ikaros_Project_1/Ikaros_Project_1.cs

    r7790 r7858  
    1414    PhysicsObject pelaaja; 
    1515    PhysicsObject ammus; 
     16    PhysicsObject pahis1; 
     17    PhysicsObject pahis2; 
    1618 
    1719    Vector nopeusYlos = new Vector(0, 400); 
     
    2123    Vector impulssi = new Vector(RandomGen.SelectOne(0, 200, -200, 150, -150, 42), RandomGen.SelectOne(0, 600, -600, 200, -200, 1200, -1200)); 
    2224 
     25    int PahiksenElamat = 0; 
    2326    int KenttaNro = 0; 
    2427    public override void Begin() 
    2528    { 
    26         if (AlkuvalikkoKayty == false) 
    27         { 
    28             Alkuvalikko(); 
    29         } 
     29       if (AlkuvalikkoKayty == false) 
     30       { 
     31           Alkuvalikko(); 
     32       } 
     33       ClearAll(); 
    3034       LuoKentta(); 
    3135       AsetaNappaimet(); 
     
    6266        Level.Background.CreateGradient(Color.Cyan, Color.Black); 
    6367        Camera.Zoom(1); 
    64  
    65         if (KenttaNro == 1) 
    66         { 
     68        if (AlkuvalikkoKayty == false) 
     69        { 
     70            LuoPelaaja(); 
    6771            LuoPahis1(); 
    6872        } 
    69  
    70         if (AlkuvalikkoKayty == false) 
    71         { 
    72             pelaaja = new PhysicsObject(64.0, 64.0); 
    73             pelaaja.X = -300.0; 
    74             pelaaja.Y = Level.Bottom + 200.0; 
    75             pelaaja.Image = ikaros; 
    76             pelaaja.CanRotate = false;            
    77             Add(pelaaja); 
    78         } 
     73        else if (KenttaNro == 2) 
     74        { 
     75            LuoPelaaja(); 
     76            LuoPahis2(); 
     77        } 
     78    } 
     79    void LuoPelaaja() 
     80    { 
     81        pelaaja = new PhysicsObject(64.0, 64.0); 
     82        pelaaja.X = -300.0; 
     83        pelaaja.Y = Level.Bottom + 200.0; 
     84        pelaaja.Image = ikaros; 
     85        pelaaja.CanRotate = false; 
     86        pelaaja.Mass = 5.0; 
     87        Add(pelaaja); 
    7988    } 
    8089    void LuoPahis1() 
    8190    { 
    82  
    83     } 
     91        pahis1 = new PhysicsObject(128.0, 128.0); 
     92        pahis1.X = -300.0; 
     93        pahis1.Y = Level.Bottom + 800.0; 
     94        pahis1.Shape = Shape.Rectangle; 
     95        pahis1.Color = Color.Aquamarine; 
     96        pahis1.Mass = 400.0; 
     97        pahis1.Tag = "pahis"; 
     98        pahis1.IgnoresExplosions = true; 
     99        pahis1.IgnoresCollisionResponse = false; 
     100        Add(pahis1); 
     101 
     102        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(100); 
     103        satunnaisAivot.ChangeMovementSeconds = 1; 
     104        pahis1.Brain = satunnaisAivot; 
     105    } 
     106    void LuoPahis2() 
     107    { 
     108        pahis2 = new PhysicsObject(128.0, 128.0); 
     109        pahis2.X = -300.0; 
     110        pahis2.Y = Level.Bottom + 800.0; 
     111        pahis2.Shape = Shape.Rectangle; 
     112        pahis2.Color = Color.Azure; 
     113        pahis2.Mass = 400.0; 
     114        pahis2.Tag = "pahis"; 
     115        pahis2.IgnoresExplosions = true; 
     116        pahis2.IgnoresCollisionResponse = false; 
     117        Add(pahis2); 
     118 
     119        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(100); 
     120        satunnaisAivot.ChangeMovementSeconds = 1; 
     121        pahis2.Brain = satunnaisAivot; 
     122    } 
     123 
    84124    PhysicsObject LuoPystySeina(double x, double y) 
    85125    { 
     
    109149        pelaaja.Velocity = nopeus; 
    110150    } 
    111  
    112151    void AsetaNappaimet() 
    113152    { 
     
    121160        Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero); 
    122161        Keyboard.Listen(Key.Z, ButtonState.Down, AmmuPalloa1, "Ammu"); 
    123  
     162        Keyboard.Listen(Key.Z, ButtonState.Down, PahisAmpuu, "Ammu"); 
     163        Keyboard.Listen(Key.X, ButtonState.Pressed, Pommi, "Pommi"); 
    124164 
    125165        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     
    127167 
    128168    } 
     169    void Pommi() 
     170    { 
     171        ammus.Destroy(); 
     172 
     173    } 
     174    void PahisAmpuu() 
     175    { 
     176        LuoAmmus(pahis1.X, pahis1.Y - 100, Shape.Triangle, Color.DarkCyan, 1); 
     177        ammus.Hit(RandomGen.NextVector(-100.0, 100.0)); 
     178    } 
    129179    void AmmuPalloa1() 
    130180    { 
    131         LuoAmmus(pelaaja.X, pelaaja.Y + 24, Shape.Circle); 
     181        LuoAmmus(pelaaja.X, pelaaja.Y + 24, Shape.Circle, Color.LightCyan, 1); 
    132182        ammus.Hit(new Vector(RandomGen.SelectOne(0, 200, -200, 90, -150, 42), RandomGen.SelectOne(0, 800, -600, 200, -200, 120, -1200))); 
    133183 
    134184    } 
    135     void LuoAmmus(double x, double y, Shape shape) 
     185    void LuoAmmus(double x, double y, Shape shape, Color vari, int cig) 
    136186    { 
    137187        ammus = new PhysicsObject(32.0, 32.0); 
     
    139189        ammus.Y = y; 
    140190        ammus.Shape = shape; 
    141         ammus.Color = Color.LightCyan; 
     191        ammus.Color = vari; 
    142192        ammus.CanRotate = true; 
    143193        ammus.IgnoresCollisionResponse = false; 
     194        ammus.CollisionIgnoreGroup = cig; 
     195        ammus.Tag = "ammus"; 
    144196        Add(ammus); 
    145197        AddCollisionHandler(ammus, "seina", CollisionHandler.DestroyObject); 
    146  
    147     } 
    148  
     198        //AddCollisionHandler(ammus, "pahis", CollisionHandler.ExplodeObject(50, true)); 
     199        AddCollisionHandler(ammus, "pahis", PahistaAmmutaan); 
     200        AddCollisionHandler(ammus, "pelaaja", PelaajaaAmmutaan); 
     201 
     202    } 
     203    void PelaajaaAmmutaan(PhysicsObject ammus, PhysicsObject pelaaja) 
     204    { 
     205 
     206    } 
     207    void PahistaAmmutaan(PhysicsObject ammus, PhysicsObject pahis) 
     208    { 
     209        if (PahiksenElamat == 50) 
     210        { 
     211            PahiksenElamat = new int(); 
     212        } 
     213        PahiksenElamat--; 
     214        if (PahiksenElamat == 0) 
     215        { 
     216            pahis.Destroy(); 
     217            KenttaNro++; 
     218            Begin(); 
     219        } 
     220    } 
    149221} 
Note: See TracChangeset for help on using the changeset viewer.