Ignore:
Timestamp:
2017-06-15 11:55:36 (2 years ago)
Author:
npo17_8
Message:

jes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/24/AaroM/Asteroids/Asteroids/Asteroids/Asteroids.cs

    r8672 r8701  
    99public class Asteroids : PhysicsGame 
    1010{ 
    11     PhysicsObject spaceship2; 
    12     PhysicsObject spaceship1; 
     11    Spaceship spaceship2; 
     12    Spaceship spaceship1; 
     13    IntMeter spaceship1Terveys; 
     14    IntMeter spaceship2Terveys; 
     15    AssaultRifle ufonAse; 
     16 
    1317    public override void Begin() 
    1418    { 
     19 
    1520        Level.Width = Screen.Width; 
    1621        Level.Height = Screen.Height; 
     
    2833 
    2934 
    30         Level.CreateBorders(1.0, false); 
    31  
    32  
    33  
    34  
    35  
    36         Level.Background.Image = LoadImage("space loollololl"); 
    37  
    38  
     35 
     36        Level.CreateBorders(1.0, false);  
     37             
     38        Level.Background.Image = LoadImage("space xd"); 
     39 
     40        MediaPlayer.Play("spacemusic"); 
    3941 
    4042 
     
    5254        aurinko.Y = 500; 
    5355        aurinko.Image = LoadImage("aurinko"); 
     56        aurinko.Tag = "pahis"; 
    5457        Add(aurinko); 
    5558    } 
     
    6669        asteroidi.X = X; 
    6770        asteroidi.Y = Y; 
     71        asteroidi.Tag = "pahis"; 
    6872        Add(asteroidi); 
     73         
    6974    } 
    7075 
     
    8489        pieniasteroidi.Y = Y; 
    8590        pieniasteroidi.Image = LoadImage("miniasteroid"); 
     91        pieniasteroidi.Tag = "pahis"; 
    8692        Add(pieniasteroidi); 
    8793 
     
    9399        ufo.X = X; 
    94100        ufo.Y = Y; 
     101        ufo.Tag = "pahis"; 
    95102        ufo.Image = LoadImage("munufo"); 
    96103        Add(ufo); 
     104        ufonAse = new AssaultRifle(30, 10); 
     105        ufonAse.Ammo.Value = 1000; 
     106        ufonAse.ProjectileCollision = AmmusOsui; 
     107        ufonAse.FireRate = 5.0; 
     108        ufonAse.Shoot(); 
     109        ufo.Add(ufonAse); 
    97110    } 
    98111 
     
    101114    void Spaceship1(double X, double Y) 
    102115    { 
    103         spaceship1 = new PhysicsObject(50.0, 50.0); 
     116        spaceship1 = new Spaceship(50.0, 50.0); 
    104117        spaceship1.Image = LoadImage("#spaceship"); 
    105118        spaceship1.X = X; 
    106119        spaceship1.Y = Y; 
     120        AddCollisionHandler(spaceship1, Spaceship1Tormasi); 
     121        spaceship1.Tag = "Arwing"; 
     122        spaceship1Terveys = new IntMeter(3); 
    107123        Add(spaceship1); 
    108124    } 
     
    110126    void Spaceship2(double X, double Y) 
    111127    { 
    112         spaceship2 = new PhysicsObject(50.0, 50.0); 
     128        spaceship2 = new Spaceship(50.0, 50.0); 
    113129        spaceship2.X = X; 
    114130        spaceship2.Y = X; 
    115131        spaceship2.Image = LoadImage("spaceship 2t"); 
     132        spaceship2.Tag = "Phantom Falcon"; 
     133        AddCollisionHandler(spaceship2, Spaceship2Tormasi); 
     134        spaceship2Terveys = new IntMeter(3); 
    116135        Add(spaceship2); 
    117136    } 
     
    138157     } 
    139158 
     159 
     160    void Spaceship1Tormasi(PhysicsObject tormaaja, PhysicsObject kohde) 
     161    { 
     162        if (kohde.Tag.Equals("pahis")) 
     163        spaceship1Terveys.Value --; 
     164 
     165        if (spaceship1Terveys.Value <= 0) 
     166            spaceship1.Destroy(); 
     167       
     168        
     169    } 
     170    void Spaceship2Tormasi(PhysicsObject tormaaja, PhysicsObject kohde) 
     171    { 
     172        if (kohde.Tag.Equals("pahis")) 
     173            spaceship2Terveys.Value--; 
     174 
     175        if (spaceship2Terveys.Value <= 0) 
     176            spaceship2.Destroy(); 
     177         
     178    } 
     179    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     180    { 
     181        Spaceship alus = (Spaceship)kohde; 
     182        alus.ElamaLaskuri.Value--; 
     183 
     184    } 
     185      
     186 
     187 
     188 
     189 
     190 
     191 
    140192} 
     193class Spaceship : PhysicsObject 
     194{ 
     195    private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 
     196    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     197 
     198    public Spaceship(double leveys, double korkeus) 
     199        : base(leveys, korkeus) 
     200    { 
     201        elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     202    } 
     203} 
Note: See TracChangeset for help on using the changeset viewer.