Changeset 7575


Ignore:
Timestamp:
2016-06-29 14:58:00 (3 years ago)
Author:
karkaite
Message:
 
Location:
2016/26/RasmusL
Files:
11 added
13 edited

Legend:

Unmodified
Added
Removed
  • 2016/26/RasmusL/ZombiSurvi/ZombiSurvi/ZombiSurvi/ZombiSurvi.cs

    r7562 r7575  
    77using Jypeli.Widgets; 
    88 
     9class Hahmo : PlatformCharacter 
     10{ 
     11    private IntMeter elamaLaskuri; 
     12    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     13 
     14    public Hahmo(double leveys, double korkeus, int elama) 
     15        : base(leveys, korkeus) 
     16    { 
     17        elamaLaskuri = new IntMeter(elama, 0, elama); 
     18        elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     19    } 
     20} 
     21 
    922public class ZombiSurvi : PhysicsGame 
    1023{ 
     
    1326    const int RUUDUN_KOKO = 40; 
    1427 
    15     PlatformCharacter pelaaja1; 
    16  
     28    IntMeter round = new IntMeter(1); 
     29 
     30    Hahmo pelaaja1; 
     31    GameObject tahtain; 
     32 
     33    Image taskulamppu = LoadImage("lampu"); 
    1734    Image pelaajanKuva = LoadImage("hahmo1"); 
    1835    Image zombi = LoadImage("zombi"); 
    1936    Image asekuva = LoadImage("käsiase"); 
    2037    Image panos = LoadImage("panos"); 
    21  
     38    Image tahtainkuva = LoadImage("crosshairs_144"); 
     39    GameObject valo; 
    2240    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     41    Image puukuva = LoadImage("dramaattinenmaa"); 
     42    Image ruohokuva = LoadImage("ruoho"); 
     43    Image kivikuva = LoadImage("maakivi"); 
    2344 
    2445    public override void Begin() 
    2546    { 
    26         Mouse.IsCursorVisible = true; 
     47        Mouse.IsCursorVisible = false; 
    2748        SmoothTextures = false; 
    2849        Gravity = new Vector(0, -1000); 
     
    3051        LuoKentta(); 
    3152        LisaaNappaimet(); 
     53        LuoAikaLaskuri(); 
     54        LuoroundLaskuri(); 
    3255 
    3356        Camera.Follow(pelaaja1); 
    3457        Camera.ZoomFactor = 1.2; 
    35         Camera.StayInLevel = true; 
     58        //Camera.StayInLevel = true; 
    3659    } 
    3760 
     
    4063        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kenttä1"); 
    4164        ruudut.SetTileMethod(Color.FromHexCode("FF0000"), LisaaPelaaja); 
    42         ruudut.SetTileMethod(Color.FromHexCode("000000"), LisaaTaso); 
    43         ruudut.SetTileMethod(Color.FromHexCode("4CFF00"), LisaaTahti); 
     65        ruudut.SetTileMethod(Color.FromHexCode("4FFF51"), LisaaTaso, puukuva); 
     66        ruudut.SetTileMethod(Color.FromHexCode("F5FF49"), LisaaTaso, ruohokuva); 
     67        ruudut.SetTileMethod(Color.FromHexCode("FF388A"), LisaaTaso, kivikuva); 
     68        ruudut.SetTileMethod(Color.FromHexCode("4CFF00"), Lisaazombi); 
     69        ruudut.SetTileMethod(Color.FromHexCode("0037FF"), Lisaazombispawn); 
    4470        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4571        Level.CreateBorders(); 
    4672        Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
    47     } 
    48  
    49     void LisaaTaso(Vector paikka, double leveys, double korkeus) 
     73 
     74        tahtain = new GameObject(100, 100); 
     75        tahtain.Image = tahtainkuva; 
     76        Add(tahtain, 3); 
     77    } 
     78 
     79    void LisaaTaso(Vector paikka, double leveys, double korkeus, Image kuva) 
    5080    { 
    5181        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    5282        taso.Position = paikka; 
    53         taso.Color = Color.Green; 
     83        taso.Image = kuva; 
    5484        Add(taso); 
    5585    } 
    56  
    57     void LisaaTahti(Vector paikka, double leveys, double korkeus) 
    58     { 
    59         PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    60         tahti.IgnoresCollisionResponse = true; 
    61         tahti.Position = paikka; 
    62         tahti.Image = zombi; 
    63         tahti.Tag = "zombi"; 
    64         Add(tahti); 
     86    void Lisaazombispawn(Vector paikka, double leveys, double korkeus) 
     87    { 
     88        Timer spawnAjastin = new Timer(); 
     89        spawnAjastin.Interval = 7; 
     90        spawnAjastin.Timeout += delegate 
     91        { 
     92            if (Vector.Distance(pelaaja1.Position, paikka) > 600 && RandomGen.NextInt(0,100) < round.Value * 10) 
     93            { 
     94                Lisaazombi(paikka, leveys, korkeus); 
     95            }    
     96        }; 
     97        spawnAjastin.Start(); 
     98    } 
     99    void Lisaazombi(Vector paikka, double leveys, double korkeus) 
     100    { 
     101        Hahmo zombi = new Hahmo(leveys, korkeus, round.Value); 
     102        zombi.Position = paikka; 
     103        zombi.Image = this.zombi; 
     104        zombi.Tag = "zombi"; 
     105        Add(zombi); 
     106 
     107        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     108        tasoAivot.Speed = 100; 
     109        tasoAivot.TriesToJump = true; 
     110        tasoAivot.JumpSpeed = 1000; 
     111 
     112        FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); 
     113        seuraajanAivot.Speed = 300; 
     114        seuraajanAivot.DistanceFar = 800; 
     115        seuraajanAivot.FarBrain = tasoAivot; 
     116 
     117        zombi.Brain = seuraajanAivot; 
    65118    } 
    66119 
    67120    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    68121    { 
    69         pelaaja1 = new PlatformCharacter(leveys, korkeus); 
     122        pelaaja1 = new Hahmo(leveys, korkeus, 3); 
    70123        pelaaja1.Position = paikka; 
    71124        pelaaja1.Mass = 4.0; 
    72125        pelaaja1.Image = pelaajanKuva; 
    73       
     126        pelaaja1.Tag = "pelaaja"; 
     127 
    74128        Add(pelaaja1); 
    75129        pelaaja1.Weapon = new AssaultRifle(50, 50); 
    76130        pelaaja1.Weapon.Image = asekuva; 
     131        pelaaja1.Weapon.FireRate = 2; 
    77132        pelaaja1.Weapon.Ammo.Value = 1000; 
    78133        pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
     134        ProgressBar elamaPalkki = new ProgressBar(150, 20); 
     135        elamaPalkki.X = Screen.Left + 150; 
     136        elamaPalkki.Y = Screen.Top - 20; 
     137        elamaPalkki.BindTo(pelaaja1.ElamaLaskuri); 
     138        Add(elamaPalkki); 
     139 
     140        valo = new GameObject(taskulamppu); 
     141        valo.Position = pelaaja1.Position; 
     142        valo.IsVisible = true; 
     143        Add(valo, 3); 
    79144    } 
    80145    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
    81146    { 
    82147        ammus.Destroy(); 
     148 
     149        if (kohde is Hahmo) 
     150        { 
     151            ((Hahmo)kohde).ElamaLaskuri.Value -= 1; 
     152        } 
    83153    } 
    84154    void LisaaNappaimet() 
     
    89159        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    90160        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    91         Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    92  
    93         Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 
     161        Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     162 
     163        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 
    94164 
    95165        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     
    99169        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    100170 
     171 
    101172        Mouse.ListenMovement(0.0, KuunteleLiiketta, null); 
    102173 
     
    107178    { 
    108179        pelaaja1.Weapon.AbsoluteAngle = (Mouse.PositionOnWorld - pelaaja1.Position).Angle; 
     180        valo.AbsoluteAngle = (Mouse.PositionOnWorld - pelaaja1.Position).Angle; 
     181 
     182        tahtain.Position = Mouse.PositionOnWorld; 
     183    } 
     184 
     185    protected override void Update(Time time) 
     186    { 
     187        valo.Position = pelaaja1.Position; 
     188        base.Update(time); 
    109189    } 
    110190 
     
    130210    } 
    131211 
     212    void LuoAikaLaskuri() 
     213    { 
     214        Timer aikaLaskuri = new Timer(); 
     215        aikaLaskuri.Start(); 
     216 
     217        Label aikaNaytto = new Label(); 
     218        aikaNaytto.TextColor = Color.White; 
     219        aikaNaytto.DecimalPlaces = 1; 
     220        aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 
     221        Add(aikaNaytto); 
     222        aikaNaytto.Position = new Vector(930, -470); 
     223    } 
     224 
     225    void LuoroundLaskuri() 
     226    { 
     227        Timer aikaLaskuri = new Timer(); 
     228        aikaLaskuri.Interval = 30; 
     229        aikaLaskuri.Timeout += delegate { round.Value += 1; }; 
     230        aikaLaskuri.Start(); 
     231 
     232        Label roundNaytto = new Label(); 
     233        roundNaytto.TextColor = Color.White; 
     234        roundNaytto.DecimalPlaces = 1; 
     235        roundNaytto.BindTo(round); 
     236        //roundNaytto.Position = new Vector(930, -470); 
     237        Add(roundNaytto); 
     238         
     239    } 
     240 
     241    void LuoVihollinen(Vector paikka, double leveys, double korkeus) 
     242    { 
     243        PhysicsObject vihollinen = new PhysicsObject(leveys, korkeus); 
     244        vihollinen.Position = paikka; 
     245        vihollinen.Tag = "zombi"; 
     246        Add(vihollinen); 
     247    } 
     248 
    132249} 
  • 2016/26/RasmusL/ZombiSurvi/ZombiSurvi/ZombiSurvi/ZombiSurvi.csproj.Debug.cachefile

    r7562 r7575  
    77Content\panos.xnb 
    88Content\zombi.xnb 
     9Content\lampu.xnb 
     10Content\crosshairs_144.xnb 
     11Content\maakivi.xnb 
     12Content\ruoho.xnb 
     13Content\dramaattinenmaa.xnb 
  • 2016/26/RasmusL/ZombiSurvi/ZombiSurvi/ZombiSurvi/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml

    r7562 r7575  
    4545      <Options>None</Options> 
    4646      <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\kenttä1.xnb</Output> 
    47       <Time>2016-06-28T14:15:20.1236529+03:00</Time> 
     47      <Time>2016-06-29T14:50:08.3223215+03:00</Time> 
    4848    </Item> 
    4949    <Item> 
     
    7373      <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\zombi.xnb</Output> 
    7474      <Time>2016-06-28T14:57:28.6883466+03:00</Time> 
     75    </Item> 
     76    <Item> 
     77      <Source>lampu.png</Source> 
     78      <Name>lampu</Name> 
     79      <Importer>TextureImporter</Importer> 
     80      <Processor>TextureProcessor</Processor> 
     81      <Options>None</Options> 
     82      <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\lampu.xnb</Output> 
     83      <Time>2016-06-29T13:35:13.020599+03:00</Time> 
     84    </Item> 
     85    <Item> 
     86      <Source>crosshairs_144.png</Source> 
     87      <Name>crosshairs_144</Name> 
     88      <Importer>TextureImporter</Importer> 
     89      <Processor>TextureProcessor</Processor> 
     90      <Options>None</Options> 
     91      <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\crosshairs_144.xnb</Output> 
     92      <Time>2016-06-29T13:40:46.8074407+03:00</Time> 
     93    </Item> 
     94    <Item> 
     95      <Source>maakivi.jpg</Source> 
     96      <Name>maakivi</Name> 
     97      <Importer>TextureImporter</Importer> 
     98      <Processor>TextureProcessor</Processor> 
     99      <Options>None</Options> 
     100      <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\maakivi.xnb</Output> 
     101      <Time>2016-06-29T14:16:14.5588285+03:00</Time> 
     102    </Item> 
     103    <Item> 
     104      <Source>ruoho.jpg</Source> 
     105      <Name>ruoho</Name> 
     106      <Importer>TextureImporter</Importer> 
     107      <Processor>TextureProcessor</Processor> 
     108      <Options>None</Options> 
     109      <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\ruoho.xnb</Output> 
     110      <Time>2016-06-29T14:16:26.6831065+03:00</Time> 
     111    </Item> 
     112    <Item> 
     113      <Source>dramaattinenmaa.jpg</Source> 
     114      <Name>dramaattinenmaa</Name> 
     115      <Importer>TextureImporter</Importer> 
     116      <Processor>TextureProcessor</Processor> 
     117      <Options>None</Options> 
     118      <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\dramaattinenmaa.xnb</Output> 
     119      <Time>2016-06-29T14:27:07.1569257+03:00</Time> 
    75120    </Item> 
    76121    <BuildSuccessful>true</BuildSuccessful> 
  • 2016/26/RasmusL/ZombiSurvi/ZombiSurvi/ZombiSurvi/obj/x86/Debug/ZombiSurvi.csproj.FileListAbsolute.txt

    r7562 r7575  
    1515C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\panos.xnb 
    1616C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\zombi.xnb 
     17C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\lampu.xnb 
     18C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\crosshairs_144.xnb 
     19C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\maakivi.xnb 
     20C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\ruoho.xnb 
     21C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\dramaattinenmaa.xnb 
  • 2016/26/RasmusL/ZombiSurvi/ZombiSurvi/ZombiSurvi/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt

    r7562 r7575  
    77Content\panos.xnb 
    88Content\zombi.xnb 
     9Content\lampu.xnb 
     10Content\crosshairs_144.xnb 
     11Content\maakivi.xnb 
     12Content\ruoho.xnb 
     13Content\dramaattinenmaa.xnb 
  • 2016/26/RasmusL/ZombiSurvi/ZombiSurvi/ZombiSurviContent/ZombiSurviContent.contentproj

    r7562 r7575  
    9797    </Compile> 
    9898  </ItemGroup> 
     99  <ItemGroup> 
     100    <Compile Include="lampu.png"> 
     101      <Name>lampu</Name> 
     102      <Importer>TextureImporter</Importer> 
     103      <Processor>TextureProcessor</Processor> 
     104    </Compile> 
     105  </ItemGroup> 
     106  <ItemGroup> 
     107    <Compile Include="crosshairs_144.png"> 
     108      <Name>crosshairs_144</Name> 
     109      <Importer>TextureImporter</Importer> 
     110      <Processor>TextureProcessor</Processor> 
     111    </Compile> 
     112  </ItemGroup> 
     113  <ItemGroup> 
     114    <Compile Include="maakivi.jpg"> 
     115      <Name>maakivi</Name> 
     116      <Importer>TextureImporter</Importer> 
     117      <Processor>TextureProcessor</Processor> 
     118    </Compile> 
     119  </ItemGroup> 
     120  <ItemGroup> 
     121    <Compile Include="ruoho.jpg"> 
     122      <Name>ruoho</Name> 
     123      <Importer>TextureImporter</Importer> 
     124      <Processor>TextureProcessor</Processor> 
     125    </Compile> 
     126  </ItemGroup> 
     127  <ItemGroup> 
     128    <Compile Include="dramaattinenmaa.jpg"> 
     129      <Name>dramaattinenmaa</Name> 
     130      <Importer>TextureImporter</Importer> 
     131      <Processor>TextureProcessor</Processor> 
     132    </Compile> 
     133  </ItemGroup> 
    99134  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    100135  <!--  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.