Changeset 4092 for 2013


Ignore:
Timestamp:
2013-06-12 14:57:58 (6 years ago)
Author:
ilkarist
Message:

Talletus.

Location:
2013/24/IlariR/Robot attack/Robot attack
Files:
10 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2013/24/IlariR/Robot attack/Robot attack/Robot attack/Robot_attack.cs

    r4072 r4092  
    1111    Image tykkiKuva = LoadImage("tykki"); 
    1212    Image tatainkuva = LoadImage("tahtain"); 
    13     Image luodinKuva = LoadImage("luoti"); 
    14     Image taustakuva = LoadImage("tausta"); 
     13    Image luodinKuva = LoadImage("luoti3"); 
     14    Image taustakuva = LoadImage("tausta2"); 
     15    Image avainkuva = LoadImage("avain"); 
     16    Image lukkokuva = LoadImage("lukko"); 
     17    SoundEffect ampuminen = LoadSoundEffect("ampuminen"); 
     18    SoundEffect rajahdysaani = LoadSoundEffect("rajahdys2"); 
     19    SoundEffect robotaani = LoadSoundEffect("robotaani"); 
     20 
    1521    Robot robot; 
    1622    PhysicsObject ase; 
    1723    IntMeter pisteLaskuri; 
     24    EasyHighScore topLista = new EasyHighScore(); 
     25    
    1826 
    1927    public override void Begin() 
    2028    { 
     29        Alkuvalikko(); 
     30    } 
     31 
     32    void Aloitapeli() 
     33    { 
     34        ClearAll(); 
    2135        LuoKentta(); 
    2236        LuoOhjaimet(); 
     
    2438        Mouse.IsCursorVisible = true; 
    2539         
     40        robotaani.Play(); 
     41         
    2642        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    2743        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     
    4763    void LuoOhjaimet() 
    4864    { 
    49         Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 700)); 
    50         Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-700, 0)); 
    51         Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -700)); 
    52         Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, new Vector(700, 0)); 
    53         Keyboard.Listen(Key.Space, ButtonState.Released, AmmuAseella, null, ase, 200.0); 
    54  
    55         Keyboard.Listen(Key.Left, ButtonState.Down, TahtaaNappaimella, null, 9000); 
    56         Keyboard.Listen(Key.Right, ButtonState.Down, TahtaaNappaimella, null, -9000); 
     65        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 4500)); 
     66        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-4500, 0)); 
     67        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -4500)); 
     68        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, new Vector(4500, 0)); 
     69        Keyboard.Listen(Key.Space, ButtonState.Released, AmmuAseella, null, ase, 400.0); 
     70 
     71        Keyboard.Listen(Key.Left, ButtonState.Down, TahtaaNappaimella, null, 25000); 
     72        Keyboard.Listen(Key.Right, ButtonState.Down, TahtaaNappaimella, null, -25000); 
    5773        //Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella"); 
    5874    } 
     
    113129        vihollinen.CollisionIgnoreGroup = 3; 
    114130        Timer ajastin = new Timer(); 
    115         ajastin.Interval = 2; 
     131        ajastin.Interval = 1; 
    116132        vihollinen.Destroyed += delegate { pisteLaskuri.AddValue(500); }; 
    117133        ajastin.Timeout += 
     
    152168        ammus.Destroy(); 
    153169 
     170        if(kohde.Tag.Equals("ase")) 
     171        { 
     172            //Törmäyskäsittelijä aseeseen osuneita ammuksia varten 
     173            robot.Elamat.Value--; 
     174            return; 
     175        } 
     176 
     177 
    154178        if (!(kohde is Robot)) return; 
    155179        Robot robotti = (Robot)kohde; 
     
    162186    { 
    163187        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kentta1"); 
     188        ruudut.SetTileMethod("00FF00", LuoLukko); 
    164189        ruudut.SetTileMethod(Color.Blue, LuoPelaaja); 
    165190        ruudut.SetTileMethod(Color.Black, LuoTaso); 
    166191        ruudut.SetTileMethod(Color.Red, LuoVihollinen); 
    167192        ruudut.SetTileMethod("BA006E", LuoLiikkumatonVihollinen); 
     193        ruudut.SetTileMethod("FFD800", LuoAvain); 
    168194        ruudut.Execute(50, 50); 
    169  
    170         Level.Background.CreateGradient(Color.Yellow, Color.Orange); 
    171     } 
     195        Level.BackgroundColor = Color.Black; 
     196        //Level.Background.CreateGradient(Color.Yellow, Color.Orange); 
     197        Level.Background.Image = taustakuva; 
     198        Level.Background.FitToLevel(); 
     199    } 
     200 
     201    void LuoLukko(Vector paikka, double leveys, double korkeus) 
     202    { 
     203        PhysicsObject lukko = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     204        lukko.Position = paikka; 
     205        lukko.Image = lukkokuva; 
     206        lukko.CollisionIgnoreGroup = 0; 
     207        Add(lukko); 
     208 
     209        AddCollisionHandler(robot, lukko, Avaalukko); 
     210    } 
     211 
     212    void Avaalukko(PhysicsObject tormaaja, PhysicsObject kohde) 
     213    { 
     214        if (robot.avain) 
     215        { 
     216            kohde.Destroy(); 
     217            pisteLaskuri.Value += 250; 
     218        } 
     219    } 
     220 
     221    void LuoAvain(Vector paikka, double leveys, double korkeus) 
     222    { 
     223        PhysicsObject Avain = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     224        Avain.Position = paikka; 
     225        Avain.Image = avainkuva; 
     226        Avain.CollisionIgnoreGroup = 0; 
     227        Add(Avain); 
     228 
     229        AddCollisionHandler(robot, Avain, KeraaAvain); 
     230    } 
     231 
     232    void KeraaAvain(PhysicsObject tormaaja, PhysicsObject kohde) 
     233    { 
     234        robot.avain = true; 
     235        kohde.Destroy(); 
     236    } 
     237 
     238 
    172239 
    173240    void LuoPelaaja(Vector paikka, double leveys, double korkeus) 
     
    177244        robot.Shape = Shape.Hexagon; 
    178245        robot.Color = Color.Cyan; 
    179         robot.LinearDamping = 0.95; 
     246        robot.LinearDamping = 0.6; 
    180247        robot.CollisionIgnoreGroup = 1; 
    181248        robot.CanRotate = false; 
     
    184251        Add(robot); 
    185252        robot.Elamat.LowerLimit += delegate { TuhoaJaRajahda(robot); }; 
     253        robot.Destroyed += PeliLoppui; 
    186254 
    187255        ase = new PhysicsObject(tykkiKuva); 
    188256        ase.Shape = Shape.FromImage(tykkiKuva); 
    189257        ase.Position = robot.Position; 
    190         ase.AngularDamping = 0.98; 
     258        ase.AngularDamping = 0.9; 
     259        ase.Tag = "ase"; 
    191260        ase.Size *= 0.5; 
    192261        ase.CollisionIgnoreGroup = 1; 
     
    208277    } 
    209278 
     279    void PeliLoppui() 
     280    { 
     281        topLista.EnterAndShow(pisteLaskuri.Value); 
     282        topLista.HighScoreWindow.Closed += PeliLoppuiValikko; 
     283    } 
     284 
     285    void PeliLoppuiValikko(Window sender) 
     286    { 
     287        MultiSelectWindow ikkuna = new MultiSelectWindow("Game Over!", "Aloita alusta", "Lopeta"); 
     288        ikkuna.ItemSelected += ValikkoValinta; 
     289        Add(ikkuna); 
     290 
     291    } 
     292 
     293 
     294    void ValikkoValinta(int valinta) 
     295    { 
     296        switch (valinta) 
     297        { 
     298            case 0: 
     299                Aloitapeli(); 
     300                break; 
     301            case 1: 
     302                Exit(); 
     303                break; 
     304            default: 
     305                break; 
     306        } 
     307    } 
     308 
     309 
    210310    void TuhoaJaRajahda(PhysicsObject obj) 
    211311    { 
    212312        Explosion rajahdys = new Explosion(100); 
     313        rajahdys.Sound = rajahdysaani; 
    213314        rajahdys.Position = obj.Position; 
    214315        Add(rajahdys); 
     
    222323        //taso.Image = groundImage; 
    223324        taso.CollisionIgnoreGroup = 2; 
     325        taso.Color = new Color(66, 83, 240); 
    224326        Add(taso); 
    225327    } 
    226328 
     329    void Alkuvalikko() 
     330    { 
     331        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", "Aloita peli", "Parhaat pisteet", "Lopeta"); 
     332        alkuValikko.AddItemHandler(0, Aloitapeli); 
     333        //alkuValikko.AddItemHandler(1, ParhaatPisteet); 
     334        alkuValikko.AddItemHandler(2, Exit); 
     335 
     336        Add(alkuValikko); 
     337    } 
    227338} 
    228339 
     
    230341{ 
    231342    IntMeter elamat; 
     343    public bool avain; 
    232344    public IntMeter Elamat { get { return elamat; } } 
    233345 
     
    236348    { 
    237349        elamat = new IntMeter(elamia, 0, elamia); 
     350        avain = false; 
    238351    } 
    239352 
    240353    IntMeter pisteLaskuri; 
     354 
    241355} 
  • 2013/24/IlariR/Robot attack/Robot attack/Robot attackContent/Robot attackContent.contentproj

    r4072 r4092  
    8080    </Compile> 
    8181  </ItemGroup> 
     82  <ItemGroup> 
     83    <Compile Include="tausta2.png"> 
     84      <Name>tausta2</Name> 
     85      <Importer>TextureImporter</Importer> 
     86      <Processor>TextureProcessor</Processor> 
     87    </Compile> 
     88  </ItemGroup> 
     89  <ItemGroup> 
     90    <Compile Include="luoti2.png"> 
     91      <Name>luoti2</Name> 
     92      <Importer>TextureImporter</Importer> 
     93      <Processor>TextureProcessor</Processor> 
     94    </Compile> 
     95  </ItemGroup> 
     96  <ItemGroup> 
     97    <Compile Include="luoti3.png"> 
     98      <Name>luoti3</Name> 
     99      <Importer>TextureImporter</Importer> 
     100      <Processor>TextureProcessor</Processor> 
     101    </Compile> 
     102  </ItemGroup> 
     103  <ItemGroup> 
     104    <Compile Include="robotaani.wav"> 
     105      <Name>robotaani</Name> 
     106      <Importer>WavImporter</Importer> 
     107      <Processor>SoundEffectProcessor</Processor> 
     108    </Compile> 
     109  </ItemGroup> 
     110  <ItemGroup> 
     111    <Compile Include="ampuminen.wav"> 
     112      <Name>ampuminen</Name> 
     113      <Importer>WavImporter</Importer> 
     114      <Processor>SoundEffectProcessor</Processor> 
     115    </Compile> 
     116  </ItemGroup> 
     117  <ItemGroup> 
     118    <Compile Include="rajahdys2.wav"> 
     119      <Name>rajahdys2</Name> 
     120      <Importer>WavImporter</Importer> 
     121      <Processor>SoundEffectProcessor</Processor> 
     122    </Compile> 
     123  </ItemGroup> 
     124  <ItemGroup> 
     125    <Compile Include="avain.png"> 
     126      <Name>avain</Name> 
     127      <Importer>TextureImporter</Importer> 
     128      <Processor>TextureProcessor</Processor> 
     129    </Compile> 
     130  </ItemGroup> 
     131  <ItemGroup> 
     132    <Compile Include="lukko.png"> 
     133      <Name>lukko</Name> 
     134      <Importer>TextureImporter</Importer> 
     135      <Processor>TextureProcessor</Processor> 
     136    </Compile> 
     137  </ItemGroup> 
    82138  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    83139  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
Note: See TracChangeset for help on using the changeset viewer.