Changeset 3326


Ignore:
Timestamp:
2012-06-28 15:01:20 (9 years ago)
Author:
jatakorh
Message:

Talletus.

Location:
2012/26/JariK
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • 2012/26/JariK/Jimmys adventure/Jimmys adventure/Jimmys adventure/Jimmys_adventure.cs

    r3278 r3326  
    2424 
    2525    PhysicsObject Jimmy; 
    26     PhysicsObject Hemmo;  
     26    PhysicsObject Hemmo; 
     27    AssaultRifle pyssy; 
     28    DoubleMeter voimaMittari; 
    2729     
    28  
    29  
    3030    public override void Begin() 
    3131    { 
    32         
     32        voimaMittari = new DoubleMeter(10); 
     33        voimaMittari.MaxValue = 10; 
     34        ProgressBar voimaPalkki = new ProgressBar(150, 10); 
     35        voimaPalkki.BindTo(voimaMittari); 
     36        Add(voimaPalkki); 
     37 
     38        voimaPalkki.X = Screen.Right - 150; 
     39        voimaPalkki.Y = Screen.Top - 20; 
     40        voimaPalkki.Angle = Angle.RightAngle; 
     41        voimaPalkki.BarColor = Color.Green; 
     42        voimaPalkki.BorderColor = Color.White; 
     43        voimaPalkki.Angle = Angle.FromDegrees(90); 
     44        // Kun voima loppuu, kutsutaan VoimaLoppui-aliohjelmaa 
     45        voimaMittari.LowerLimit += VoimaLoppui;           
     46 
    3347        Gravity = new Vector(0.0, -800.0); 
    3448        Surface alaReuna = Surface.CreateBottom(Level); 
    35         alaReuna.Y += 100; 
     49        alaReuna.Y += 200; 
    3650        Add(alaReuna); 
    3751        alaReuna.Color = Color.Black; 
    38         Level.CreateBorders(); 
    3952        TileMap ruudut = TileMap.FromLevelAsset ("kentta1"); 
    4053        ruudut.SetTileMethod('#', LuoPalikka); 
     
    4255        ruudut.SetTileMethod('M', Luomaali); 
    4356        ruudut.SetTileMethod('H', luoHemmo); 
     57        ruudut.SetTileMethod('S', luoseina); 
     58        ruudut.SetTileMethod('T', luoTNT); 
    4459        ruudut.Execute(20, 20); 
    4560        Camera.ZoomToLevel(); 
     61        FollowerBrain HemmoAivot = new FollowerBrain(Jimmy); 
     62        HemmoAivot.Speed = 50; 
     63        HemmoAivot.DistanceFar = 30; 
     64        HemmoAivot.DistanceClose = 500; 
     65        HemmoAivot.StopWhenTargetClose = false; 
     66        HemmoAivot.TargetClose += mitaTapahtuuKunOllaanLahella; 
     67        Hemmo.Brain = HemmoAivot; 
     68        Add(Hemmo); 
    4669        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, null); 
    47         Keyboard.Listen(Key.D, ButtonState.Down, liikutaJimmya, null, new Vector (8000000, 0)); 
    48         Keyboard.Listen(Key.A, ButtonState.Down, liikutaJimmya, null, new Vector (-8000000, 0) ); 
    49         Keyboard.Listen(Key.W, ButtonState.Down, liikutaJimmya, null, new Vector(0, 10000000)); 
    50         
     70        Keyboard.Listen(Key.D, ButtonState.Down, liikutaJimmya, null, new Vector (9000, 0)); 
     71        Keyboard.Listen(Key.A, ButtonState.Down, liikutaJimmya, null, new Vector (-9000, 0) ); 
     72        Keyboard.Listen(Key.W, ButtonState.Down, liikutaJimmya, null, new Vector(0, 9000)); 
     73         
     74    } 
     75     void VahennaVoimia() 
     76    { 
     77        voimaMittari.Value--; 
     78    } 
     79 
     80     void VoimaLoppui() 
     81     { 
     82         MessageDisplay.Add("Voimat loppuivat, voi voi."); 
     83         Jimmy.Destroy; 
    5184 
    5285    } 
     
    71104        Image JimmyKuva = LoadImage("Jimmy"); 
    72105        Jimmy.Image = JimmyKuva; 
     106        Jimmy.Tag = "Jimmy";        
    73107        Add(Jimmy); 
    74108        Jimmy.Position = paikka; 
    75         Jimmy.Mass = 8000;         
    76    AddCollisionHandler(Jimmy, "pahis", CollisionHandler.ExplodeObject(150, false)); 
    77    AddCollisionHandler(Jimmy, "maali", Maaliinpääsy);   
     109        Jimmy.Mass = 10.0;         
     110   AddCollisionHandler(Jimmy, "pahis", CollisionHandler.ExplodeTarget(50,true)); 
     111   AddCollisionHandler(Jimmy, "maali", Maaliinpääsy); 
    78112    } 
    79113    void Luomaali(Vector paikka, double leveys, double korkeus) 
     
    87121    } 
    88122    void luoHemmo(Vector paikka, double leveys, double korkeus) 
    89     {PhysicsObject Hemmo = new PhysicsObject(30, 30); 
     123    {  Hemmo = new PhysicsObject(30, 30); 
    90124        Hemmo.Color = Color.Blue; 
    91125        Hemmo.Tag = "pahis"; 
    92126        Hemmo.Shape = Shape.Circle; 
    93127        Hemmo.Position = paikka; 
    94         Add(Hemmo); 
     128        Hemmo.Mass = 15.0; 
     129        pyssy = new AssaultRifle(30, 20); 
     130        Hemmo.Add(pyssy); 
     131        pyssy.Ammo.Value = 100; 
     132        pyssy.ProjectileCollision = AmmusOsui; 
     133         
     134        
     135        
     136 
    95137    } 
    96138    void Maaliinpääsy(PhysicsObject Jimmy, PhysicsObject maali) 
     
    98140        Exit(); 
    99141    } 
    100 }     
     142    void mitaTapahtuuKunOllaanLahella() 
     143    {Vector suunta = (Jimmy.Position - Hemmo.Position).Normalize(); 
     144    Hemmo.Angle = suunta.Angle; 
     145        pyssy.Shoot(); 
     146    } 
     147    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     148    { 
     149        ammus.Destroy(); 
     150        Explosion rajahdys = new Explosion(70); 
     151        rajahdys.Position = ammus.Position; 
     152        Add(rajahdys); 
     153        if (kohde == Jimmy) 
     154        { 
     155            VahennaVoimia(); 
     156        } 
     157    } 
     158 
     159    void luoseina(Vector paikka, double leveys, double korkeus) 
     160    {PhysicsObject seina = new PhysicsObject(30, 30); 
     161        seina.Color = Color.Gray; 
     162        seina.Mass = 10.0; 
     163        seina.Position = paikka; 
     164        Add(seina); 
     165    } 
     166 
     167    void luoTNT(Vector paikka, double leveys, double korkeus) 
     168    { 
     169        PhysicsObject TNT = new PhysicsObject(50, 50); 
     170        TNT.Color = Color.Blue; 
     171        TNT.Mass = 100.0; 
     172        TNT.Position = paikka; 
     173        TNT.Tag = "rajahde"; 
     174        AddCollisionHandler( TNT, "Jimmy", CollisionHandler.ExplodeObject(1000, true)); 
     175        Add(TNT); 
     176    } 
     177   
     178    } 
     179 
     180 
  • 2012/26/JariK/Jimmys adventure/Jimmys adventure/Jimmys adventureContent/kentta1.txt

    r3278 r3326  
    11 
    2  
    3  
    4  
    5  
    6  
    7 #################################################### 
    8                                                 #  
    9                                                 # 
    10 #                             H              M     # 
    11 ###############                                    #   
    12 #         #####           ########################## 
    13 #        #####            #                        # 
    14 #     J  #####    #########                        #   
    15 #    #########                                     # 
    16 #                                                  #  
    17 #                                                  # 
    18 #                                                  #  
    19 #################################################### 
     2############################################################################## 
     3############################################################################## 
     4############################################################################## 
     5#            S                                   S             S             # 
     6#            S                                   S             S             # 
     7#  TTTT      S                                   S             S             # 
     8TTTT      S                                   S             S             # 
     9TTTT      S                                   S             S             #  
     10#            S                                   S             S        M    # 
     11###############                                  S             S             # 
     12#         #####           ####################################################     
     13#        #####            #                      S                           # 
     14#     J  #####    #########                      S                           #  
     15#    #########                                   S                           # 
     16#                                                S            H              #  
     17#                                                S                           #           
     18#                                                S                           #  
     19############################################################################## 
Note: See TracChangeset for help on using the changeset viewer.