Changeset 2102 for 2011/24/EliasY


Ignore:
Timestamp:
2011-06-17 12:44:04 (8 years ago)
Author:
elalylon
Message:

VALMIS!!! Pientä viimeistelyä kuitenkin tarvitaan.

Location:
2011/24/EliasY/Pixel Quest/Pixel Quest
Files:
2 added
3 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • 2011/24/EliasY/Pixel Quest/Pixel Quest/Pixel Quest/Peli.cs

    r2080 r2102  
    1515    Image hallitsijankuva = LoadImage("Hallitsija"); 
    1616    Image vihollinen = LoadImage("Vihu"); 
    17     Image paahivollinen = LoadImage("Paavihu"); 
     17    Image paavihollinen = LoadImage("Paavihu"); 
    1818    Image paatalo = LoadImage("Paatalo"); 
    1919    Image paatalo_katto_kuva = LoadImage("Paatalo_katto"); 
     
    2323    PhysicsObject vihu; 
    2424    PhysicsObject paavihu; 
    25     PhysicsObject paatalo_katto; 
    2625    PhysicsObject paatalo_vasen_seina; 
    2726    PhysicsObject paatalo_yla_seina; 
     
    2928    PhysicsObject paatalo_ala_seina; 
    3029    PhysicsObject Talo; 
     30    PhysicsObject ammus; 
    3131    GameObject Paatalo_pohja; 
    3232    GameObject tie; 
    3333    Vector ylos = new Vector(0, 200); 
    34     int pelinkulku = 0; 
     34    Vector ammuylos = new Vector(0, 1000); 
     35    Vector ammualas = new Vector(0, -1000); 
     36    Vector ammuoikealle = new Vector(1000, 0); 
     37    Vector ammuvasemmalle = new Vector(-1000, 0); 
     38    FollowerBrain vihunaivot; 
     39    FollowerBrain paavihunaivot; 
     40    int pelinkulku = 1; 
    3541    int pelaajanelamat = 5; 
     42    int paavihunelamat = 5; 
     43    int montakovihualuotu = 0; 
     44    bool kuolematon = false; 
     45    bool voikoampua = true; 
    3646    public override void Begin() 
    3747    { 
     
    6272        MessageDisplay.TextColor = Color.LightBlue; 
    6373 
    64         IsFullScreen = true; 
     74        IsFullScreen = false; 
    6575 
    6676        LuoTie(1600, 30, 0, 0); 
     
    7585        Camera.Follow(Pelaaja); 
    7686 
    77         LuoKyla(0, 200); 
     87        LuoKyla(-700, -700); 
     88        LuoKyla(550, 800); 
     89        LuoKyla(380, -680); 
    7890        LuoOlennot(); 
    7991    } 
     
    98110        Pelaaja = new PhysicsObject(10,10); 
    99111        Pelaaja.Image = pelaajankuva; 
     112        Pelaaja.CollisionIgnoreGroup = 1; 
    100113        Pelaaja.Shape = Shape.FromImage(pelaajankuva); 
    101114        Pelaaja.CanRotate = false; 
     
    114127        Keyboard.Listen(Key.D, ButtonState.Pressed, LiikuOikealle, "Liikuta Pelaajaa oikealle."); 
    115128        Keyboard.Listen(Key.D, ButtonState.Released, PysaytaX, null); 
     129        Keyboard.Listen(Key.Space, ButtonState.Pressed, Ammu, "Ammu."); 
    116130        Keyboard.Listen(Key.M, ButtonState.Pressed, Kartta, "Näytä kartta"); 
    117131        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
     
    169183        LuoTalo(paatalonsijaintiX - 100, paatalonsijaintiY - 150); 
    170184 
    171         LuoViholliset(Paatalo_pohja.X - 75, Paatalo_pohja.Y - 150); 
     185        LuoViholliset(Paatalo_pohja.X - 75, Paatalo_pohja.Y - 150, Paatalo_pohja.X, Paatalo_pohja.Y); 
    172186    } 
    173187    void LuoTalo(double x, double y) 
     
    179193        Add(Talo); 
    180194    } 
    181     void LuoViholliset(double x, double y) 
    182     { 
    183         FollowerBrain vihunaivot = new FollowerBrain(); 
     195    void LuoViholliset(double x, double y, double paaX, double paaY) 
     196    { 
     197        while (montakovihualuotu < 4) 
     198        { 
     199        vihunaivot = new FollowerBrain(); 
    184200        vihunaivot.Target = Pelaaja; 
    185         vihunaivot.TargetFollowDistance = 100; 
    186         vihunaivot.Speed = 70; 
     201        vihunaivot.TargetFollowDistance = 250; 
     202        vihunaivot.Speed = 60; 
    187203        vihunaivot.TargetCloseDistance = 15; 
    188204        vihunaivot.TargetClose += Damage1; 
     
    192208        vihu.Image = vihollinen; 
    193209        vihu.Brain = vihunaivot; 
    194         vihu.X = x + RandomGen.NextDouble(-40, 40); 
    195         vihu.Y = y + RandomGen.NextDouble(-40, 40); 
     210        vihu.X = x + RandomGen.NextDouble(-35, 35); 
     211        vihu.Y = y + RandomGen.NextDouble(-35, 35); 
     212        vihu.Tag = "perusvihu"; 
    196213 
    197214        Add(vihu); 
     215 
     216        montakovihualuotu += 1; 
     217        } 
     218 
     219        montakovihualuotu = 0; 
     220 
     221        paavihunaivot = new FollowerBrain(); 
     222        paavihunaivot.Target = Pelaaja; 
     223        paavihunaivot.TargetFollowDistance = 100; 
     224        paavihunaivot.Speed = 80; 
     225        paavihunaivot.TargetCloseDistance = 15; 
     226        paavihunaivot.TargetClose += Damage2; 
     227        paavihunaivot.Active = true; 
     228 
     229        paavihu = new PhysicsObject(25, 25); 
     230        paavihu.Image = paavihollinen; 
     231        paavihu.Brain = paavihunaivot; 
     232        paavihu.X = paaX + RandomGen.NextDouble(-50, 50); 
     233        paavihu.Y = paaY + RandomGen.NextDouble(-50, 50); 
     234        paavihu.Tag = "paavihu"; 
     235 
     236        Add(paavihu); 
    198237    } 
    199238    #region Liikunta 
    200239    void LiikuYlos() 
    201240    { 
    202         Vector ylos = new Vector(0, 200); 
     241        Vector ylos = new Vector(0, 100); 
    203242        Pelaaja.Angle = Angle.FromDegrees(0); 
    204243        Pelaaja.Hit(ylos); 
     
    206245    void LiikuAlas() 
    207246    { 
    208         Vector alas = new Vector(0, -200); 
     247        Vector alas = new Vector(0, -100); 
    209248        Pelaaja.Angle = Angle.FromDegrees(180); 
    210249        Pelaaja.Hit(alas); 
     
    212251    void LiikuVasemmalle() 
    213252    { 
    214         Vector vasemmalle = new Vector(-200, 0); 
     253        Vector vasemmalle = new Vector(-100, 0); 
    215254        Pelaaja.Angle = Angle.FromDegrees(90); 
    216255        Pelaaja.Hit(vasemmalle); 
     
    218257    void LiikuOikealle() 
    219258    { 
    220         Vector oikealle = new Vector(200, 0); 
     259        Vector oikealle = new Vector(100, 0); 
    221260        Pelaaja.Angle = Angle.FromDegrees(270); 
    222261        Pelaaja.Hit(oikealle); 
     
    242281        } 
    243282    } 
     283    void Ammu() 
     284    { 
     285        if (voikoampua == true) 
     286        { 
     287        ammus = new PhysicsObject(1, 1, Shape.Rectangle); 
     288        ammus.Position = Pelaaja.Position + Vector.FromLengthAndAngle(4, Pelaaja.Angle); 
     289        ammus.CollisionIgnoreGroup = 1; 
     290        ammus.Color = Color.Black; 
     291        AddCollisionHandler(ammus, vihuDamage); 
     292        Add(ammus); 
     293        Timer.SingleShot(0.5, VoiAmpua); 
     294        voikoampua = false; 
     295        if (Pelaaja.Angle == Angle.FromDegrees(0)) 
     296        { 
     297            ammus.Hit(ammuylos); 
     298        } 
     299        else if (Pelaaja.Angle == Angle.FromDegrees(90)) 
     300        { 
     301            ammus.Hit(ammuvasemmalle); 
     302        } 
     303        else if (Pelaaja.Angle == Angle.FromDegrees(180)) 
     304        { 
     305            ammus.Hit(ammualas); 
     306        } 
     307        else if (Pelaaja.Angle == Angle.FromDegrees(270)) 
     308        { 
     309            ammus.Hit(ammuoikealle); 
     310        } 
     311        } 
     312    } 
     313    void vihuDamage(PhysicsObject ammus, PhysicsObject kohde) 
     314    { 
     315        if (kohde.Tag.ToString() == "perusvihu") 
     316        { 
     317            kohde.Brain.Active = false; 
     318            kohde.Destroy(); 
     319            ammus.Destroy(); 
     320        } 
     321        else if (kohde.Tag.ToString() == "paavihu") 
     322        { 
     323        paavihunelamat -= 1; 
     324        ammus.Destroy(); 
     325        if (paavihunelamat == 0) 
     326        { 
     327            kohde.Brain.Active = false; 
     328            kohde.Destroy(); 
     329            pelinkulku += 1; 
     330        } 
     331        } 
     332    } 
    244333    void Tormays(PhysicsObject pelaaja, PhysicsObject kohde) 
    245334    { 
    246335        if (kohde.Tag.ToString() == "hallitsija") 
    247336        { 
    248             if (pelinkulku == 0) 
     337            if (pelinkulku == 1) 
    249338            { 
    250339                MessageDisplay.Add("Hallitsija: Lähde matkaan, ja valtaa takaisin erilaisten olioiden hallussaan pitämät kylät!"); 
    251                 MessageDisplay.Add("Sinun kannattaa aloittaa kylien valtaaminen lähtemällä länteen."); 
    252                 pelinkulku++; 
    253             } 
    254             if (pelinkulku == 1) 
    255             { 
    256                  
     340                MessageDisplay.Add("Sinun kannattaa aloittaa kylien valtaaminen lähtemällä tietä pitkin länteen, ja kääntymällä risteyksestä etelään."); 
    257341            } 
    258342            if (pelinkulku == 2) 
    259343            { 
    260                 MessageDisplay.Add("Hallitsija: Kiitos, olet vallannut ensimmäisen kylän takaisin!Se ei kuitenkaan vielä riitä..."); 
     344                MessageDisplay.Add("Hallitsija: Kiitos, olet vallannut ensimmäisen kylän takaisin!Se ei kuitenkaan vielä riitä."); 
     345                MessageDisplay.Add("Lähde itään, ja käänny ensin pohjoiseen ja sitten länteen"); 
    261346            } 
    262347            if (pelinkulku == 3) 
    263348            { 
    264                 MessageDisplay.Add("Hallitsija: Hyvää työtä, mutta kyliä on silti vielä valtaamatta."); 
     349                MessageDisplay.Add("Hallitsija: Hyvää työtä, mutta yksi kylä on silti vielä valtaamatta."); 
     350                MessageDisplay.Add("Viimeisen kylän löydät kulkemalla itään ja kääntymällä risteyksestä etelään.") 
    265351            } 
    266352        } 
     
    268354    void Damage1(object lahettajaAivot, EventArgs e) 
    269355    { 
     356        if (kuolematon == false) 
     357        { 
    270358        pelaajanelamat -= 1; 
    271359        MessageDisplay.Add("Elämät" + pelaajanelamat); 
     360        kuolematon = true; 
     361        Timer.SingleShot(1,TeeKuolevaiseksi); 
     362        } 
    272363        if (pelaajanelamat == 0) 
    273364        { 
     
    276367        } 
    277368    } 
     369    void Damage2(object lahettajaAivot, EventArgs e) 
     370    { 
     371        if (kuolematon == false) 
     372        { 
     373            pelaajanelamat -= 2; 
     374            MessageDisplay.Add("Elämät" + pelaajanelamat); 
     375            kuolematon = true; 
     376            Timer.SingleShot(1, TeeKuolevaiseksi); 
     377        } 
     378        if (pelaajanelamat == 0) 
     379        { 
     380            Pelaaja.Destroy(); 
     381            MessageDisplay.Add("KUOLIT!!! Peli alkoi uudestaan."); 
     382        } 
     383    } 
     384    void TeeKuolevaiseksi() 
     385    { 
     386        kuolematon = false; 
     387    } 
     388    void VoiAmpua() 
     389    { 
     390        voikoampua = true; 
     391    } 
    278392} 
  • 2011/24/EliasY/Pixel Quest/Pixel Quest/Pixel QuestContent/Pixel QuestContent.contentproj

    r2080 r2102  
    8383      <Processor>TextureProcessor</Processor> 
    8484    </Compile> 
    85     <Compile Include="Paatalo_katto.bmp"> 
    86       <Name>Paatalo_katto</Name> 
     85  </ItemGroup> 
     86  <ItemGroup> 
     87    <Compile Include="Talo.bmp"> 
     88      <Name>Talo</Name> 
    8789      <Importer>TextureImporter</Importer> 
    8890      <Processor>TextureProcessor</Processor> 
    8991    </Compile> 
    90     <Compile Include="Paavihu.bmp"> 
    91       <Name>Paavihu</Name> 
    92       <Importer>TextureImporter</Importer> 
    93       <Processor>TextureProcessor</Processor> 
    94     </Compile> 
    95     <Compile Include="Vihu.bmp"> 
     92  </ItemGroup> 
     93  <ItemGroup> 
     94    <Compile Include="Vihu.png"> 
    9695      <Name>Vihu</Name> 
    9796      <Importer>TextureImporter</Importer> 
     
    10099  </ItemGroup> 
    101100  <ItemGroup> 
    102     <Compile Include="Talo.bmp"> 
    103       <Name>Talo</Name> 
     101    <Compile Include="Paavihu.png"> 
     102      <Name>Paavihu</Name> 
    104103      <Importer>TextureImporter</Importer> 
    105104      <Processor>TextureProcessor</Processor> 
Note: See TracChangeset for help on using the changeset viewer.