Ignore:
Timestamp:
2010-06-16 11:36:14 (13 years ago)
Author:
anlakane
Message:

Tein ruutukentän, sain yhden piikkipallon toimimaan.

Location:
2010/24/olpesasa/Linnapako
Files:
6 added
5 edited

Legend:

Unmodified
Added
Removed
  • 2010/24/olpesasa/Linnapako/Content/Content.contentproj

    r889 r905  
    5555    </Compile> 
    5656  </ItemGroup> 
     57  <ItemGroup> 
     58    <Compile Include="piikkipallo.png"> 
     59      <Name>piikkipallo</Name> 
     60      <Importer>TextureImporter</Importer> 
     61      <Processor>TextureProcessor</Processor> 
     62    </Compile> 
     63  </ItemGroup> 
     64  <ItemGroup> 
     65    <Compile Include="maali.png"> 
     66      <Name>maali</Name> 
     67      <Importer>TextureImporter</Importer> 
     68      <Processor>TextureProcessor</Processor> 
     69    </Compile> 
     70  </ItemGroup> 
    5771</Project> 
  • 2010/24/olpesasa/Linnapako/Linnapako.csproj

    r877 r905  
    8989    <Content Include="Game.ico" /> 
    9090    <Content Include="GameThumbnail.png" /> 
     91    <Content Include="kentta1.txt"> 
     92      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     93    </Content> 
    9194  </ItemGroup> 
    9295  <ItemGroup> 
  • 2010/24/olpesasa/Linnapako/Peli.cs

    r889 r905  
    99    PhysicsObject pelaaja; 
    1010    PhysicsObject piikki; 
     11    PhysicsObject piikkipallo; 
     12    const int ruudunLeveys = 50; 
     13    const int ruudunKorkeus = 50; 
    1114 
    1215    protected override void Begin() 
     
    1417        //TODO: Alusta peli tässä 
    1518        Ohjaimet (); 
    16         LuoPelaaja(); 
    1719        LuoKentta(); 
    1820    } 
     
    4042    } 
    4143 
    42     void LuoPelaaja() 
     44    PhysicsObject LuoPelaaja() 
    4345    { 
    4446        pelaaja = new PhysicsObject(40.0, 40.0); 
    4547        pelaaja.Shape = Shapes.Circle; 
    4648        pelaaja.Image = LoadImage("pelihahmo1"); 
    47         Add(pelaaja); 
    4849        AddCollisionHandler(pelaaja, PelaajanTormays); 
     50        return pelaaja; 
    4951    } 
    50     void LuoSeina(Double x, Double y) 
     52    PhysicsObject LuoPiikkipallo() 
     53    { 
     54        piikkipallo = new PhysicsObject(40.0, 40.0); 
     55        piikkipallo.Shape = Shapes.Circle; 
     56        piikkipallo.Image = LoadImage("piikkipallo"); 
     57        Vector impulssi = new Vector(500.0, 0.0); 
     58        piikkipallo.Hit(impulssi); 
     59        piikkipallo.KineticFriction = 0; 
     60        piikkipallo.CanRotate = false; 
     61        piikkipallo.Restitution = 1; 
     62        piikkipallo.IgnoresCollisionResponse = true; 
     63        AddCollisionHandler(piikkipallo, PallonTormays); 
     64        return piikkipallo; 
     65    } 
     66    PhysicsObject LuoSeina() 
    5167    { 
    5268        seina = PhysicsObject.CreateStaticObject(50.0, 50.0); 
    5369        seina.Shape = Shapes.Rectangle; 
    5470        seina.Image = LoadImage("seina1"); 
    55         seina.X = x; 
    56         seina.Y= y; 
    57         Add(seina); 
     71        seina.Tag = "seina"; 
     72        return seina; 
    5873    } 
    5974    void LuoPiikki(Double x, Double y) 
     
    6681        Add(piikki); 
    6782    } 
     83 
    6884    void LuoKentta() 
    6985    { 
    70         LuoSeina(-100.0, 100.0); 
    71         LuoSeina(-350.0, 100.0); 
    72         LuoSeina(-400.0, 100.0); 
    73         LuoSeina(-450.0, 100.0); 
    74         LuoSeina(-150.0, 100.0); 
    75         LuoSeina(-200.0, 100.0); 
    76         LuoSeina(-250.0, 100.0); 
    77         LuoSeina(-300.0, 100.0); 
    78         LuoSeina(-500.0, 100.0); 
    79         LuoSeina(-550.0, 100.0); 
    80         LuoSeina(-600.0, 100.0); 
    81         LuoSeina(-650.0, 100.0); 
    82         LuoSeina(-100.0, -50.0); 
    83         LuoSeina(-100.0, -100.0); 
    84         LuoSeina(-150.0, -100.0); 
    85         LuoSeina(-200.0, -100.0); 
    86         LuoSeina(-250.0, -100.0); 
    87         LuoSeina(-300.0, -100.0); 
    88         LuoSeina(-350.0, -100.0); 
    89         LuoSeina(-400.0, -100.0); 
    90         LuoSeina(-450.0, -100.0); 
    91         LuoSeina(-500.0, -100.0); 
    92         LuoSeina(-550.0, -100.0); 
    93         LuoSeina(-600.0, -100.0); 
    94  
    95         LuoSeina(100.0, 100.0); 
    96         LuoSeina(350.0, 100.0); 
    97         LuoSeina(400.0, 100.0); 
    98         LuoSeina(450.0, 100.0); 
    99         LuoSeina(150.0, 100.0); 
    100         LuoSeina(200.0, 100.0); 
    101         LuoSeina(250.0, 100.0); 
    102         LuoSeina(300.0, 100.0); 
    103         LuoSeina(500.0, 100.0); 
    104         LuoSeina(550.0, 100.0); 
    105         LuoSeina(600.0, 100.0); 
    106         LuoSeina(650.0, 100.0); 
    107         LuoSeina(100.0, -50.0); 
    108         LuoSeina(100.0, -100.0); 
    109         LuoSeina(150.0, -100.0); 
    110         LuoSeina(200.0, -100.0); 
    111         LuoSeina(250.0, -100.0); 
    112         LuoSeina(300.0, -100.0); 
    113         LuoSeina(350.0, -100.0); 
    114         LuoSeina(400.0, -100.0); 
    115         LuoSeina(450.0, -100.0); 
    116         LuoSeina(500.0, -100.0); 
    117         LuoSeina(550.0, -100.0); 
    118         LuoSeina(600.0, -100.0); 
     86        TileMap ruudut = TileMap.FromFile("kentta1.txt"); 
    11987        LuoPiikki(100.0, -150.0); 
     88        ruudut['v'] = LuoPiikkipallo; 
     89        ruudut['x'] = LuoSeina; 
     90        ruudut['1'] = LuoPelaaja; 
     91        ruudut.Insert(ruudunLeveys, ruudunKorkeus); 
     92        Camera.ZoomToLevel(); 
    12093    } 
    12194    void PelaajanTormays(PhysicsObject pelaaja, PhysicsObject kohde) 
     
    12396        if (kohde == piikki) 
    12497        { 
    125             pelaaja.X = 0; 
    126             pelaaja.Y = 0; 
    127             pelaaja.Stop(); 
     98            AloitaAlusta(); 
     99        } 
     100        else if (kohde == piikkipallo) 
     101        { 
     102            AloitaAlusta(); 
    128103        } 
    129104    } 
     105    void PallonTormays(PhysicsObject piikkipallo, PhysicsObject kohde) 
     106    { 
     107        if (kohde.Tag.ToString() == "seina") 
     108        { 
     109            piikkipallo.Velocity = new Vector(-piikkipallo.Velocity.X, piikkipallo.Velocity.Y); 
     110        } 
     111    } 
     112    void AloitaAlusta() 
     113    { 
     114        ClearAll(); 
     115        Ohjaimet(); 
     116        LuoKentta(); 
     117    } 
     118 
    130119 
    131120} 
Note: See TracChangeset for help on using the changeset viewer.