Changeset 2558


Ignore:
Timestamp:
2011-08-04 14:58:56 (8 years ago)
Author:
patammi
Message:

Talletus.

Location:
2011/31/PavelT/gee tee aa ssek
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/PavelT/gee tee aa ssek/Peli.cs

    r2541 r2558  
    1313 
    1414    PhysicsObject sampodiego; 
    15     Image olionkuva = LoadImage("Kari"); 
     15    PhysicsObject niko; 
    1616    AssaultRifle pyssy; 
     17    AssaultRifle pyssy2; 
     18    AssaultRifle pyssy3; 
    1719    PhysicsObject vihu; 
    1820    Image vihunKuva = LoadImage("vihu"); 
     
    2628        Valikko(); 
    2729 
    28  
    2930    } 
    3031    void Valikko() 
    3132    { 
     33        Level.BackgroundColor = Color.Black; 
    3234        ClearAll(); 
    3335        valikonKohdat = new List<Label>(); 
    3436 
    35         Label kohta1 = new Label("Aloita uusi peli"); 
     37        Label kohta1 = new Label("Kaksipelaajaa"); 
    3638        kohta1.Position = new Vector(0, 40); 
    3739        valikonKohdat.Add(kohta1); 
     
    4143        valikonKohdat.Add(kohta2); 
    4244 
     45        Label kohta3 = new Label("DeadLand"); 
     46        kohta3.Position = new Vector(0, 250); 
     47        kohta3.TextColor = Color.Red; 
     48        kohta3.TextScale = new Vector(10,10); 
     49        Add(kohta3); 
     50 
     51        Label kohta4 = new Label("The rise of zombies"); 
     52        kohta4.Position = new Vector(0, -250); 
     53        kohta4.TextColor = Color.Red; 
     54        kohta4.TextScale = new Vector(5,5); 
     55        Add(kohta4); 
     56 
     57        Label kohta5 = new Label("Kolmepelaajaa"); 
     58        kohta5.Position = new Vector(0, 1); 
     59        valikonKohdat.Add(kohta5); 
     60 
     61 
    4362        foreach (Label valikonKohta in valikonKohdat) 
    4463        { 
     
    4665        } 
    4766 
    48         Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 
     67        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, Kaksipelaajaa, null); 
    4968        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 
    5069        ControllerOne.Listen(Button.B, ButtonState.Down, Exit, ""); 
    51         ControllerOne.Listen(Button.A, ButtonState.Down, AloitaPeli, ""); 
     70        ControllerOne.Listen(Button.A, ButtonState.Down, Kaksipelaajaa, ""); 
     71        ControllerOne.Listen(Button.X, ButtonState.Down, Kolmepelaajaa, ""); 
    5272        Mouse.IsCursorVisible = true; 
    5373        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     
    6585            else 
    6686            { 
    67                 kohta.TextColor = Color.Black; 
     87                kohta.TextColor = Color.Red; 
    6888            } 
    6989 
     
    7595 
    7696 
    77     void AloitaPeli() 
     97    void AloitaPeli(int pelaajienmäärä) 
    7898    { 
    7999        ClearAll(); 
    80100        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 
    81101        Timer ajastin = new Timer(); 
    82         ajastin.Interval = 0.1; 
     102        ajastin.Interval = 1.0; 
    83103        ajastin.Timeout += lisaavihu; 
    84104        ajastin.Start(); 
    85105 
     106        MediaPlayer.Play("Darkness of the Unknown"); 
    86107 
    87108        olio = luokari(); 
     
    93114        sampodiego.Y = -60; 
    94115        Add(sampodiego); 
     116 
     117        if (pelaajienmäärä ==3) 
     118        { 
     119            niko = luoniko(); 
     120            niko.X = 400; 
     121            niko.Y = -100; 
     122            Add(niko); 
     123 
     124            LuoLaskuri3(); 
     125 
     126 
     127        } 
    95128 
    96129 
     
    124157        ControllerTwo.ListenAnalog(AnalogControl.RightStick, 0.1, 
    125158  Käännäpelaajaa2, "Käännä pelaajaa tattia pyörittämällä."); 
    126  
    127  
    128         Camera.ZoomFactor = (0.3); 
     159        ControllerTwo.Listen(Button.B, ButtonState.Down, ammu2, null); 
     160        ControllerThree.ListenAnalog(AnalogControl.LeftStick, 0.1, 
     161LiikutaPelaajaa3, "Liikuta pelaajaa tattia pyörittämällä."); 
     162        ControllerThree.ListenAnalog(AnalogControl.RightStick, 0.1, 
     163  Käännäpelaajaa3, "Käännä pelaajaa tattia pyörittämällä."); 
     164        ControllerThree.Listen(Button.B, ButtonState.Down, ammu3, null); 
     165 
     166        Camera.ZoomFactor = (0.4); 
    129167        olio.AngularVelocity = 5.0; 
    130  
    131         lisäävihollinen(Vector.Zero, 200, 100); 
     168        int savujenmaara = 0; 
     169        LuoLaskuri(); 
     170        LuoLaskuri2(); 
     171        while (savujenmaara < 150) 
     172        { 
     173            Smoke savu = new Smoke(); 
     174            savu.Position = new Vector(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Bottom, Level.Top)); 
     175            Add(savu); 
     176            savujenmaara++; 
     177            Wind = new Vector(100, 20); 
     178             
     179 
     180        } 
    132181        
     182 
     183 
     184        //   lisäävihollinen(Vector.Zero, 200, 100); 
     185 
    133186 
    134187    } 
     
    141194 
    142195    } 
     196    void Kaksipelaajaa() 
     197    { 
     198        AloitaPeli(2); 
     199    } 
     200    void Kolmepelaajaa() 
     201    { 
     202        AloitaPeli(3); 
     203    } 
    143204    void Käännäpelaajaa(AnalogState tatinTila) 
    144205    { 
     
    149210    { 
    150211        Vector tatinAsento = tatinTila.StateVector; 
    151         olio.Push(tatinAsento * 1000); 
     212        sampodiego.Push(tatinAsento * 1000); 
    152213    } 
    153214    void Käännäpelaajaa2(AnalogState tatinTila) 
    154215    { 
    155216        Vector tatinAsento = tatinTila.StateVector; 
    156         olio.AngularVelocity = tatinAsento.X * 15; 
    157     } 
     217        sampodiego.AngularVelocity = tatinAsento.X * 15; 
     218    } 
     219    void LiikutaPelaajaa3(AnalogState tatinTila) 
     220    { 
     221        Vector tatinAsento = tatinTila.StateVector; 
     222        niko.Push(tatinAsento * 1000); 
     223    } 
     224    void Käännäpelaajaa3(AnalogState tatinTila) 
     225    { 
     226        Vector tatinAsento = tatinTila.StateVector; 
     227        niko.AngularVelocity = tatinAsento.X * 15; 
     228    } 
     229 
    158230 
    159231 
     
    163235    void ammu() 
    164236    { 
    165         pyssy.Shoot(); 
    166  
    167     } 
     237        PhysicsObject ammus = pyssy.Shoot(); 
     238        if (ammus != null)  
     239        { 
     240            ammus.Tag = "pelaaja1"; 
     241        } 
     242 
     243    } 
     244    void ammu2() 
     245    { 
     246        PhysicsObject ammus = pyssy2.Shoot(); 
     247        if (ammus != null) 
     248        { 
     249            ammus.Tag = "pelaaja2"; 
     250        } 
     251    } 
     252    void ammu3() 
     253    { 
     254        PhysicsObject ammus = pyssy3.Shoot(); 
     255        if (ammus != null) 
     256        { 
     257            ammus.Tag = "pelaaja3"; 
     258        } 
     259 
     260    } 
     261 
    168262 
    169263    void käännäpelaajaa(double kulmanopeus) 
     
    177271        olio.Push(vektori); 
    178272    } 
    179  
     273    IntMeter pisteLaskuri; 
     274 
     275    void LuoLaskuri() 
     276    { 
     277        pisteLaskuri = new IntMeter(0); 
     278 
     279        Label pisteNaytto = new Label(); 
     280        pisteNaytto.X = Screen.Left + 200; 
     281        pisteNaytto.Y = Screen.Top - 100; 
     282        pisteNaytto.TextColor = Color.Red; 
     283 
     284        pisteNaytto.BindTo(pisteLaskuri); 
     285        Add(pisteNaytto); 
     286 
     287        Label pisteTeksti = new Label("Zombies killed: "); 
     288        pisteTeksti.X = Screen.Left + 100; 
     289        pisteTeksti.Y = Screen.Top - 100; 
     290        pisteTeksti.TextColor = Color.Red; 
     291        Add(pisteTeksti); 
     292 
     293    } 
     294    IntMeter pisteLaskuri2; 
     295    void LuoLaskuri2() 
     296    { 
     297        pisteLaskuri2 = new IntMeter(0); 
     298 
     299        Label pisteNaytto2 = new Label(); 
     300        pisteNaytto2.X = Screen.Right - 200; 
     301        pisteNaytto2.Y = Screen.Top - 100; 
     302        pisteNaytto2.TextColor = Color.Red; 
     303 
     304        pisteNaytto2.BindTo(pisteLaskuri2); 
     305        Add(pisteNaytto2); 
     306 
     307        Label pisteTeksti2 = new Label("Zombies killed: "); 
     308        pisteTeksti2.X = Screen.Right -100; 
     309        pisteTeksti2.Y = Screen.Top -20; 
     310        pisteTeksti2.TextColor = Color.Red; 
     311        Add(pisteTeksti2); 
     312 
     313    } 
     314    void pistelaskuri2() 
     315    { 
     316    } 
     317    IntMeter pisteLaskuri3; 
     318    void LuoLaskuri3() 
     319    { 
     320        pisteLaskuri3 = new IntMeter(0); 
     321 
     322        Label pisteNaytto3 = new Label(); 
     323        pisteNaytto3.X = Screen.Right - 200; 
     324        pisteNaytto3.Y = Screen.Bottom + 100; 
     325        
     326        pisteNaytto3.TextColor = Color.Red; 
     327 
     328        pisteNaytto3.BindTo(pisteLaskuri3); 
     329        Add(pisteNaytto3); 
     330 
     331        Label pisteTeksti3 = new Label("Zombies killed: "); 
     332        pisteTeksti3.X = Screen.Right -100; 
     333        pisteTeksti3.Y = Screen.Bottom + 100; 
     334        pisteTeksti3.TextColor = Color.Red; 
     335        Add(pisteTeksti3); 
     336    } 
     337    void pistelaskuri3() 
     338    { 
     339    } 
    180340 
    181341    void LuoPalikka(Vector paikka, double leveys, double korkeus) 
     
    209369    { 
    210370        luoti.Destroy(); 
     371        if (kohde is PeliHahmo) 
     372        { 
     373            PeliHahmo p = (PeliHahmo)kohde; 
     374            p.Elamat--; 
     375            if (p.Elamat < 0) {  
     376                p.Destroy(); 
     377                 
     378                if (luoti.Tag == "pelaaja1") 
     379 
     380 
     381                { 
     382                    pisteLaskuri.Value++; 
     383                     
     384                } 
     385                if (luoti.Tag == "pelaaja2") 
     386                { 
     387                    pisteLaskuri2.Value++; 
     388                } 
     389                if (luoti.Tag == "pelaaja3") 
     390                { 
     391                    pisteLaskuri3.Value++; 
     392                } 
     393            } 
     394        } 
     395 
    211396    } 
    212397 
     
    218403        sampodiego.LinearDamping = 0.950; 
    219404        sampodiego.AngularDamping = 0.8; 
    220         AssaultRifle pyssy = new AssaultRifle(50, 50); 
    221         pyssy.Angle += Angle.FromDegrees(5); 
    222         pyssy.InfiniteAmmo = false; 
    223         pyssy.ProjectileCollision = LuotiOsuu; 
    224         sampodiego.Add(pyssy); 
     405        pyssy2 = new AssaultRifle(50, 50); 
     406        pyssy2.Angle += Angle.FromDegrees(5); 
     407        pyssy2.InfiniteAmmo = true; 
     408        pyssy2.ProjectileCollision = LuotiOsuu; 
     409        sampodiego.Add(pyssy2); 
    225410 
    226411 
     
    232417    void lisäävihollinen(Vector sijainti, double leveys, double korkeus) 
    233418    { 
    234         PhysicsObject vihu = new PhysicsObject(100.0, 150); 
     419        PeliHahmo vihu = new PeliHahmo(100.0, 150); 
     420        vihu.Elamat = 3; 
    235421        vihu.Image = vihunKuva; 
    236422        vihu.LinearDamping = 0.950; 
     
    242428        seuraajaAivot.StopWhenTargetClose = false; 
    243429        seuraajaAivot.Active = true; 
    244         seuraajaAivot.Target = olio; 
     430        int luku = RandomGen.NextInt(0, 2); 
     431        switch (luku) 
     432        { 
     433            case 0: 
     434                seuraajaAivot.Target = olio; 
     435                break; 
     436            case 1: 
     437                seuraajaAivot.Target = sampodiego; 
     438                break; 
     439            default: 
     440                break; 
     441        } 
    245442        vihu.Brain = seuraajaAivot; 
    246443 
    247444 
    248445        vihu.Position = sijainti; 
    249          
    250         
     446 
     447 
    251448        Add(vihu); 
    252449    } 
     
    257454    void lisaavihu() 
    258455    { 
    259         lisäävihollinen(new Vector(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Bottom, Level.Top)), 0, 0);  
    260  
    261  
    262     } 
    263  
    264  
     456 
     457        double x = 0; 
     458        double y = 0; 
     459        bool lahellapelaajaa = true; 
     460        while (lahellapelaajaa) 
     461        { 
     462            x = RandomGen.NextDouble(Level.Left, Level.Right); 
     463            y = RandomGen.NextDouble(Level.Bottom, Level.Top); 
     464            if (Math.Abs(x - olio.X) > 500) 
     465            { 
     466                if (Math.Abs(y - olio.Y) > 500) 
     467                { 
     468                    lahellapelaajaa = false; 
     469                } 
     470            } 
     471        } 
     472 
     473        lisäävihollinen(new Vector(x, y), 0, 0); 
     474 
     475    } 
     476 
     477 
     478 
     479    PhysicsObject luoniko() 
     480    { 
     481        PhysicsObject kolmaspelaaja = new PhysicsObject(100, 50); 
     482        kolmaspelaaja.Image = olionKuva; 
     483        kolmaspelaaja.Size = new Vector(100.0, 150); 
     484        kolmaspelaaja.LinearDamping = 0.950; 
     485        kolmaspelaaja.AngularDamping = 0.8; 
     486        pyssy3 = new AssaultRifle(60, 30); 
     487        pyssy3.Angle += Angle.FromDegrees(5); 
     488        pyssy3.InfiniteAmmo = true; 
     489        pyssy3.ProjectileCollision = LuotiOsuu; 
     490        kolmaspelaaja.Add(pyssy3); 
     491        return kolmaspelaaja; 
     492    } 
    265493 
    266494 
    267495} 
     496 
     497class PeliHahmo : PhysicsObject 
     498{ 
     499    public int Elamat = 3; 
     500 
     501    public PeliHahmo(double leveys, double korkeus) 
     502        : base(leveys, korkeus) 
     503    { 
     504    } 
     505 
     506} 
  • 2011/31/PavelT/gee tee aa ssek/gee tee aa ssek/gee tee aa ssekContent/gee tee aa ssekContent.contentproj

    r2541 r2558  
    6666    </Compile> 
    6767  </ItemGroup> 
     68  <ItemGroup> 
     69    <Compile Include="Darkness of the Unknown.mp3"> 
     70      <Name>Darkness of the Unknown</Name> 
     71      <Importer>Mp3Importer</Importer> 
     72      <Processor>SongProcessor</Processor> 
     73    </Compile> 
     74  </ItemGroup> 
    6875  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    6976  <!--  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.