Changeset 9334


Ignore:
Timestamp:
2017-08-02 11:50:53 (2 years ago)
Author:
npo17_89
Message:
 
Location:
2017/31/LeoM/_
Files:
2 added
13 edited

Legend:

Unmodified
Added
Removed
  • 2017/31/LeoM/_/_/_/_.cs

    r9312 r9334  
    77using Jypeli.Widgets; 
    88 
     9 
     10class Vihu : PlatformCharacter 
     11{ 
     12    private IntMeter elamaLaskuri = new IntMeter(15, 0, 15); 
     13    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     14 
     15    public Vihu(double leveys, double korkeus) 
     16        : base(leveys, korkeus) 
     17    { 
     18        elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     19 
     20           } 
     21} 
     22 
     23class Pelaaja : PlatformCharacter 
     24{ 
     25    private IntMeter elamaLaskuri = new IntMeter(5, 0, 5); 
     26    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     27 
     28    public Pelaaja(double leveys, double korkeus) 
     29        : base(leveys, korkeus) 
     30    { 
     31        elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     32         
     33    } 
     34} 
    935public class _ : PhysicsGame 
    1036{ 
    1137    AssaultRifle pelaajan1Ase; 
    1238 
    13  
     39    //AssaultRifle VihunAse; 
    1440    const double nopeus = 200; 
    1541    const double hyppyNopeus = 750; 
    1642    const int RUUDUN_KOKO = 20; 
    1743 
    18     PlatformCharacter pelaaja1; 
     44    Pelaaja pelaaja1; 
    1945    Image palikankuva = LoadImage("palikka"); 
    2046    Image ammuksenkuva = LoadImage("ammus"); 
     
    2349    Image pizzaKuva = LoadImage("pizza"); 
    2450    Image vihukuva = LoadImage("auto"); 
     51    Image paavihukuva = LoadImage("orkki"); 
    2552    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    2653    private PlatformCharacter vihu; 
     54    private Vihu paavihu; 
    2755 
    2856    public override void Begin() 
     
    3765        ClearAll(); 
    3866        Gravity = new Vector(0, -1000); 
    39  
     67         
    4068        LuoKentta(); 
    4169        LisaaNappaimet(); 
     
    5381        kentta.SetTileMethod('p', LisaaPizza); 
    5482        kentta.SetTileMethod('v', LisaaVihu); 
     83        kentta.SetTileMethod('V', LisaaPaaVihu); 
    5584        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    5685        Level.CreateBorders(); 
     
    90119    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    91120    { 
    92         pelaaja1 = new PlatformCharacter(leveys, korkeus); 
     121        pelaaja1 = new Pelaaja(leveys, korkeus); 
    93122        pelaaja1.Position = paikka; 
    94123        pelaaja1.Mass = 4.0; 
     
    96125        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
    97126        AddCollisionHandler(pelaaja1, "pizza", TormaaPizzaan); 
    98          
     127        AddCollisionHandler(pelaaja1, "vihu", TormaaVihuun); 
     128        pelaaja1.Tag = "pelaaja"; 
    99129        Add(pelaaja1); 
    100130        pelaajan1Ase = new AssaultRifle(30, 10); 
     
    102132        pelaajan1Ase.Ammo.Value = 100; 
    103133        pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
     134        pelaaja1.ElamaLaskuri.LowerLimit += delegate  
     135        { 
     136 
     137            Explosion rajahdys = new Explosion(100); 
     138            rajahdys.Position = pelaaja1.Position; 
     139            Add(rajahdys); 
     140            Timer.SingleShot(2, AloitaAlusta); 
     141        }; 
    104142        pelaajan1Ase.IsVisible = false; 
    105143    } 
     144         
     145     
    106146    void LisaaVihu(Vector paikka, double leveys, double korkeus) 
    107147    { 
     
    121161    
    122162    } 
     163    void LisaaPaaVihu(Vector paikka, double leveys, double korkeus) 
     164    { 
     165        paavihu = new Vihu(leveys, korkeus); 
     166        paavihu.Position = paikka; 
     167        paavihu.Mass = 4.0; 
     168        paavihu.Image = paavihukuva; 
     169        Add(paavihu); 
     170        paavihu.Tag = "päävihu"; 
     171        vihu.IgnoresCollisionResponse = false; 
     172 
     173        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     174        tasoAivot.Speed = 50; 
     175 
     176        paavihu.Brain = tasoAivot; 
     177 
     178        paavihu.Weapon = new AssaultRifle(30, 10); 
     179        paavihu.Weapon.Ammo.Value = 1000; 
     180        paavihu.Weapon.ProjectileCollision = VihunAmmusOsui; 
     181        paavihu.Weapon.IsVisible = false; 
     182 
     183 
     184        Timer ajastin = new Timer(); 
     185        ajastin.Interval = 1; 
     186        ajastin.Timeout += delegate 
     187        { 
     188            paavihu.Weapon.AbsoluteAngle = (pelaaja1.Position - paavihu.Position).Angle; 
     189            PhysicsObject ammus = paavihu.Weapon.Shoot(); 
     190 
     191            if (ammus != null) 
     192            { 
     193                //ammus.Size *= 3; 
     194                ammus.Image = ammuksenkuva; 
     195                ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     196                ammus.Velocity *= 0.5; 
     197            } 
     198 
     199            if (paavihu.IsDestroyed) ajastin.Stop(); 
     200              
     201        }; 
     202        ajastin.Start(); 
     203 
     204    } 
     205 
     206    void VihunAmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     207    { 
     208        ammus.Destroy(); 
     209 
     210        if (kohde.Tag == "pelaaja") 
     211        { 
     212            pelaaja1.ElamaLaskuri.Value -= 1; 
     213        } 
     214    } 
     215 
     216 
     217        void TormaaVihuun(PhysicsObject Pelaaja, PhysicsObject vihu) 
     218    { 
     219        pelaaja1.Destroy(); 
     220        Explosion rajahdys = new Explosion(50); 
     221        rajahdys.Position = pelaaja1.Position; 
     222        Add(rajahdys); 
     223        Timer.SingleShot(2, AloitaAlusta); 
     224        MessageDisplay.Add("jäit auton alle!"); 
     225    } 
    123226 
    124227    private void AddCollisionHandler(PlatformCharacter vihu, PlatformCharacter pelaaja1) 
     
    137240            Add(rajahdys); 
    138241        } 
     242        if (kohde.Tag == "päävihu") 
     243        { 
     244            (kohde as Vihu).ElamaLaskuri.Value -= 1; 
     245        } 
    139246    } 
    140247 
     
    148255            ammus.Image = ammuksenkuva; 
    149256            ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     257            ammus.Velocity *= 0.5; 
    150258        } 
    151259    } 
     
    156264        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    157265 
    158         Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    159         Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    160         Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     266        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
     267        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
     268        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    161269 
    162270        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
  • 2017/31/LeoM/_/_/_/_.csproj.Debug.cachefile

    r9312 r9334  
    88Content\auto.xnb 
    99Content\ammus.xnb 
     10Content\orkki.xnb 
  • 2017/31/LeoM/_/_/_/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml

    r9312 r9334  
    3636      <Options>None</Options> 
    3737      <Output>C:\MyTemp\LeoM\_\_\_\bin\x86\Debug\Content\kentta1.xnb</Output> 
    38       <Time>2017-08-01T14:33:24.4937121+03:00</Time> 
     38      <Time>2017-08-02T11:17:31.7113896+03:00</Time> 
    3939    </Item> 
    4040    <Item> 
     
    8282      <Output>C:\MyTemp\LeoM\_\_\_\bin\x86\Debug\Content\ammus.xnb</Output> 
    8383      <Time>2017-08-01T14:45:34.5157926+03:00</Time> 
     84    </Item> 
     85    <Item> 
     86      <Source>orkki.png</Source> 
     87      <Name>orkki</Name> 
     88      <Importer>TextureImporter</Importer> 
     89      <Processor>TextureProcessor</Processor> 
     90      <Options>None</Options> 
     91      <Output>C:\MyTemp\LeoM\_\_\_\bin\x86\Debug\Content\orkki.xnb</Output> 
     92      <Time>2017-08-02T10:19:05.160032+03:00</Time> 
    8493    </Item> 
    8594    <BuildSuccessful>true</BuildSuccessful> 
  • 2017/31/LeoM/_/_/_/obj/x86/Debug/_.csproj.FileListAbsolute.txt

    r9312 r9334  
    1616C:\MyTemp\LeoM\_\_\_\bin\x86\Debug\Content\auto.xnb 
    1717C:\MyTemp\LeoM\_\_\_\bin\x86\Debug\Content\ammus.xnb 
     18C:\MyTemp\LeoM\_\_\_\bin\x86\Debug\Content\orkki.xnb 
  • 2017/31/LeoM/_/_/_/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt

    r9312 r9334  
    88Content\auto.xnb 
    99Content\ammus.xnb 
     10Content\orkki.xnb 
  • 2017/31/LeoM/_/_/_Content/_Content.contentproj

    r9312 r9334  
    102102    </Compile> 
    103103  </ItemGroup> 
     104  <ItemGroup> 
     105    <Compile Include="orkki.png"> 
     106      <Name>orkki</Name> 
     107      <Importer>TextureImporter</Importer> 
     108      <Processor>TextureProcessor</Processor> 
     109    </Compile> 
     110  </ItemGroup> 
    104111  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    105112  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2017/31/LeoM/_/_/_Content/kentta1.txt

    r9312 r9334  
    44         ##                      v                                   v 
    55                                     #########                          ############                  #### 
    6        *    * 
    7        ##  ##                                                                                                    v                                                             # 
    8                                             #####                                       ####                      #########                                                        # 
    9      *        *        ###                                 *                                                                                                                  # 
    10      ##  ##  ##                                         ######                                                                                                                 # 
    11                                                                                                    ####                                       v                                    # 
    12    *    *  *    *             ###                                                                                                    ######                                    # 
    13    ##  ##  ##  ##                            v                                   v    *****                                                                                    # 
    14                                            #####                             ############                                                                                      # 
    15  *    *       *   *                              pppp                                                                vv                             v                     v v  # 
    16  ##  ##  ##  ##  ##              #####                                                                    ####################################################       ########## 
    17                                                         ###### 
    18         n      v 
    19 ######################pppppppppppppp ######ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp       pppppppppp 
    20 ############################################################################################################################################################ 
    21  
    22                                                                                                                                                             ############ 
     6       *    *                                                                                                                                                                  ** 
     7       ##  ##                                                                                                    v                                                             ###   *  
     8                                            #####                                       ####                      #########                                                        ###p    # 
     9     *        *        ###                                 *                                                                                                                  #######p    # 
     10     ##  ##  ##                                         ######                                                                                                                 ###p 
     11                                                                                                   ####                                       v                                   #######p             ###### 
     12   *    *  *    *             ###                                                                                                    ######                                    ###p                                ##### 
     13   ##  ##  ##  ##                            v                                   v    *****                                                                                    ###p                                           
     14                                           #####                             ############                                                                                      ###                       #### 
     15 *    *       *   *                  v           pppp                                                                vv                             v                     v   ### 
     16# ##  ##  ##  ##  ##             #####                    v ***                                           ####################################################       ########## ##             ### 
     17#                                                       ######                                                                                                                                                                         
     18#    n           v                                                                                 ###                                                                                                                              ###                                               ### 
     19######################pppppppppppppp ######ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp       pppppppppp        ###                                         ###                                               ### 
     20############################################################################################################################################################                                                                       ###           V                                  l### 
     21                                                                                                                                                                             v                                                     ##################################################### 
     22                                                                                                                                                            ################################ 
Note: See TracChangeset for help on using the changeset viewer.