Changeset 1412


Ignore:
Timestamp:
2010-07-29 14:54:38 (9 years ago)
Author:
samipunn
Message:

Misle launch

Location:
2010/30/samipunn
Files:
6 added
2 edited

Legend:

Unmodified
Added
Removed
  • 2010/30/samipunn/Misle Launch/Content/Content.contentproj

    r1373 r1412  
    4141    </Compile> 
    4242  </ItemGroup> 
     43  <ItemGroup> 
     44    <Compile Include="Ohjus.png"> 
     45      <Name>Ohjus</Name> 
     46      <Importer>TextureImporter</Importer> 
     47      <Processor>TextureProcessor</Processor> 
     48    </Compile> 
     49  </ItemGroup> 
     50  <ItemGroup> 
     51    <Compile Include="savu.png"> 
     52      <Name>savu</Name> 
     53      <Importer>TextureImporter</Importer> 
     54      <Processor>TextureProcessor</Processor> 
     55    </Compile> 
     56  </ItemGroup> 
     57  <ItemGroup> 
     58    <Compile Include="Liekki.png"> 
     59      <Name>Liekki</Name> 
     60      <Importer>TextureImporter</Importer> 
     61      <Processor>TextureProcessor</Processor> 
     62    </Compile> 
     63  </ItemGroup> 
    4364</Project> 
  • 2010/30/samipunn/Misle Launch/Peli.cs

    r1373 r1412  
    33using Jypeli.Widgets; 
    44using Jypeli.Assets; 
     5using Jypeli.Effects; 
    56 
    67public class Peli : PhysicsGame 
    78{ 
    8     double ohjusOdotus = 10.0; 
     9    double ohjusOdotus = 3.5; 
    910 
    1011    Image maastonKuva = LoadImage("kentta"); 
     
    1213    Timer Laskuri1; 
    1314    Timer Laskuri2; 
     15    Timer polttoaine1; 
     16    Timer polttoaine2; 
     17 
    1418    PhysicsObject laukaisualusta2; 
    1519    PhysicsObject laukaisualusta1; 
     
    1822    double kaantyyOikealle = 5; 
    1923    double kaantyyVasemmalle = -5; 
     24    double OhjuksenAloitusKorkeus = -340; 
     25 
     26     
     27    Label testikentta1; 
     28    Label testikentta2; 
     29 
     30    BarGauge voimaPalkki1; 
     31    BarGauge voimaPalkki2; 
     32 
     33 
     34     DoubleMeter voimaMittari1; 
     35     DoubleMeter voimaMittari2; 
     36 
     37    bool ohjus1sammutettu = false; 
     38    bool ohjus2sammutettu = false; 
     39 
     40    Image OhjuksenKuva = LoadImage("Ohjus"); 
     41    Image SavunKuva = LoadImage("Savu"); 
     42    Image LiekinKuva = LoadImage("Liekki"); 
     43 
    2044    protected override void Begin() 
    2145    { 
     46         
     47         
     48        voimaMittari1 = new DoubleMeter(10000); 
     49        voimaMittari1.MaxValue = 10000; 
     50        voimaPalkki1 = new BarGauge(13, 150); 
     51        voimaPalkki1.BindTo(voimaMittari1); 
     52        voimaPalkki1.X = -320; 
     53        voimaPalkki1.Y = -500; 
     54        voimaPalkki1.Angle = Angle.Degrees(90); 
     55        Add(voimaPalkki1); 
     56 
     57        voimaMittari2 = new DoubleMeter(10000); 
     58        voimaMittari2.MaxValue = 10000; 
     59        voimaPalkki2 = new BarGauge(13, 150); 
     60        voimaPalkki2.BindTo(voimaMittari2); 
     61        voimaPalkki2.X = 320; 
     62        voimaPalkki2.Y = -500; 
     63        voimaPalkki2.Angle = Angle.Degrees(90);  
     64        Add(voimaPalkki2); 
     65 
     66 
     67 
     68        testikentta1 = new Label(); 
     69        testikentta2 = new Label(); 
     70 
     71        testikentta1.X = Screen.Left + 100; 
     72        testikentta1.Y = Screen.Top - 100; 
     73        testikentta2.X = Screen.Right - 100; 
     74        testikentta2.Y = Screen.Top - 100; 
     75        Add(testikentta1); 
     76        Add(testikentta2); 
     77         
     78         
     79 
     80         
    2281        Laskuri1 = LuoAikaLaskuri(-150, 0); 
    2382        Laskuri2 = LuoAikaLaskuri(150, 0); 
     
    3190        Add(laukaisualusta1); 
    3291 
     92         
    3393        laukaisualusta2 = PhysicsObject.CreateStaticObject(60, 20); 
    3494        laukaisualusta2.Shape = Shapes.Rectangle; 
     
    3999        
    40100 
    41         Shape shape = Shapes.FromImage(1200, 400, maastonKuva); 
     101        Shape shape = Shapes.FromImage(maastonKuva); 
    42102        PhysicsObject maasto = PhysicsObject.CreateStaticObject(1200, 400, shape ); 
     103        maasto.Image = maastonKuva; 
    43104        maasto.Y = Level.Bottom + maasto.Height / 2.5; 
    44105        Add(maasto); 
     
    48109        Camera.StayInLevel = true; 
    49110 
    50         ohjus1 = LuoOhjus(-400, -340); 
    51         ohjus2 = LuoOhjus(400, -340); 
    52          
     111        ohjus1 = LuoOhjus(-400, OhjuksenAloitusKorkeus); 
     112        ohjus2 = LuoOhjus(400, OhjuksenAloitusKorkeus); 
     113 
     114        polttoaine1 = LuoPolttoaineLaskuri(ohjus1); 
     115        testikentta1.BindTo(polttoaine1.SecondCounter); 
     116        polttoaine2 = LuoPolttoaineLaskuri(ohjus2); 
     117        testikentta2.BindTo(polttoaine2.SecondCounter); 
    53118 
    54119         
     
    66131        ohjus.Y = y; 
    67132        AddCollisionHandler(ohjus, Tormays); 
     133        ohjus.Image = OhjuksenKuva; 
    68134        Add(ohjus); 
     135      
    69136        return ohjus; 
    70137    } 
     138 
    71139    private void nollaaOhjus(PhysicsObject ohjus, double x, double y) 
    72140    { 
     
    75143        ohjus.Stop(); 
    76144        ohjus.Angle = new Angle(); 
     145        if (ohjus.Tag == ohjus1) 
     146        { 
     147            ohjus1sammutettu = false; 
     148        } 
     149        else if (ohjus.Tag == ohjus2) 
     150        { 
     151            ohjus2sammutettu = false; 
     152        } 
    77153        Add(ohjus); 
    78154    } 
    79155 
     156    void Sammuta(Timer ajastin)  
     157    { 
     158        if (ajastin.Tag == ohjus1) 
     159        { 
     160            ohjus1sammutettu = true; 
     161        } 
     162        if (ajastin.Tag == ohjus2) 
     163        { 
     164            ohjus2sammutettu = true; 
     165        } 
     166 
     167        ajastin.Reset(); 
     168        ajastin.Stop(); 
     169    } 
    80170 
    81171    void AsetaOhjaimet() 
     
    110200    void Paivitys() 
    111201    { 
    112         ohjus1.Push(Vector.FromLengthAndAngle(1500, ohjus1.Angle + Angle.RightAngle)); 
    113         ohjus2.Push(Vector.FromLengthAndAngle(1500, ohjus2.Angle + Angle.RightAngle)); 
     202        if (!ohjus1sammutettu) ohjus1.Push(Vector.FromLengthAndAngle(1500, ohjus1.Angle + Angle.RightAngle)); 
     203        if (!ohjus2sammutettu) ohjus2.Push(Vector.FromLengthAndAngle(1500, ohjus2.Angle + Angle.RightAngle)); 
     204         
    114205    } 
    115206 
     
    134225        Level.CreateBottomBorder(); 
    135226        Level.CreateTopBorder(); 
     227        Level.CreateLeftBorder(); 
     228        Level.CreateRightBorder(); 
     229         
     230     
    136231    } 
    137232 
     
    142237        rajahdys.Position = ohjus.Position; 
    143238        rajahdys.Speed = 300.0; 
    144         rajahdys.Force = 90;         
     239        rajahdys.Force = 300;         
    145240        Add(rajahdys); 
    146241 
     
    148243        { 
    149244            KaynnistaLaskuri(Laskuri1, ohjusOdotus); 
    150         } 
     245            ohjus1sammutettu = false; 
     246            polttoaine1.Reset(); 
     247            polttoaine1.Stop();         
     248        } 
     249 
    151250        if (ohjus == ohjus2) 
    152251        { 
    153252            KaynnistaLaskuri(Laskuri2, ohjusOdotus); 
    154         } 
    155     } 
     253            ohjus2sammutettu = false; 
     254            polttoaine2.Reset(); 
     255            polttoaine2.Stop(); 
     256        } 
     257        if (kohde == laukaisualusta1) 
     258        { 
     259            voimaMittari1.Value -= 1000; 
     260        } 
     261 
     262        if (kohde == laukaisualusta2) 
     263        { 
     264            voimaMittari2.Value -= 1000; 
     265        } 
     266 
     267        if (voimaMittari1.Value<= 0 ) 
     268        { 
     269            Exit(); 
     270        } 
     271 
     272        if (voimaMittari2.Value <= 0) 
     273        { 
     274            Exit(); 
     275        } 
     276 
     277        if (voimaMittari1.Value <= 5000) 
     278        { 
     279 
     280            Flames liekki = new Flames(SavunKuva, 50, Angle.Degrees(-90)); 
     281            liekki.Position = new Vector(-400, -370); 
     282            Add(liekki); 
     283 
     284        } 
     285 
     286        if (voimaMittari2.Value <= 5000) 
     287        { 
     288 
     289            Flames liekki = new Flames(SavunKuva, 50, Angle.Degrees(-90)); 
     290            liekki.Position = new Vector(400, -370); 
     291            Add(liekki); 
     292 
     293        } 
     294 
     295        if (voimaMittari1.Value <= 2000) 
     296        { 
     297 
     298            Flames liekki = new Flames(LiekinKuva, 50, Angle.Degrees(-90)); 
     299            liekki.Position = new Vector(-395, -370); 
     300            Add(liekki); 
     301 
     302        } 
     303 
     304        if (voimaMittari2.Value <= 2000) 
     305        { 
     306 
     307            Flames liekki = new Flames(LiekinKuva, 50, Angle.Degrees(-90)); 
     308            liekki.Position = new Vector(395, -370); 
     309            Add(liekki); 
     310 
     311        } 
     312     
     313     
     314     
     315     
     316    } 
     317 
     318 
     319 
     320    
     321 
     322    Timer LuoPolttoaineLaskuri(PhysicsObject ohjus) 
     323    { 
     324        Timer polttoaine = new Timer(); 
     325        polttoaine.Interval = 5.3; 
     326        polttoaine.Start(); 
     327        polttoaine.Tag = ohjus; 
     328        polttoaine.Trigger += Sammuta; 
     329        return polttoaine; 
     330             
     331    } 
     332 
    156333 
    157334    Timer LuoAikaLaskuri(double x, double y) 
     
    163340        aikaLaskuri.Trigger += LaskeAlaspain; 
    164341        aikaLaskuri.Tag = alaspainLaskuri; 
    165         Add(aikaLaskuri); 
     342        //Add(aikaLaskuri); 
    166343 
    167344        Label aikaNaytto = new Label(); 
     
    180357        DoubleMeter alaspainLaskuri = (DoubleMeter)(timer.Tag); 
    181358        alaspainLaskuri.Value = aikaaJaljella; 
    182  
    183359        timer.Start(); 
    184360    } 
     
    196372            if (timer == Laskuri1) 
    197373            { 
    198                  nollaaOhjus(ohjus1, -400, -340); 
     374                nollaaOhjus(ohjus1, -400, OhjuksenAloitusKorkeus); 
     375                polttoaine1.Reset(); 
     376                polttoaine1.Start(); 
    199377            } 
    200378 
    201379            if (timer == Laskuri2) 
    202380            { 
    203                 nollaaOhjus(ohjus2, 400, -340);  
     381                nollaaOhjus(ohjus2, 400, OhjuksenAloitusKorkeus); 
     382                polttoaine2.Reset(); 
     383                polttoaine2.Start(); 
    204384            } 
    205385             
     
    208388    } 
    209389 
    210  
    211     
    212  
    213     
    214  
     390     
    215391 
    216392 
Note: See TracChangeset for help on using the changeset viewer.