Changeset 6110 for 2015/24/ohjaajat


Ignore:
Timestamp:
2015-06-15 20:42:28 (4 years ago)
Author:
sieerinn
Message:

Luola räjähtää.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/24/ohjaajat/Dungeon/Dungeon/Dungeon/Dungeon.cs

    r6109 r6110  
    11using System; 
     2using System.CodeDom; 
    23using System.Linq; 
    34using System.Collections.Generic; 
    45using System.Globalization; 
     6using System.Runtime.InteropServices; 
     7using System.Security.Cryptography; 
    58using Jypeli; 
    69using Jypeli.Assets; 
     
    399402    public void LopetaPeli() 
    400403    { 
     404        // Tuhotaan melkein kaikki. 
     405        ClearControls(); 
     406        ClearLights(); 
     407        ClearTimers(); 
     408        GetObjects(o => o is Widget || o is Barbaari).ForEach(o => o.Destroy()); 
     409 
     410        // Haetaan jäljellä olevat objektit. 
     411        var objs = GetObjects(o => !o.IsDestroyed); 
     412        // Piilotetaan ovelasti lisätietoa tagiin. 
     413        //                                                          kulmanopeus                  nopeus                      kasvu 
     414        objs.ForEach(o => o.Tag = new Tuple<double, double, double>(RandomGen.NextDouble(5, 60), RandomGen.NextDouble(1, 5), RandomGen.NextDouble(0.05, 0.1))); 
     415 
     416        const double dt = 0.02; 
     417        var ajastin = new Timer(); 
     418        ajastin.Interval = dt; 
     419        ajastin.Timeout += delegate 
     420        { 
     421            foreach (var obj in objs) 
     422            { 
     423                var info = (Tuple<double, double, double>)obj.Tag; 
     424                obj.Angle += Angle.FromDegrees(info.Item1 * dt); 
     425                obj.Position += obj.Angle.GetVector() * info.Item2 * dt; 
     426                obj.Size += new Vector(1, 1) * info.Item3; 
     427 
     428                obj.Tag = new Tuple<double, double, double>(info.Item1 * 1.01, info.Item2 * 1.1, info.Item3); 
     429            } 
     430        }; 
     431        ajastin.Start(); 
     432 
     433        Timer.SingleShot(3.5, HavioViesti); 
     434    } 
     435 
     436    public void HavioViesti() 
     437    { 
    401438        ClearAll(); 
    402439        Level.Background.Color = Color.Black; 
Note: See TracChangeset for help on using the changeset viewer.