Changeset 3939 for 2012


Ignore:
Timestamp:
2013-02-23 15:53:49 (6 years ago)
Author:
jotapoti
Message:

Pelikerhossa 23.2.2013 tehty kirves ja joulupukki -peli.

Location:
2012/kerho/LeoL
Files:
2 added
2 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • 2012/kerho/LeoL/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!.csproj.Debug.cachefile

    r3933 r3939  
    22Content\Floor.xnb 
    33Content\Wall.xnb 
    4 Content\Spear.xnb 
     4Content\Pahis.xnb 
  • 2012/kerho/LeoL/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!/JHaapaduuuuuuuuuuuu__________________.cs

    r3933 r3939  
    55using Jypeli.Controls; 
    66using Jypeli.Effects; 
    7  
     7using Jypeli.Widgets; 
    88 
    99public class JHaapaduuuuuuuuuuuu__________________ : PhysicsGame 
    1010{ 
     11    AssaultRifle vihunAse; 
     12    EasyHighScore topLista = new EasyHighScore(); 
    1113    PhysicsObject olio; 
    1214    Image olionKuva = LoadImage("BatleAxe"); 
    1315    Image lattiankuva = LoadImage("Floor"); 
    1416    Image seinankuva = LoadImage("Wall"); 
    15     Image vihukuva = LoadImage("Spear"); 
     17    Image vihukuva = LoadImage("Pahis"); 
     18    double nopeus = 500.0; 
     19    int VIHUNALOITUSENERGIA = 10000; 
     20 
     21    IntMeter laskuri = new IntMeter(0); 
     22 
     23 
    1624    public override void Begin() 
    1725    { 
    18         // TODO: Kirjoita ohjelmakoodisi tähän 
     26        Valikko(null); 
     27    } 
    1928 
     29    private void AloitaPeli() 
     30    { 
    2031        Level.Width = Screen.Width; 
    2132        Surfaces reunat = Level.CreateBorders(0, true, Color.Gray); 
     
    2637        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    2738        olio = new PhysicsObject(100, 100); 
    28         olio.MaxVelocity = 300; 
     39        olio.MaxVelocity = 2000; 
    2940        olio.CanRotate = false; 
    3041        olio.Image = olionKuva; 
     
    3445        Level.BackgroundColor = Color.Black; 
    3546        Level.Background.Image = lattiankuva; 
    36         Level.Background.ScaleToLevelByWidth();  
     47        Level.Background.ScaleToLevelByWidth(); 
    3748 
    3849        Keyboard.Listen(Key.Left, ButtonState.Down, 
    39           LiikutaPelaajaa, null, new Vector(-1000, 0)); 
     50          LiikutaPelaajaa, null, new Vector(-nopeus, 0)); 
    4051        Keyboard.Listen(Key.Right, ButtonState.Down, 
    41           LiikutaPelaajaa, null, new Vector(1000, 0)); 
     52          LiikutaPelaajaa, null, new Vector(nopeus, 0)); 
    4253        Keyboard.Listen(Key.Up, ButtonState.Down, 
    43           LiikutaPelaajaa, null, new Vector(0, 1000)); 
     54          LiikutaPelaajaa, null, new Vector(0, nopeus)); 
    4455        Keyboard.Listen(Key.Down, ButtonState.Down, 
    45           LiikutaPelaajaa, null, new Vector(0, -1000)); 
     56          LiikutaPelaajaa, null, new Vector(0, -nopeus)); 
    4657 
    47         LuoVihu(new Vector(-200, 100)); 
     58        LuoVihu(new Vector(-600, 85)); 
     59    } 
     60 
     61    void Valikko(Window ikkuna) 
     62    { 
     63        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", "Aloita peli", "Parhaat pisteet","Lopeta", "Testi"); 
     64        Add(alkuValikko); 
     65        alkuValikko.AddItemHandler(0, AloitaPeli); 
     66        alkuValikko.AddItemHandler(1, ParhaatPisteet); 
     67        alkuValikko.AddItemHandler(2, Exit); 
     68        alkuValikko.AddItemHandler(3, TestiValikko); 
    4869    } 
    4970 
    5071    void LiikutaPelaajaa(Vector vektori) 
    5172    { 
     73        olio.Stop(); 
    5274        olio.Angle = vektori.Angle; 
    53         olio.Push(vektori); 
     75        olio.Hit(vektori); 
    5476    } 
    5577 
     
    5779    { 
    5880 
    59         PhysicsObject vihunkuva = new PhysicsObject(40.0, 40.0); 
    60         vihunkuva.Position = vektori; 
    61         vihunkuva.Restitution = 1.0; 
    62         vihunkuva.Image = vihukuva; 
    63         Add(vihunkuva);   
     81        PhysicsObject vihollinen = new PhysicsObject(100.0, 100.0); 
     82        vihollinen.Position = vektori; 
     83        vihollinen.Restitution = 1.0; 
     84        vihollinen.Image = vihukuva; 
     85        Add(vihollinen); 
     86        IntMeter vihunElamaLaskuri = new IntMeter(VIHUNALOITUSENERGIA, 0, 10000); 
     87        vihunElamaLaskuri.LowerLimit += delegate() { VihollinenKuolee(vihollinen); }; 
     88        Label l = new Label(); 
     89        l.TextColor = Color.Black; 
     90        l.BindTo(vihunElamaLaskuri); 
     91        l.Color = Color.Red; 
     92        l.Position = new Vector(Screen.Right - 50, Screen.Top - 50); 
     93        Add(l); 
     94        vihollinen.CanRotate = false; 
     95        //Tehdään uudet satunnaisaivot, jotka liikkuvat nopeudella 200 
     96        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200); 
     97        satunnaisAivot.ChangeMovementSeconds = 3; 
     98        vihollinen.Brain = satunnaisAivot; 
     99        AddCollisionHandler(olio, vihollinen, CollisionHandler.AddMeterValue(vihunElamaLaskuri, -1)); 
     100 
     101        AddCollisionHandler(olio, vihollinen, CollisionHandler.AddMeterValue(laskuri, 1)); 
     102        // tehdään vihulle ase: 
     103        vihunAse = new AssaultRifle(0, 0); 
     104        vihunAse.Ammo.Value = 100000; 
     105        // mitä tapahtuu, kun ammus osuu johonkin: 
     106        vihunAse.ProjectileCollision = AmmusOsui; 
     107        vihollinen.Add(vihunAse); 
     108        Timer ampumisAjastin = new Timer(); 
     109        ampumisAjastin.Interval = 2.0; 
     110        ampumisAjastin.Timeout += VihuAmpuu; 
     111        ampumisAjastin.Start(); 
    64112    } 
    65113 
     114    private void VihollinenKuolee(PhysicsObject vihollinen) 
     115    { 
     116        vihollinen.Destroy(); 
     117        KysyParhaatPisteet(); 
     118        vihunAse.Destroy(); 
     119    } 
    66120 
     121    void OlioTormasi(PhysicsObject tormaaja, PhysicsObject kohde) 
     122    { 
     123        kohde.Destroy(); 
     124    } 
    67125 
     126    void VihuAmpuu() 
     127    { 
     128        vihunAse.Angle = RandomGen.NextDirection().Angle; 
     129         
     130        vihunAse.Shoot(); 
     131    } 
     132 
     133    void AmmusOsui(PhysicsObject tormaaja, PhysicsObject kohde) 
     134    { 
     135        if (kohde == null) return; 
     136        if (kohde.Equals(olio)) // Jos ammuksen kohteena on pelaaja eli pelaaja kuolee ja hävisi pelin: 
     137        { 
     138            olio.Destroy(); // tapetaan pelaaja 
     139            KysyParhaatPisteet(); 
     140            
     141        } 
     142        tormaaja.Destroy(); // Hävitetään panos 
     143    } 
     144 
     145    private void KysyParhaatPisteet() 
     146    { 
     147        topLista.EnterAndShow(laskuri.Value); 
     148        topLista.HighScoreWindow.Closed += Valikko; 
     149    } 
     150 
     151    void TestiValikko() 
     152    { 
     153        MultiSelectWindow msw = new MultiSelectWindow("Haloo", "Eka", "Toka"); 
     154        Add(msw); 
     155        msw.AddItemHandler(0, delegate { Valikko(null); }); 
     156        msw.AddItemHandler(1, ParhaatPisteet); 
     157    } 
     158 
     159    void ParhaatPisteet() 
     160    { 
     161        topLista.Show(); 
     162        topLista.HighScoreWindow.Closed += Valikko; 
     163    } 
     164 
     165    void luoLaskuri() 
     166    { 
     167     
     168    } 
    68169} 
    69                            
  • 2012/kerho/LeoL/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!/obj/x86/Debug/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!.csproj.FileListAbsolute.txt

    r3933 r3939  
    1111C:\MyTemp\ohjelmointikerho\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\bin\x86\Debug\Content\Wall.xnb 
    1212C:\MyTemp\ohjelmointikerho\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\bin\x86\Debug\Content\Spear.xnb 
     13C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\bin\x86\Debug\Content\BatleAxe.xnb 
     14C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\bin\x86\Debug\Content\Floor.xnb 
     15C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\bin\x86\Debug\Content\Wall.xnb 
     16C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\bin\x86\Debug\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!.exe 
     17C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\bin\x86\Debug\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!.pdb 
     18C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\bin\x86\Debug\Jypeli.dll 
     19C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\bin\x86\Debug\Jypeli.xml 
     20C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\obj\x86\Debug\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!.csprojResolveAssemblyReference.cache 
     21C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\obj\x86\Debug\Microsoft.Xna.Framework.RuntimeProfile.txt 
     22C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\obj\x86\Debug\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!.exe 
     23C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\obj\x86\Debug\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!.pdb 
     24C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\bin\x86\Debug\Content\Pahis.xnb 
  • 2012/kerho/LeoL/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!/obj/x86/Debug/cachefile-{2B74C38A-0F18-4AFD-8999-669D1D00046B}-targetpath.txt

    r3933 r3939  
    22Content\Floor.xnb 
    33Content\Wall.xnb 
    4 Content\Spear.xnb 
     4Content\Pahis.xnb 
  • 2012/kerho/LeoL/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!Content/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!Content.contentproj

    r3933 r3939  
    6565  </ItemGroup> 
    6666  <ItemGroup> 
    67     <Compile Include="Spear.png"> 
    68       <Name>Spear</Name> 
     67    <Compile Include="Pahis.png"> 
     68      <Name>Pahis</Name> 
    6969      <Importer>TextureImporter</Importer> 
    7070      <Processor>TextureProcessor</Processor> 
  • 2012/kerho/LeoL/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!Content/obj/x86/Debug/JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!Content.contentproj.FileListAbsolute.txt

    r3933 r3939  
    11C:\MyTemp\ohjelmointikerho\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!Content\obj\x86\Debug\ResolveAssemblyReference.cache 
     2C:\MyTemp\ohjelmointikerho\LeoL\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!Content\obj\x86\Debug\JHaapaduuuuuuuuuuuu!!!!!!!!!!!!!!!!!!Content.contentprojResolveAssemblyReference.cache 
Note: See TracChangeset for help on using the changeset viewer.