Changeset 2376 for 2011/26


Ignore:
Timestamp:
2011-06-30 14:59:27 (12 years ago)
Author:
lijiolva
Message:

Talletus.

Location:
2011/26/LinusV/SFN/SFN-säätöä
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • 2011/26/LinusV/SFN/SFN-säätöä/SFN-säätöä/SFN-säätöä/Map.txt

    r2319 r2376  
    1 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 
    2 B====================================================B 
    3 CCCCCCCCCCCCCCCCCCCCCCCCCC==CCCCCCCCCCCCCCCCCCCCCCCCCC 
    4 CCCCCCCCCCCCCCCCCCCCCCCCCC==CCCCCCCCCCCCCCCCCCCCCCCCCC 
    5 AAAAAAAAAAAAAAAAAAAAAAAAAA===========================A 
    6 A============================AAAAAAAAAAAAAAAAAAAAAAAAA 
    7 AAAAAAAAAAAAAAAAAAAAAAAAAA===AAAAAAAAAAAAAAAAAAAAAAAAA 
    8 AAAAAAAAAAAAAAAAAAAAAAAAAA===AAAAAAAAAAAAAAAAAAAAAAAAA 
    9 A====================================================A 
    10 CCCCCCCCCCCCCCCCCCCCCCCCCC===CCCCCCCCCCCCCCCCCCCCCCCCC 
    11 =========================B===B 
    12 =========================B===B 
    13 =========================B===B 
    14 CCCCCCCCCCCCCCCCCCCCCCCCCC===C 
    15 C============================C 
    16 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 
  • 2011/26/LinusV/SFN/SFN-säätöä/SFN-säätöä/SFN-säätöä/Peli.cs

    r2319 r2376  
    1818    GameObject nuoli; 
    1919    PhysicsObject[] kisat; 
    20      
     20    Automobile[] siviilit; 
     21    Vector[] kohteet; 
     22    int siviilimaara; 
     23    Timer kisa_aika; 
     24    double raha = 0; 
     25 
    2126    public override void Begin() 
    2227    { 
     28        kisa_aika = new Timer(); 
     29        MessageDisplay.TextColor = Color.Yellow; 
    2330        Gravity = 200; 
    2431        KineticFriction = 10; 
     
    2633        Mouse.IsCursorVisible = true; 
    2734        CreateMenu(); 
     35        goal = Vector.Zero; 
    2836    } 
    2937 
     
    3240        base.Update(time); 
    3341         
    34         //MessageDisplay.Add("Pitäs toimia"); 
    3542        if (nuoli != null) { 
    3643            nuoli.Position = kaara.Position; 
    3744            nuoli.Angle = (goal - kaara.Position).Angle;  
    3845        } 
    39         if (goal != new Vector(0, 0) && (goal - kaara.Position).Magnitude < 25) 
    40         { 
     46        if (goal != Vector.Zero && (goal - kaara.Position).Magnitude < 100) 
     47        { 
     48            goal = new Vector(0, 0); 
    4149            LuoKisat(); 
    42             nuoli.Size = Vector.Zero; 
    43         } 
    44          
     50            nuoli.IsVisible = false; 
     51            raha += (1000 / kisa_aika.CurrentTime); 
     52            MessageDisplay.Add("Money:" + raha); 
     53        } 
    4554    } 
    4655 
     
    7685        Level.Background.Image = null; 
    7786        Level.BackgroundColor = Color.LightGray; 
    78         Camera.ZoomFactor = 0.3; 
     87        Camera.ZoomFactor = 0.4; 
    7988        new_game.Destroy(); 
    8089        load_game.Destroy(); 
     
    94103        Keyboard.Listen(Key.Down, ButtonState.Down, pakki, null); 
    95104        Keyboard.Listen(Key.RightControl, ButtonState.Down, jarru, null); 
     105        Keyboard.Listen(Key.Tab, ButtonState.Released, rahat, null); 
    96106 
    97107        //Auton kanssa säätöä 
     
    104114        kaara.BrakeDeceleration = tires * 200; 
    105115        kaara.Image = LoadImage("Sporttinen2"); 
    106         //kaara.X = Level.Left + 50; 
    107         kaara.Y = 50; 
     116        kaara.X = Level.Left + 150; 
    108117        kaara.MomentOfInertia = 10000; 
    109118        kaara.LinearDamping = 0.9999; 
     
    111120        kaara.AngularDamping = 0.95; 
    112121 
    113         nuoli = new GameObject(0,0); 
     122        nuoli = new GameObject(30,30); 
    114123        nuoli.Color = Color.Green;  
    115124        nuoli.Shape = Shape.Triangle; 
    116         nuoli.Tag = "o"; 
    117125        nuoli.Image = LoadImage("juttu"); 
     126        nuoli.IsVisible = false; 
    118127        Add(nuoli); 
    119128 
     129        //Turvatalo 
     130        PhysicsObject Turva = PhysicsObject.CreateStaticObject(50,50); 
     131        Turva.Color = Color.Red; 
     132        Turva.Shape = Shape.Circle; 
     133        Turva.X = Level.Left + 60; 
     134        Turva.Tag = "TT"; 
     135        Add(Turva); 
     136 
    120137        //Kartan lataus 
    121         TileMap World = TileMap.FromFile("Map.txt"); 
     138      /*TileMap World = TileMap.FromFile("Map.txt"); 
    122139        World.SetTileMethod('A', taloA); 
    123140        World.SetTileMethod('B', taloB); 
    124141        World.SetTileMethod('C', taloC); 
    125         World.Execute(150,150); 
    126          
    127         AddCollisionHandler(kaara, KasitteleKaaranTormays);      
     142        World.Execute(150,150);*/ 
     143         
     144        AddCollisionHandler(kaara, KasitteleKaaranTormays); 
     145        LuoSiviilit(); 
    128146    } 
    129147 
    130148    void KasitteleKaaranTormays(PhysicsObject kaara, PhysicsObject kohde) 
    131149    { 
     150        if (kohde.Tag.ToString() == "TT") 
     151        { 
     152            //GoToShpo(); 
     153        } 
    132154        if (kohde.Tag.ToString() == "0") 
    133155        { 
    134156            goal = new Vector(1, 1); 
    135             nuoli.Size = new Vector(30, 30); 
     157            nuoli.IsVisible = true; 
    136158            nuoli.Angle = goal.Angle + Angle.FromDegrees(180); 
    137159            for (int i = 0; i < kisat.Length; i++) { kisat[i].Destroy(); } 
    138         } 
     160            kisa_aika.Interval = 2; 
     161            kisa_aika.Trigger += Loss; 
     162            kisa_aika.Start(); 
     163        } 
     164    } 
     165    void Siviiliuhri(PhysicsObject siviili, PhysicsObject kohde) 
     166    { 
     167        if (kohde != kaara)  
     168        { 
     169            siviilimaara -= 1;  
     170            siviili.Destroy(); 
     171            if (siviilimaara == 0) { LuoSiviilit(); } 
     172        } 
     173    } 
     174 
     175    void LuoSiviilit() 
     176    { 
     177        siviilit = new Automobile[1]; 
     178        kohteet = new Vector[1]; 
     179        siviilit[0] = new Automobile(100,50); 
     180        siviilit[0].X = -800; 
     181        siviilit[0].Y = 0; 
     182        siviilit[0].Angle = Angle.FromDegrees(0); 
     183        Add(siviilit[0]); 
     184        siviilit[0].Accelerate(100); 
     185        AddCollisionHandler(siviilit[0], Siviiliuhri); 
     186 
     187        siviilimaara = 1; 
    139188    } 
    140189 
     
    150199        kisat[0].Tag = "0"; 
    151200        Add(kisat[0]); 
     201 
     202    } 
     203    void Loss(Timer sender) 
     204    { 
     205        for (int i = 0; i < kisat.Length; i++) { kisat[i].Destroy(); } 
     206        LuoKisat(); 
     207        nuoli.IsVisible = false; 
     208        sender.Stop(); 
    152209    } 
    153210 
     
    159216    void quit_game_Clicked() 
    160217    { 
    161         //Crediittejä tänne? 
     218         
    162219        Exit(); 
    163220    } 
    164221 
    165     //Kontrollit 
     222    public void rahat() 
     223    { 
     224        MessageDisplay.Add("Money:" + raha); 
     225    } 
     226 
    166227    public void kaasu() 
    167228    { 
     
    183244    { 
    184245        if (kaara.Velocity.Magnitude > 1) {kaara.Brake(Time.SinceLastUpdate.TotalSeconds);} 
    185         else if (kaara.Velocity.Magnitude < 1) { kaara.Push(Vector.FromLengthAndAngle(engine,kaara.Angle + Angle.FromDegrees(180))); } 
     246        else if (kaara.Velocity.Magnitude < 1) { 
     247            Vector matti = Vector.FromLengthAndAngle(kaara.Mass * 5000, kaara.Angle + Angle.FromDegrees(180)); 
     248            kaara.Push(matti);  
     249             
     250        } 
    186251    } 
    187252 
Note: See TracChangeset for help on using the changeset viewer.