Changeset 4693 for 2013


Ignore:
Timestamp:
2013-07-25 22:20:56 (6 years ago)
Author:
mikrkana
Message:
 
Location:
2013/30/MiskaK
Files:
4 added
6 edited

Legend:

Unmodified
Added
Removed
  • 2013/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/Escape.cs

    r4677 r4693  
    2222    public Vector LaskeutumisPaikka { get; set; } 
    2323 
    24     public const double LASKEUTUMISEEN_VAADITTAVAN_VAPAAN_ALUEEN_HALKAISIJA = 250.0; 
     24    public const double LASKEUTUMISEEN_VAADITTAVAN_VAPAAN_ALUEEN_HALKAISIJA = 50.0; 
    2525 
    2626    private List<Pelaaja> PelaajatPelissa { get; set; } 
     
    4343    { 
    4444        //LaskeutumisPaikka = landingPosition; 
     45        Peli = this; 
    4546        PelaajatPelissa = pelaajat; 
    4647 
     
    6263        OnkoLaskeutumisAlueTyhjaTarkistus.Start(); 
    6364 
    64         Kopteri = new Helikopteri(233, 73, 50, false); // 211, 171 
     65        //Kopteri = new Helikopteri(233, 73, 50, false); // 211, 171 
    6566        //Kopteri.Position =  
     67        //SpawnataankoVihollisia = false; 
    6668 
    6769    } 
     
    7880    { 
    7981        foreach (Pelaaja p in PelaajatPelissa) 
    80             if (!OnkoLaskeutumisAlueenSisapuolella(p.Position)) return; 
     82        { 
     83            if (p != null) 
     84                if (!OnkoLaskeutumisAlueenSisapuolella(p.Position)) return; 
     85        } 
    8186 
    82         foreach (Vihollinen v in VihollisetKentalla) 
    83             if (OnkoLaskeutumisAlueenSisapuolella(v.Position)) return; 
     87        //foreach (Vihollinen v in VihollisetKentalla) 
     88        //{ 
     89        //    if (VihollisetKentalla.Count == 0) return; 
     90        //    if (OnkoLaskeutumisAlueenSisapuolella(v.Position)) return; 
     91        //} 
    8492 
    8593        // Kopteri voi saapua 
    86  
     94        MW2_My_Warfare_2_.Peli.MessageDisplay.Add("[TESTI] Alue " + LASKEUTUMISEEN_VAADITTAVAN_VAPAAN_ALUEEN_HALKAISIJA + " yksikön säteeltä puhdas!"); 
    8795    } 
    8896 
  • 2013/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/Helikopteri.cs

    r4677 r4693  
    9595        ReittiAivot = new PathFollowerBrain(); 
    9696        this.Brain = ReittiAivot; 
     97        this.Destroyed += delegate { KopterinLavat.Destroy(); }; 
    9798    } 
    9899 
  • 2013/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2_My_Warfare_2_.cs

    r4677 r4693  
    244244    { 
    245245        // MediaPlayer.Play("EPIC VICTORY THEME SONG"); 
    246         PimennaRuutua(); 
     246        PimennaRuutua(0.01); 
    247247        MultiSelectWindow voittoIkkuna = new MultiSelectWindow("Pelaaja " + voittanutPelaaja.Numero + " voitti pelin!\n\n" + 
    248248            "Pelaajan 1 tapot: " + pelaajat[0].Tapot + "\n" + 
     
    275275    { 
    276276        MediaPlayer.Play("ZombieGameOverFIX"); 
    277         PimennaRuutua(); 
     277        PimennaRuutua(0.01); 
    278278        MultiSelectWindow havioIkkuna = new MultiSelectWindow("Peli päättyi!\nVihollisia tapettu " + havittyPeli.VihollisiaTapettu + " kpl.\nAikaa kului " + String.Format("{0:00}", havittyPeli.AikaPelinAlusta.CurrentTime) + " sekuntia.", Color.White, "Päävalikkoon", "Lopeta peli"); 
    279279        havioIkkuna.ItemSelected += delegate(int valinta) 
     
    356356    /// <summary> 
    357357    /// Pimennetään ruutua pikku hiljaa. 
    358     /// </summary> 
    359     void PimennaRuutua() 
     358    /// Oletusnopeus 0.01. 
     359    /// </summary> 
     360    public void PimennaRuutua(double nopeus) 
    360361    { 
    361362        Timer ajastin = new Timer(); 
    362363        ajastin.Interval = 0.1; 
    363         ajastin.Timeout += delegate { Level.AmbientLight -= 0.01; }; 
     364        ajastin.Timeout += delegate { 
     365            Level.AmbientLight -= nopeus; 
     366            if (Level.AmbientLight <= 0.0) 
     367            { 
     368                ajastin.Stop(); 
     369                ajastin.Reset(); 
     370            } 
     371        }; 
    364372        ajastin.Start(); 
    365373    } 
     374 
     375    /// <summary> 
     376    /// Kirkastetaan ruutua pikku hiljaa. 
     377    /// </summary> 
     378    public void KirkastaRuutua(double nopeus, double tavoite) 
     379    { 
     380        Timer ajastin = new Timer(); 
     381        ajastin.Interval = 0.1; 
     382        ajastin.Timeout += delegate { 
     383            //if (Level.AmbientLight > 0.1) return; 
     384            Level.AmbientLight += nopeus; 
     385            if (Level.AmbientLight > tavoite) 
     386            { 
     387                ajastin.Stop(); 
     388                ajastin.Reset(); 
     389            } 
     390        }; 
     391        ajastin.Start(); 
     392    } 
     393 
    366394 
    367395    /// <summary> 
     
    483511                ruudut.SetTileMethod(Color.Black, LuoKentanOsa, piikkilankaKuva, "piikkilanka", 5); 
    484512                ruudut.SetTileMethod(Color.Gray, LuoTuhoutuvaKentanOsa, kivenKuva, "kivi", 20, 1.0, 1.0); 
    485                 ruudut.SetTileMethod(Color.DarkRed, LuoLapiMentavaKentanOsa, kivenKuva, "valekivi", 1.0, 1.0, 1); 
     513                ruudut.SetTileMethod(Color.DarkRed, LuoLapiMentavaKentanOsa, kivenKuva, "valekivi", 1.0, 1.0, 1, false); 
    486514                ruudut.SetTileMethod(Color.Orange, LuoTuhoutuvaKentanOsa, pystypuunKuva, "puu", 10, 0.3, 1.0); 
    487515                ruudut.SetTileMethod(Color.Red, LuoKentanOsa, pystypiikkilankaKuva, "piikkilanka", 5); 
     
    489517                //ruudut.SetTileMethod(Color.ForestGreen, LuoLapiMentavaKentanOsa, naamioverkonKuva, "naamioverkko", 1); 
    490518                ruudut.SetTileMethod(Color.Purple, LuoLaatikko); 
    491                 ruudut.SetTileMethod(Color.Yellow, LuoLapiMentavaKentanOsa, seinäSoihdunKuva, "seinäsoihtu", 1.0, 1.0, -1); 
    492                 ruudut.SetTileMethod(Color.Olive, LuoLapiMentavaKentanOsa, valonKuva, "valo", 6.0, 6.0, 1); 
     519                ruudut.SetTileMethod(Color.Yellow, LuoLapiMentavaKentanOsa, seinäSoihdunKuva, "seinäsoihtu", 1.0, 1.0, -1, false); 
     520                ruudut.SetTileMethod(Color.Olive, LuoLapiMentavaKentanOsa, valonKuva, "valo", 6.0, 6.0, 1, false); 
    493521                ruudut.SetTileMethod(Color.Rose, LuoTynnyri); 
    494522                ruudut.SetTileMethod(Color.BloodRed, delegate(Vector p, double w, double h, IntPoint posInLevel) 
     
    511539                // ruudut.SetTileMethod(Color.YellowGreen, LuoLapiMentavaKentanOsa, helikopteriLaskeutumisAlusta, "laskeutumisalusta", 1.0, 1.0, -1); 
    512540                ruudut.SetTileMethod(Color.YellowGreen, delegate(Vector p, double w, double h, IntPoint posInLevel) { 
    513                     LuoLapiMentavaKentanOsa(p, w, h, posInLevel, helikopteriLaskeutumisAlusta, "laskeutumisalusta", 1.0, 1.0, -1); 
     541                    LuoLapiMentavaKentanOsa(p, w, h, posInLevel, helikopteriLaskeutumisAlusta, "laskeutumisalusta", 6.0, 6.0, -1, false); 
    514542                    if (Escape.Peli != null) 
    515543                        Escape.Peli.LaskeutumisPaikka = p; 
    516544                }); 
    517                 ruudut.SetTileMethod(Color.ForestGreen, LuoLapiMentavaKentanOsa, kuusi, "kuusi", 2.0, 2.0, 0); 
     545                ruudut.SetTileMethod(Color.ForestGreen, LuoLapiMentavaKentanOsa, kuusi, "kuusi", 4.0, 4.0, 1, true); 
    518546                ruudut.SetTileMethod(Color.DarkViolet, delegate(Vector p, double w, double h, IntPoint posInLevel) { Blood.AddNormalBlood(p, 5, 1.5); }); 
    519547 
     
    9801008    /// <param name="kuva">Kappaleen kuva.</param> 
    9811009    /// <param name="tag">Kappaleen tagi.</param> 
    982     void LuoLapiMentavaKentanOsa(Vector paikka, double leveys, double korkeus, IntPoint positionInLevelArray, Image kuva, string tag, double leveydenKerroin, double korkeudenKerroin, int layer = -1) 
     1010    void LuoLapiMentavaKentanOsa(Vector paikka, double leveys, double korkeus, IntPoint positionInLevelArray, Image kuva, string tag, double leveydenKerroin, double korkeudenKerroin, int layer, bool satunnainenKulma) 
    9831011    { 
    9841012        GameObject kentanosa = new GameObject(leveys * leveydenKerroin, korkeus * korkeudenKerroin); 
     
    9871015        kentanosa.Position = paikka; 
    9881016        kentanosa.PositionInLevelArray = positionInLevelArray; 
     1017        if (satunnainenKulma) 
     1018            kentanosa.Angle = RandomGen.NextAngle(); 
    9891019        Add(kentanosa, layer); 
    9901020 
     
    10591089        else pilvet.Image = LoadImage("pilvet2"); 
    10601090        pilvet.Tag = "pilvet"; 
    1061         Add(pilvet, 2); 
    1062         Layers[2].RelativeTransition = new Vector(2.0, 2.0); 
     1091        Add(pilvet, 3); 
     1092        Layers[3].RelativeTransition = new Vector(2.0, 2.0); 
    10631093        RandomMoverBrain rb = new RandomMoverBrain(0.3); 
    10641094        pilvet.Brain = rb; 
     
    15081538        Add(valikko); 
    15091539 
    1510         MonestakoVoittaa = new IntMeter(5, 1, 100); 
    1511  
    1512         Slider kuolematJoillaHaviaa = new Slider(300.0, 20.0); 
    1513         kuolematJoillaHaviaa.Position = new Vector(valikko.X, valikko.Y - 200); 
    1514         Add(kuolematJoillaHaviaa); 
    1515         kuolematJoillaHaviaa.BorderColor = Color.Transparent; 
    1516         kuolematJoillaHaviaa.Color = Color.Transparent; 
    1517         kuolematJoillaHaviaa.Knob.Color = Color.Green; 
    1518         kuolematJoillaHaviaa.Track.Color = Color.DarkGreen; 
    1519         kuolematJoillaHaviaa.BindTo(KauankoPuolustetaan); 
    1520         ikkunanKomponentit.Add(kuolematJoillaHaviaa); 
    1521  
    1522         Label kuolematJoillaHaviaaOtsikko = new Label("Tappoja voittoon:"); 
    1523         kuolematJoillaHaviaaOtsikko.Position = new Vector(kuolematJoillaHaviaa.X - kuolematJoillaHaviaa.Width, kuolematJoillaHaviaa.Y); 
    1524         Add(kuolematJoillaHaviaaOtsikko); 
    1525         ikkunanKomponentit.Add(kuolematJoillaHaviaaOtsikko); 
    1526  
    1527         Label kuolematJoillaHaviaaNaytto = new Label(); 
    1528         kuolematJoillaHaviaaNaytto.BindTo(MonestakoVoittaa); 
    1529         kuolematJoillaHaviaaNaytto.Position = new Vector(kuolematJoillaHaviaa.X + kuolematJoillaHaviaa.Width / 1.5, kuolematJoillaHaviaa.Y); 
    1530         Add(kuolematJoillaHaviaaNaytto); 
    1531         ikkunanKomponentit.Add(kuolematJoillaHaviaaNaytto); 
     1540        MonestakoVoittaa = new IntMeter(5, 1, 600); 
     1541 
     1542        Slider puolustusAika = new Slider(300.0, 20.0); 
     1543        puolustusAika.Position = new Vector(valikko.X, valikko.Y - 200); 
     1544        Add(puolustusAika); 
     1545        puolustusAika.BorderColor = Color.Transparent; 
     1546        puolustusAika.Color = Color.Transparent; 
     1547        puolustusAika.Knob.Color = Color.Green; 
     1548        puolustusAika.Track.Color = Color.DarkGreen; 
     1549        puolustusAika.BindTo(KauankoPuolustetaan); 
     1550        ikkunanKomponentit.Add(puolustusAika); 
     1551 
     1552        Label puolustusAikaOtsikko = new Label("Kauanko puolustetaan:"); 
     1553        puolustusAikaOtsikko.Position = new Vector(puolustusAika.X - puolustusAika.Width, puolustusAika.Y); 
     1554        Add(puolustusAikaOtsikko); 
     1555        ikkunanKomponentit.Add(puolustusAikaOtsikko); 
     1556 
     1557        Label puolustusAikaNaytto = new Label(); 
     1558        puolustusAikaNaytto.BindTo(MonestakoVoittaa); 
     1559        puolustusAikaNaytto.Position = new Vector(puolustusAika.X + puolustusAika.Width / 1.5, puolustusAika.Y); 
     1560        Add(puolustusAikaNaytto); 
     1561        ikkunanKomponentit.Add(puolustusAikaNaytto); 
    15321562    } 
    15331563 
     
    15421572        { 
    15431573            case 0: 
     1574                Level.Background.Image = null; 
     1575                ValittuKenttaTiedosto = "copter_rescue_map"; 
     1576                ClearControls(); 
     1577                SoitaMusiikkia(4); // OrcsCome Special 
    15441578                AloitaEscapeGame(1, 1, KauankoPuolustetaan); 
     1579                AsetaOhjaimet(); 
     1580                Partikkelit.PoistaValikkoTaustaPartikkelit(); 
    15451581                break; 
    15461582            case 1: 
     1583                Level.Background.Image = null; 
     1584                ValittuKenttaTiedosto = "copter_rescue_map"; // zombimäppi1 
     1585                ClearControls(); 
     1586                SoitaMusiikkia(4); // OrcsCome Special 
     1587                AloitaEscapeGame(2, 1, KauankoPuolustetaan); 
     1588                AsetaOhjaimet(); 
     1589                Partikkelit.PoistaValikkoTaustaPartikkelit(); 
    15471590                break; 
    15481591            case 2: 
     1592                LuoInfinitePeliMuodonValintaValikko(); 
    15491593                break; 
    15501594             
    15511595        } 
    15521596    } 
    1553  
    15541597 
    15551598    /// <summary> 
     
    18391882            Add(vihu); 
    18401883            Vector paikka; 
     1884            int spawnausYrityksia = 0; 
    18411885            if (peli.KaytetaankoFixedSpawneja && peli.VihollistenFixedSpawnit.Count != 0) 
    18421886            { 
     
    18441888                { 
    18451889                    paikka = RandomGen.SelectOne<Vector>(peli.VihollistenFixedSpawnit); 
     1890                    spawnausYrityksia++; 
     1891                    if (spawnausYrityksia > peli.VihollistenFixedSpawnit.Count * 6) break; // ettei tule loputonta silmukkaa, jos ei ole spawnauspaikkoja 
    18461892                } while (!OnkoNaytonAlueella(paikka)); 
    18471893                vihu.Position = paikka; 
     1894                spawnausYrityksia = 0; 
    18481895            } 
    18491896            else vihu.Position = ArvoSpawnausPaikkaKentanLaidoilta(Vakiot.PALJONKO_VIHOLLISET_SPAWNAAVAT_KENTAN_RAJOJEN_ULKOPUOLELLE); 
     
    18981945        List<Pelaaja> pelaajatList = new List<Pelaaja>(pelaajat); 
    18991946 
     1947        Escape escapeGame = new Escape(respaustenMaara, puolustettavaAika, pelaajatList); 
    19001948        LuoKentta(0, pelaajienMaara, true); 
    1901  
    1902         Escape escapeGame = new Escape(respaustenMaara, puolustettavaAika, pelaajatList); 
    1903  
    19041949        LuoVihollistenMallineet(escapeGame); 
    19051950        escapeGame.PeliPaattyi += InfiniteHavio; 
     
    20212066        tähtäin.LinearDamping = 0.60; 
    20222067        tähtäin.Tag = "tahtain"; 
    2023         Add(tähtäin, 3); 
     2068        Add(tähtäin, 2); 
    20242069        return tähtäin; 
    20252070    } 
     
    23972442            Timer.SingleShot(0.5, delegate { valo.Intensity = 0.0; }); 
    23982443        }; 
    2399         kranaatti.Collided += delegate(IPhysicsObject k, IPhysicsObject kohde) { if (kohde.Tag.ToString() != "pelaaja") kranaatti.Velocity = Vector.Zero; }; 
     2444        kranaatti.Collided += delegate(IPhysicsObject k, IPhysicsObject kohde) { if (kohde.Tag.ToString() != "pelaaja" && kohde.Tag.ToString() != "tahtain") kranaatti.Velocity = Vector.Zero; }; 
    24002445        kranaatti.IsUpdated = true; 
    24012446        kranaatti.NeedsUpdateCall = true; 
     
    26252670    void AsetaSandboxOhjaimet() 
    26262671    { 
    2627         Keyboard.Listen(Key.Space, ButtonState.Pressed, delegate { LuoTuhoutuvaKentanOsa(SijoitaKentanosaRuudukkoon(pelaajat[0].tahtain.Position), 50, 50, null, kivenKuva, "kivi", 20, 1.0, 1.0); }, null); 
     2672        Keyboard.Listen(Key.Space, ButtonState.Pressed, delegate { LuoTuhoutuvaKentanOsa(SijoitaKentanosaRuudukkoon(pelaajat[0].tahtain.Position), 50, 50, new IntPoint(0, 0), kivenKuva, "kivi", 20, 1.0, 1.0); }, null); 
    26282673        Keyboard.Listen(Key.K, ButtonState.Pressed, delegate { LuoKillBall(pelaajat[0].tahtain.Position); }, null); 
    26292674        Keyboard.Listen(Key.T, ButtonState.Pressed, delegate { LuoTynnyri(SijoitaKentanosaRuudukkoon(pelaajat[0].tahtain.Position), 50.0, 50.0, null); }, null); 
     
    26362681 
    26372682        }, null); 
    2638         ControllerOne.Listen(Button.B, ButtonState.Pressed, delegate { LuoTuhoutuvaKentanOsa(SijoitaKentanosaRuudukkoon(pelaajat[1].tahtain.Position), 50, 50, null, kivenKuva, "kivi", 20, 1.0, 1.0); }, null); 
     2683        ControllerOne.Listen(Button.B, ButtonState.Pressed, delegate { LuoTuhoutuvaKentanOsa(SijoitaKentanosaRuudukkoon(pelaajat[1].tahtain.Position), 50, 50, new IntPoint(0, 0), kivenKuva, "kivi", 20, 1.0, 1.0); }, null); 
    26392684        ControllerOne.Listen(Button.Y, ButtonState.Pressed, delegate { LuoTynnyri(SijoitaKentanosaRuudukkoon(pelaajat[1].tahtain.Position), 50.0, 50.0, null); }, null); 
    26402685        ControllerOne.Listen(Button.DPadUp, ButtonState.Pressed, delegate 
  • 2013/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/Pelaaja.cs

    r4580 r4693  
    181181        Tag = "pelaaja"; 
    182182        Mass = 10000; 
     183        IsUpdated = true; 
    183184 
    184185        if (kaytetaankoTaskuLamppua) 
     
    188189            Taskulamppu.Position = this.Position - new Vector(25.0, 0.0); 
    189190            this.Add(Taskulamppu); 
     191            //MW2_My_Warfare_2_.Peli.Add(Taskulamppu, 0); 
    190192        } 
    191193    } 
     
    196198    public void Respawnaa() 
    197199    { 
    198         Game.Add(this); 
     200        Game.Add(this, 1); 
    199201        this.Elamat.Value = Vakiot.PELAAJIEN_ELAMIEN_MAARA; 
    200202        int i = 0; 
     
    209211        this.Hit(new Vector(0.01, 0.01)); 
    210212        KranaattienMaara = Vakiot.PELAAJAN_KRANAATTIEN_OLETUSMAARA; 
     213        if (this.Taskulamppu != null) 
     214            MW2_My_Warfare_2_.Peli.KirkastaRuutua(0.02, 0.7); 
    211215    } 
    212216 
     
    224228        this.KuolemaPaikka = this.Position; 
    225229        Game.Remove(this); 
     230        if (this.Taskulamppu != null) 
     231            MW2_My_Warfare_2_.Peli.PimennaRuutua(0.03); 
    226232    } 
    227233 
     
    340346        this.aikaPoissaKentalta.Value = 5.00; 
    341347    } 
     348 
     349    public override void Update(Time time) 
     350    { 
     351        //Taskulamppu.Position = this.Position + Vector.FromLengthAndAngle(-25.0, this.Angle); 
     352        base.Update(time); 
     353    } 
    342354} 
  • 2013/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)Content/MW2(My Warfare 2)Content.contentproj

    r4677 r4693  
    4444  </ItemGroup> 
    4545  <ItemGroup> 
     46    <Compile Include="copter_rescue_map.png"> 
     47      <Name>copter_rescue_map</Name> 
     48      <Importer>TextureImporter</Importer> 
     49      <Processor>TextureProcessor</Processor> 
     50    </Compile> 
    4651    <Compile Include="testikenttä1.png"> 
    4752      <Name>testikenttä1</Name> 
     
    15401545    <Compile Include="kuusi.png"> 
    15411546      <Name>kuusi</Name> 
    1542       <Importer>TextureImporter</Importer> 
    1543       <Processor>TextureProcessor</Processor> 
    1544     </Compile> 
    1545   </ItemGroup> 
    1546   <ItemGroup> 
    1547     <Compile Include="copter_rescue_map.png"> 
    1548       <Name>copter_rescue_map</Name> 
    15491547      <Importer>TextureImporter</Importer> 
    15501548      <Processor>TextureProcessor</Processor> 
Note: See TracChangeset for help on using the changeset viewer.