Ignore:
Timestamp:
2010-06-16 11:33:16 (9 years ago)
Author:
joaamaka
Message:

Jatkoin oman pelin tekemistä. Tein kentän ja muutin hahmoa ja muita tekstuureja.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/24/joaamaka/The hole/Peli.cs

    r891 r903  
    88{ 
    99    const double nopeus = 1000; 
    10     const double hyppyVoima = 10000; 
     10    const double hyppyVoima = 1000; 
    1111 
    1212    IntMeter pisteLaskuri; 
    1313    ValueDisplay pisteNaytto; 
    1414 
    15     PhysicsObject olio; 
    16  
    17  
     15    PlatformCharacter olio; 
     16     
     17    const int ruudunLeveys = 50; 
     18    const int ruudunKorkeus = 20; 
     19    
    1820    protected override void Begin() 
    1921    { 
     
    4648 
    4749        // Asetetaan painovoima 
    48         Gravity = new Vector(0, -300); 
     50        Gravity = new Vector(0, -1000); 
    4951 
    5052        luoKentta(); 
     
    5557    void luoKentta() 
    5658    { 
    57         Level.CreateBorders(); 
    5859        Level.Background.CreateGradient(Color.Gray, Color.White); 
    5960 
    60         lisaaTaso(-100, -20); 
    61         lisaaTaso(100, -20); 
    62         lisaaTaso2(0, 50); 
    63         lisaaTaso3(100,100); 
    64         lisaaTaso4(100, 100); 
     61        TileMap ruudut = TileMap.FromFile("TextFile1.txt"); 
     62        ruudut['-'] = lisaaTaso; 
     63        ruudut['*'] = lisaaPelaajat; 
     64        ruudut['_'] = lisaaTaso2; 
     65        ruudut['.'] = lisaaTaso3; 
     66        ruudut[','] = lisaaPiikit; 
     67        ruudut.Insert(ruudunLeveys, ruudunKorkeus); 
     68        Level.CreateBorders(); 
     69        AddCollisionHandler(olio, KasitteleOlionTormays); 
    6570 
    66         lisaaPelaajat(); 
     71 
    6772    } 
    6873 
    69     void lisaaTaso(double x, double y) 
     74    PhysicsObject lisaaTaso() 
    7075    { 
    71         PhysicsObject taso = PhysicsObject.CreateStaticObject(30, 150); 
     76        PhysicsObject taso = PhysicsObject.CreateStaticObject(150,30); 
    7277        Image image = Image.CreateGradient(150, 30, Color.White, Color.Gray); 
    7378        taso.Image = image; 
    74         taso.X = x; 
    75         taso.Y = y; 
    76         Add(taso); 
    77     } 
    78      
    79     void lisaaTaso2(double x, double y) 
    80     { 
    81         PhysicsObject taso = PhysicsObject.CreateStaticObject(250, 30); 
    82         Image image = Image.CreateGradient(150, 30, Color.White, Color.Gray); 
    83         taso.Image = image; 
    84         taso.X = x; 
    85         taso.Y = y; 
    86         Add(taso); 
     79        return taso; 
    8780    } 
    8881 
    89     void lisaaTaso3(double x, double y) 
     82    PhysicsObject lisaaPelaajat() 
    9083    { 
    91         PhysicsObject taso = PhysicsObject.CreateStaticObject(75, 100); 
    92         Image image = Image.CreateGradient(150, 30, Color.White, Color.Gray); 
    93         taso.Image = image; 
    94         taso.IgnoresCollisionResponse = true; 
    95         taso.X = -100; 
    96         taso.Y = 200; 
    97         taso.Image = LoadImage("nuoli"); 
    98         Add(taso); 
    99     } 
    100  
    101     void lisaaTaso4(double x, double y) 
    102     { 
    103         PhysicsObject taso = PhysicsObject.CreateStaticObject(75, 100); 
    104         Image image = Image.CreateGradient(150, 30, Color.White, Color.Gray); 
    105         taso.Image = image; 
    106         taso.IgnoresCollisionResponse = true; 
    107         taso.X = 100; 
    108         taso.Y = 200; 
    109         taso.Image = LoadImage("nuoli2"); 
    110         Add(taso); 
    111     } 
    112  
    113     void lisaaPelaajat() 
    114     { 
    115         olio = new PhysicsObject(40, 40); 
     84        olio = new PlatformCharacter(40, 40); 
    11685        olio.Shape = Shapes.Rectangle; 
    11786        olio.Color = Color.Black; 
    11887        olio.Size = new Vector(40, 40); 
    11988        olio.Y = 100; 
    120  
    121         Add(olio); 
     89        olio.CanRotate = true; 
     90        olio.KineticFriction = 0.5; 
     91        olio.StaticFriction = 0.2; 
     92        olio.Mass = 1.0; 
     93        return olio; 
    12294    } 
    12395 
    124     void lisaaPiikit() 
     96    PhysicsObject lisaaPiikit() 
    12597    { 
    12698        PhysicsObject piikit = new PhysicsObject(50, 50, Shapes.Rectangle); 
     99        piikit.IgnoresGravity = true; 
     100        piikit.IgnoresCollisionResponse = true; 
    127101        piikit.X = 100; 
    128102        piikit.Y = 50; 
    129103        piikit.Image = LoadImage("Spikes"); 
    130         Add(piikit); 
     104        return piikit; 
     105    } 
     106     
     107    void KasitteleOlionTormays(PhysicsObject olio, PhysicsObject kohde) 
     108    { 
     109        //tähän kirjoitetaan mitä halutaan tehdä, kun pallo törmää johonkin 
     110    } 
     111 
     112 
     113    PhysicsObject lisaaTaso2() 
     114    { 
     115        PhysicsObject nuoli = new PhysicsObject(50, 50, Shapes.Rectangle); 
     116        nuoli.IgnoresGravity = true; 
     117        nuoli.IgnoresCollisionResponse = true; 
     118        nuoli.X = 100; 
     119        nuoli.Y = 50; 
     120        nuoli.Image = LoadImage("nuoli"); 
     121        return nuoli; 
     122    } 
     123 
     124    PhysicsObject lisaaTaso3() 
     125    { 
     126        PhysicsObject nuoli2 = new PhysicsObject(50, 50, Shapes.Rectangle); 
     127        nuoli2.IgnoresGravity = true; 
     128        nuoli2.IgnoresCollisionResponse = true; 
     129        nuoli2.X = 100; 
     130        nuoli2.Y = 50; 
     131        nuoli2.Image = LoadImage("nuoli2"); 
     132        return nuoli2; 
    131133    } 
    132134 
     
    142144 
    143145 
    144     void liikuta(PhysicsObject hahmo, double nopeus) 
     146    void liikuta(PlatformCharacter hahmo, double nopeus) 
    145147    { 
    146148        hahmo.Push(new Vector (nopeus, 0)); 
    147149    } 
    148150 
    149     void hyppaa(PhysicsObject hahmo, double voima) 
     151    void hyppaa(PlatformCharacter hahmo, double voima) 
    150152    { 
    151         hahmo.Push(new Vector (0, voima)); 
     153        hahmo.Jump(voima); 
    152154    } 
    153155} 
Note: See TracChangeset for help on using the changeset viewer.