Changeset 9130 for 2017/utsjoki


Ignore:
Timestamp:
2017-07-26 14:43:13 (22 months ago)
Author:
sieerinn
Message:
 
Location:
2017/utsjoki/JounaL/mailmanympäri/mailmanympäri
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • 2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäri/mailmanympäri.cs

    r9091 r9130  
    77using Jypeli.Widgets; 
    88 
     9 
     10class PeliHahmo : PlatformCharacter 
     11{ 
     12    private IntMeter elamaLaskuri = new IntMeter(10, 0, 10); 
     13    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     14 
     15    public PeliHahmo(double leveys, double korkeus) 
     16        : base(leveys, korkeus) 
     17    { 
     18        elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     19    } 
     20} 
     21 
     22class Olio : PhysicsObject 
     23{ 
     24    private IntMeter elamaLaskuri = new IntMeter(10, 0, 10); 
     25    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     26 
     27    public Olio(double leveys, double korkeus) 
     28        : base(leveys, korkeus) 
     29    { 
     30         
     31    } 
     32} 
     33 
    934public class mailmanympäri : PhysicsGame 
    1035{ 
     
    1338    const int RUUDUN_KOKO = 40; 
    1439 
    15     PlatformCharacter pelaaja1; 
    16  
     40    PeliHahmo pelaaja1; 
     41    Image olionKuva = LoadImage("olio"); 
    1742    Image pelaajanKuva = LoadImage("norsu"); 
    1843    Image tahtiKuva = LoadImage("tahti"); 
    19  
     44    int ostoksiajäljellä = 10; 
    2045    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    21  
     46    Vector aloituspaikka; 
    2247    public override void Begin() 
    2348    { 
     
    3055 
    3156 
    32         Camera.Follow(pelaaja1); 
    33         Camera.ZoomFactor = 1.2; 
    34         Camera.StayInLevel = true; 
     57         
    3558    } 
    3659 
     
    4871    void LisaaOlio(Vector paikka, double leveys, double korkeus) 
    4972    { 
    50         PhysicsObject Olio = new PhysicsObject(leveys, korkeus); 
    51         Olio.Position = paikka; 
    52         Olio.Color = Color.Red; 
     73        Olio olio = new Olio(leveys*2, korkeus*2); 
     74        olio.Position = paikka; 
     75        olio.Color = Color.Red; 
     76        olio.Tag = "olio"; 
     77        olio.Image = LoadImage("olio"); 
    5378 
    5479        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja1); 
     
    6186        // Tapahtuma, joka tapahtuu kun ollaan lähellä kohdetta 
    6287        seuraajanAivot.TargetClose += mitaTapahtuuKunOllaanLahella; 
    63         Olio.Brain = seuraajanAivot; 
    64         Olio.Brain.Active = true; 
    65  
    66         Add(Olio); 
     88        olio.Brain = seuraajanAivot; 
     89        olio.Brain.Active = true; 
     90 
     91        olio.ElamaLaskuri.LowerLimit += delegate 
     92        { 
     93            olio.Destroy(); 
     94 
     95            LisaaTahti(olio.Position + RandomGen.NextVector(0, 20), 40, 40); 
     96            LisaaTahti(olio.Position + RandomGen.NextVector(0, 20), 40, 40); 
     97            LisaaTahti(olio.Position + RandomGen.NextVector(0, 20), 40, 40); 
     98            Timer.SingleShot(180, delegate 
     99            { 
     100                LisaaOlio(paikka, leveys, korkeus); 
     101            }); 
     102        }; 
     103 
     104        Add(olio); 
    67105  
    68106     
     
    96134    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    97135    { 
    98         pelaaja1 = new PlatformCharacter(leveys, korkeus); 
     136        pelaaja1 = new PeliHahmo(leveys, korkeus); 
    99137        pelaaja1.Position = paikka; 
    100138        pelaaja1.Mass = 4.0; 
    101139        pelaaja1.Image = pelaajanKuva; 
    102140        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     141        AddCollisionHandler(pelaaja1, "olio", Tormaaolioon); 
    103142        Add(pelaaja1); 
    104     } 
    105  
     143        aloituspaikka = paikka; 
     144 
     145        Camera.Follow(pelaaja1); 
     146        Camera.ZoomFactor = 1.2; 
     147        Camera.StayInLevel = true; 
     148    } 
     149    void Tormaaolioon(PhysicsObject pelaaja, PhysicsObject olio) 
     150    { 
     151        pelaaja1.ElamaLaskuri.Value -= 1; 
     152        if (pelaaja1.ElamaLaskuri.Value == 0) {/* LisaaPelaaja(aloituspaikka, RUUDUN_KOKO, RUUDUN_KOKO);LisaaNappaimet(); */ ClearAll(); Begin(); } 
     153    } 
    106154    void LisaaNappaimet() 
    107155    { 
     
    146194        Add(Lyönti); 
    147195        AddCollisionHandler(Lyönti, "Taso", lyöntiosuu); 
     196        AddCollisionHandler<PhysicsObject,Olio>(Lyönti, "olio", lyöntiosuuolioon); 
    148197        Lyönti.LifetimeLeft = TimeSpan.FromSeconds(0.2); 
    149198        Lyönti.IgnoresGravity = false; 
     199    } 
     200    void lyöntiosuuolioon(PhysicsObject lyönti, Olio olio) 
     201    { 
     202        olio.ElamaLaskuri.Value -= 1; 
    150203    } 
    151204    void lyöntiosuu(PhysicsObject lyönti, PhysicsObject Taso) 
     
    159212        }); 
    160213    } 
     214 
    161215IntMeter pisteLaskuri; 
    162216 
     
    167221    pisteNaytto.X = Screen.Left + 100; 
    168222    pisteNaytto.Y = Screen.Top - 100; 
    169     pisteNaytto.TextColor = Color.Black; 
    170     pisteNaytto.Color = Color.White; 
    171  
    172     pisteNaytto.BindTo(pisteLaskuri); 
     223    pisteNaytto.TextColor = Color.Red; 
     224    pisteNaytto.Color = Color.Green; 
     225 
     226        Label elamanaytto = new Label(); 
     227        elamanaytto.X = Screen.Left + 100; 
     228        elamanaytto.Y = Screen.Top - 200; 
     229        elamanaytto.TextColor = Color.Azure; 
     230        elamanaytto.Color = Color.BloodRed; 
     231        elamanaytto.BindTo(pelaaja1.ElamaLaskuri); 
     232        Add(elamanaytto); 
     233 
     234        pisteNaytto.BindTo(pisteLaskuri); 
    173235    Add(pisteNaytto); 
    174 } 
     236        PushButton osto = new PushButton("osta"); 
     237        osto.Left = Screen.Left; 
     238        osto.Top = Screen.Top-150; 
     239        Add(osto); 
     240        osto.Clicked += ostaminen; 
     241    } 
     242    void ostaminen() 
     243    { 
     244        
     245            if (pisteLaskuri.Value >= 10) 
     246            { 
     247                if (pelaaja1.ElamaLaskuri.Value < 10) 
     248                { 
     249                    pelaaja1.ElamaLaskuri.Value += 1; 
     250                    pisteLaskuri.Value -= 10; 
     251                } 
     252                else { MessageDisplay.Add("Max hp"); } 
     253                } 
     254            else 
     255            { 
     256                MessageDisplay.Add("ei ole rahaa"); 
     257            } 
     258         
     259    } 
    175260} 
    176261 
     
    229314    aikaNaytto.TextColor = Color.White; 
    230315    aikaNaytto.DecimalPlaces = 1; 
     316 
    231317    aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 
    232318    Add(aikaNaytto); 
    233319} 
    234  
    235320void AikaLoppui() 
    236321{ 
     
    271356}*/ 
    272357 
    273 class Vihu : PhysicsObject 
    274 { 
    275     private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 
    276     public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
    277  
    278     public Vihu(double leveys, double korkeus) 
    279         : base(leveys, korkeus) 
    280     { 
    281         elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
    282    } 
    283     Vihu hemmo = new Vihu(20, 20); 
    284     hemmo.X = -100; 
    285 hemmo.Y = -100; 
    286         // ... 
    287 hemmo.ElamaLaskuri.Value--;  // häviää automaattsiesti jos elämät menee 0:ksi. 
    288         class Vihu : PhysicsObject 
    289     { 
    290         // vihun ominaisuuksia... 
    291     } 
    292  
    293  
    294     public class Peli : PhysicsGame 
    295     { 
    296         // Vanha tuttu Peli-luokka... 
    297     } 
    298     class PeliHahmo : GameObject 
    299     { 
    300         public int Elamat { get; set; } 
    301  
    302         public PeliHahmo(double leveys, double korkeus, double elamia) 
    303             : base(leveys, korkeus) 
    304         { 
    305             Elamat = elamia; 
    306         } 
    307     } 
    308 ... 
    309   PeliHahmo hemmo = new PeliHahmo(20, 20, 3); // koko 20,20, elämiä 3 kpl 
    310 ... 
    311   hemmo.Elamat--; 
    312   if ( hemmo.Elamat <= 0 ) ... // jotakin kun elämät loppuu 
    313         class PeliHahmo : PhysicsObject 
    314     { 
    315         public int Elamat { get; set; } 
    316         public bool OnHidas { get; set; } 
    317         public int KenganNumero { get; set; } 
    318         public int Rahat { get; set; } 
    319         public Vector RespausKoordinaatit { get; set; } 
    320  
    321         public PeliHahmo(double leveys, double korkeus) 
    322             : base(leveys, korkeus) 
    323         { 
    324             Elamat = 3; 
    325             OnHidas = false; 
    326             KenganNumero = 42; 
    327             Rahat = 1000; 
    328             RespausKoordinaatit = Vector.Zero; 
    329         } 
    330     } 
    331  
    332         
     358 
     359//    Vihu hemmo = new Vihu(20, 20); 
     360//    hemmo.X = -100; 
     361//hemmo.Y = -100; 
     362//        // ... 
     363//hemmo.ElamaLaskuri.Value--;  // häviää automaattsiesti jos elämät menee 0:ksi. 
     364//        class Vihu : PhysicsObject 
     365//    { 
     366//        // vihun ominaisuuksia... 
     367//    } 
     368 
     369 
     370//    public class Peli : PhysicsGame 
     371//    { 
     372//        // Vanha tuttu Peli-luokka... 
     373//    } 
     374//    class PeliHahmo : GameObject 
     375//    { 
     376//        public int Elamat { get; set; } 
     377 
     378//        public PeliHahmo(double leveys, double korkeus, double elamia) 
     379//            : base(leveys, korkeus) 
     380//        { 
     381//            Elamat = elamia; 
     382//        } 
     383//    } 
     384//... 
     385//  PeliHahmo hemmo = new PeliHahmo(20, 20, 10); // koko 20,20, elämiä 3 kpl 
     386//... 
     387//  hemmo.Elamat--; 
     388//  if ( hemmo.Elamat <= 0 ) ... // jotakin kun elämät loppuu 
     389 
     390 
     391 
     392 
     393 
     394     
     395     
     396         
     397     
     398 
     399 
  • 2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäri/mailmanympäri.csproj.Debug.cachefile

    r9091 r9130  
    33Content\tahti.xnb 
    44Content\kentta1.xnb 
     5Content\olio.xnb 
  • 2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäri/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml

    r9091 r9130  
    1818      <Options>None</Options> 
    1919      <Output>C:\MyTemp\mailmanympäri\mailmanympäri\mailmanympäri\bin\x86\Debug\Content\norsu.xnb</Output> 
    20       <Time>2017-07-25T11:19:47.2225+03:00</Time> 
     20      <Time>2017-07-26T12:11:15.4984539+03:00</Time> 
    2121    </Item> 
    2222    <Item> 
     
    2727      <Options>None</Options> 
    2828      <Output>C:\MyTemp\mailmanympäri\mailmanympäri\mailmanympäri\bin\x86\Debug\Content\tahti.xnb</Output> 
    29       <Time>2017-07-25T13:23:52.8232429+03:00</Time> 
     29      <Time>2017-07-26T09:52:17.6272416+03:00</Time> 
    3030    </Item> 
    3131    <Item> 
     
    3636      <Options>None</Options> 
    3737      <Output>C:\MyTemp\mailmanympäri\mailmanympäri\mailmanympäri\bin\x86\Debug\Content\kentta1.xnb</Output> 
    38       <Time>2017-07-25T14:17:32.258669+03:00</Time> 
     38      <Time>2017-07-26T14:25:56.3432128+03:00</Time> 
     39    </Item> 
     40    <Item> 
     41      <Source>olio.png</Source> 
     42      <Name>olio</Name> 
     43      <Importer>TextureImporter</Importer> 
     44      <Processor>TextureProcessor</Processor> 
     45      <Options>None</Options> 
     46      <Output>C:\MyTemp\mailmanympäri\mailmanympäri\mailmanympäri\bin\x86\Debug\Content\olio.xnb</Output> 
     47      <Time>2017-07-26T14:22:35.5410374+03:00</Time> 
    3948    </Item> 
    4049    <BuildSuccessful>true</BuildSuccessful> 
  • 2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäri/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt

    r9091 r9130  
    33Content\tahti.xnb 
    44Content\kentta1.xnb 
     5Content\olio.xnb 
  • 2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäri/obj/x86/Debug/mailmanympäri.csproj.FileListAbsolute.txt

    r9091 r9130  
    1111C:\MyTemp\mailmanympÀri\mailmanympÀri\mailmanympÀri\obj\x86\Debug\mailmanympÀri.exe 
    1212C:\MyTemp\mailmanympÀri\mailmanympÀri\mailmanympÀri\obj\x86\Debug\mailmanympÀri.pdb 
     13C:\MyTemp\mailmanympÀri\mailmanympÀri\mailmanympÀri\bin\x86\Debug\Content\olio.xnb 
  • 2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäriContent/kentta1.txt

    r9091 r9130  
    77 
    88 
    9  
    10                                                        # 
    11                                                       ### 
    12                                                      ##### 
    13                                                     ####### 
    14                                                        # 
    15                                                        #      # 
    16                                                        #     ##                                                                                       ############## 
    17                             F                       ##############      F                                                                 ########################## 
    18               N           #####################################################                                                       ############################## 
     9                                                                                                                                                           # 
     10                                                       #                                                                                                  ### 
     11                                                      ###                                                                                                ##### 
     12                                                     #####                                                                                              ####### 
     13                                                    #######                                                                                                # 
     14                                                       #                                                                                                   # 
     15                                                       #      #                                                                                            #   F 
     16                                                       #     ##                                            F                                          ############## 
     17                            F                       ##############                                       ####                            ########################### 
     18              N           #####################################################                   ##############                      ############################## 
    1919#################################################################################################################################################################### 
  • 2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäriContent/mailmanympäriContent.contentproj

    r9091 r9130  
    6767    </Compile> 
    6868  </ItemGroup> 
     69  <ItemGroup> 
     70    <Compile Include="olio.png"> 
     71      <Name>olio</Name> 
     72      <Importer>TextureImporter</Importer> 
     73      <Processor>TextureProcessor</Processor> 
     74    </Compile> 
     75  </ItemGroup> 
    6976  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    7077  <!--  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.