Changeset 5864 for 2015/23/ToukoA


Ignore:
Timestamp:
2015-06-03 19:48:07 (4 years ago)
Author:
toolala
Message:
 
Location:
2015/23/ToukoA/HotlineVihti
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • 2015/23/ToukoA/HotlineVihti/FatalShot.sln

    r5862 r5864  
    66Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FatalShot", "FatalShot\FatalShot\FatalShot.csproj", "{F5C489A3-5921-4837-8ED2-2CD78E6DDA08}" 
    77EndProject 
    8 Project("{96E2B04D-8817-42C6-938A-82C39BA4D311}") = "FatalShotContent", "FatalShot\FatalShotContent\FatalShotContent.contentproj", "{F6DE48BE-F57A-42CE-A8B6-8D1334DF830E}" 
     8Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FatalShotContent", "FatalShot\FatalShotContent\FatalShotContent.contentproj", "{F6DE48BE-F57A-42CE-A8B6-8D1334DF830E}" 
    99EndProject 
    1010Global 
  • 2015/23/ToukoA/HotlineVihti/FatalShot/FatalShot/FatalShot.cs

    r5862 r5864  
    1313    Image poliisiAmpuuKuva = LoadImage ("pelaajav1"); 
    1414        Image poliisinKuva = LoadImage ("pelaajav1"); 
     15    Image mp5 = LoadImage ("mp5"); 
     16    Image pistooli = LoadImage ("pistooli"); 
    1517 
    1618    Image veriLantti = LoadImage ("verilantti"); 
     
    2022    Vector nopeusVasen = new Vector(-500, 0); 
    2123    AssaultRifle pelaajan1Ase; 
    22     LaserGun pelaajan1Ase2; 
     24    AssaultRifle pelaajan1Ase2; 
     25    AssaultRifle pelaajan1Ase3; 
     26    bool pelikaynnissa = true; 
    2327 
    2428    PhysicsObject asetrigger; 
     
    2731 
    2832    int ammovalue = 45; 
    29     int ammo2value = 150; 
    30  
     33    //int ammo2value = 150; 
     34    bool haulikkovalmiina = true; 
    3135    int ruudunKoko = 40; 
    3236 
     
    4044        kentta.SetTileMethod('%', luoPelaaja); 
    4145        kentta.SetTileMethod('#', lisaaTaso1); 
     46         
    4247        kentta.Execute(ruudunKoko, ruudunKoko); 
    4348 
     
    4550        kentta2.SetTileMethod('&', luoPahis); 
    4651        kentta2.SetTileMethod('/', VaihdaAse2); 
     52        kentta2.SetTileMethod('H', VaihdaAse3); 
    4753        kentta2.Execute(ruudunKoko, ruudunKoko); 
    4854 
    4955        Mouse.Listen(MouseButton.Left, ButtonState.Down, Ammu, "Ammu", pelaajan1Ase); 
    50         Mouse.Listen(MouseButton.Left, ButtonState.Down, Ammu2, "Ammu", pelaajan1Ase2); 
     56        Mouse.Listen(MouseButton.Left, ButtonState.Down, Ammu3, null, pelaajan1Ase3); 
    5157 
    5258        //Mouse.Listen(MouseButton.Middle, ButtonState.Pressed, VaihdaAse, "Vaihda ase"); 
     
    6672        Keyboard.Listen(Key.R, ButtonState.Pressed, aloitaAlusta, "Aloita alusta"); 
    6773 
     74        Timer hauliajastin = new Timer(); 
     75        hauliajastin.Interval = 1; 
     76        hauliajastin.Timeout += delegate() 
     77        { 
     78            haulikkovalmiina = true; 
     79        }; 
     80 
     81        hauliajastin.Start(); 
     82 
     83 
    6884        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää"); 
    6985        Camera.ZoomFactor = 1.4; 
     
    7490    void VaihdaAse2(Vector paikka, double leveys, double korkeus) 
    7591    { 
    76         LisaaAseTrigger(paikka, leveys, korkeus, "ase2"); 
    77     }     
    78     void LisaaAseTrigger(Vector paikka, double leveys, double korkeus, string tagiNimi) 
    79     { 
    80         asetrigger = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     92        LisaaAseTrigger(paikka, leveys, korkeus, "ase2", mp5); 
     93    } 
     94 
     95    void VaihdaAse3(Vector paikka, double leveys, double korkeus) 
     96    { 
     97        LisaaAseTrigger(paikka, leveys, korkeus, "ase3", mp5); 
     98    } 
     99 
     100    void LisaaAseTrigger(Vector paikka, double leveys, double korkeus, string tagiNimi, Image kuva) 
     101    { 
     102        asetrigger = PhysicsObject.CreateStaticObject(20, 20); 
    81103        asetrigger.IgnoresCollisionResponse = true; 
    82104        asetrigger.Tag = tagiNimi; 
    83105        asetrigger.Position = paikka; 
     106        asetrigger.Image = kuva; 
    84107        Add(asetrigger); 
    85108 
     
    90113    void aloitaAlusta() 
    91114    { 
     115        pelikaynnissa = true; 
    92116        ClearAll(); 
    93117        Begin(); 
     118         
    94119        //vaihdettujo = false; 
    95120    } 
    96121 
     122    void Ammu3(AssaultRifle ase3) 
     123    { 
     124        PhysicsObject ammus = ase3.Shoot(); 
     125 
     126        if (ammus != null) 
     127        { 
     128            ase3.Power.DefaultValue = 350; 
     129            ase3.FireRate = 5; 
     130            ammus.Size *= 0.45; 
     131        } 
     132        /*if (haulikkovalmiina && pelikaynnissa) 
     133        { 
     134            for (int i = 0; i < 6; i++) 
     135            { 
     136 
     137 
     138                PhysicsObject hauli = new PhysicsObject(2, 2); 
     139                hauli.Shape = Shape.Ellipse; 
     140                hauli.Color = Color.Yellow; 
     141                hauli.Position = pelaaja1.Position; 
     142                //Vector suunta = (Mouse.PositionOnWorld - pelaajan1Ase.AbsolutePosition); 
     143                Vector impulssi = Vector.FromLengthAndAngle(70000, (pelaajan1Ase.Angle + (RandomGen.NextAngle(Angle.FromDegrees(-15), Angle.FromDegrees(15))))); 
     144                //hauli.Angle = RandomGen.NextAngle(Angle.FromDegrees(-45), Angle.FromDegrees(45)); 
     145                Add(hauli); 
     146                hauli.MaximumLifetime = TimeSpan.FromSeconds(0.2); 
     147                AddCollisionHandler(hauli, "paha", AmmusOsui); 
     148                AddCollisionHandler(hauli, "seina", CollisionHandler.DestroyObject); 
     149 
     150                hauli.Push(impulssi); 
     151                haulikkovalmiina = false; 
     152            } 
     153        }*/ 
     154    } 
     155 
    97156    void Ammu(AssaultRifle ase) 
    98157    { 
    99         PhysicsObject ammus = ase.Shoot(); 
     158        /*PhysicsObject ammus = ase.Shoot(); 
    100159 
    101160        if (ammus != null) 
     
    103162            ase.Power.DefaultValue = 450; 
    104163            ase.FireRate = 10; 
    105             ammus.Size *= 0.25; 
     164 
     165            ammus.Size *= 0.45; 
    106166            ammus.MaximumLifetime = TimeSpan.FromSeconds(4); 
    107              
     167 
     168        }*/ 
     169 
     170        if (haulikkovalmiina && pelikaynnissa) 
     171        { 
     172            for (int i = 0; i < 10; i++) 
     173            { 
     174 
     175 
     176                PhysicsObject hauli = new PhysicsObject(2, 2); 
     177                hauli.Shape = Shape.Ellipse; 
     178                hauli.Color = Color.Yellow; 
     179                hauli.Position = pelaaja1.Position; 
     180                //Vector suunta = (Mouse.PositionOnWorld - pelaajan1Ase.AbsolutePosition); 
     181                Vector impulssi = Vector.FromLengthAndAngle(70000, (pelaajan1Ase.Angle + (RandomGen.NextAngle(Angle.FromDegrees(-35), Angle.FromDegrees(35))))); 
     182                //hauli.Angle = RandomGen.NextAngle(Angle.FromDegrees(-45), Angle.FromDegrees(45)); 
     183                Add(hauli); 
     184                hauli.MaximumLifetime = TimeSpan.FromSeconds(0.2); 
     185                AddCollisionHandler(hauli, "paha", AmmusOsui); 
     186                AddCollisionHandler(hauli, "seina", CollisionHandler.DestroyObject); 
     187 
     188                hauli.Push(impulssi); 
     189                haulikkovalmiina = false; 
     190            } 
    108191        } 
    109192 
     
    128211        taso.Color = Color.Cyan; 
    129212        taso.KineticFriction = 0; 
     213        taso.Tag = "seina"; 
    130214        Add(taso); 
    131215    } 
     
    138222        pelaaja1.Shape = Shape.Circle; 
    139223        pelaaja1.Restitution = 0; 
    140         pelaaja1.CanRotate = false; 
     224        pelaaja1.CanRotate = false; ; 
    141225        pelaaja1.Tag = "hyva"; 
    142226 
    143         pelaajan1Ase2 = new LaserGun(30, 10); 
    144         pelaajan1Ase2.Ammo.Value = ammo2value; 
     227        pelaajan1Ase2 = new AssaultRifle(30, 10); 
     228        pelaajan1Ase2.Ammo.Value = ammovalue; 
    145229        pelaajan1Ase2.ProjectileCollision = AmmusOsui; 
     230        //pelaaja1.Aseet.Add(pelaajan1Ase2); 
     231         
     232         
    146233 
    147234        pelaajan1Ase = new AssaultRifle(30, 10); 
    148235        pelaajan1Ase.Ammo.Value = ammovalue; 
    149236        pelaajan1Ase.ProjectileCollision = AmmusOsui; 
     237        pelaajan1Ase.Image = pistooli; 
     238        //pelaaja1.Aseet.Add(pelaajan1Ase); 
     239        //pelaajan1Ase.X -= 8; 
     240 
     241        pelaajan1Ase3 = new AssaultRifle(30, 10); 
     242        pelaajan1Ase3.Ammo.Value = 6; 
     243        pelaajan1Ase3.ProjectileCollision = AmmusOsui; 
     244        pelaajan1Ase3.Image = pistooli; 
     245 
     246        //pelaaja1.Aseet.Add(pelaajan1Ase3); 
    150247 
    151248        AddCollisionHandler(pelaaja1, "ase2", ase2); 
    152249 
     250        AddCollisionHandler(pelaaja1, "ase3", ase3); 
     251 
    153252        pelaaja1.Add(pelaajan1Ase); 
     253 
     254        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää"); 
    154255 
    155256        pelaaja1.Ase = pelaajan1Ase; 
    156257        pelaaja1.Ase2 = pelaajan1Ase2; 
    157  
     258        //pelaaja1.Ase3 = pelaajan1Ase3; 
    158259        Add(pelaaja1); 
     260 
    159261    } 
    160262 
     
    188290    } 
    189291 
     292    void ase3(PhysicsObject pelaaja1, PhysicsObject ase3) 
     293    { 
     294        pelaaja1.Remove(pelaajan1Ase); 
     295        pelaaja1.Remove(pelaajan1Ase2); 
     296 
     297        pelaaja1.Add(pelaajan1Ase3); 
     298 
     299        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää"); 
     300    } 
     301 
    190302    void luoPahis(Vector paikka, double leveys, double korkeus) 
    191303    { 
     
    207319        pahis.Add(pahisAse); 
    208320 
     321        AddCollisionHandler(pahis, seinatormays); 
     322 
    209323        pahis.Brain = seuraajaAivot; 
    210324        seuraajaAivot.Active = true; 
    211325        seuraajaAivot.Speed = 500; 
    212326        seuraajaAivot.DistanceClose = 150; 
    213         seuraajaAivot.DistanceFar = 500; 
    214  
    215         seuraajaAivot.FarBrain = randomAivot; 
     327        seuraajaAivot.DistanceFar = 250; 
     328 
     329        randomAivot.Speed = 500; 
     330 
     331 
     332 
     333        LabyrinthWandererBrain labyrinttiAivot = new LabyrinthWandererBrain(ruudunKoko); 
     334        labyrinttiAivot.Speed = 100.0; 
     335        labyrinttiAivot.LabyrinthWallTag = "seina"; 
     336 
     337        seuraajaAivot.FarBrain = labyrinttiAivot; 
    216338        seuraajaAivot.TargetClose += delegate { pahisAmpuu(pahisAse, pahis); }; 
    217339        seuraajaAivot.StopWhenTargetClose = true; 
     
    220342        Add(pahis); 
    221343 
     344    } 
     345 
     346    void seinatormays(PhysicsObject pahis, PhysicsObject kohde) 
     347    { 
     348        //Vector impulssi = new Vector(500.0, 500.0); 
     349        //pahis.Hit(impulssi); 
    222350    } 
    223351 
     
    252380    void Tahtaa(AnalogState hiirenLiike) 
    253381    { 
     382         
    254383        Vector suunta = (Mouse.PositionOnWorld - pelaajan1Ase.AbsolutePosition).Normalize(); 
    255384        pelaajan1Ase.Angle = suunta.Angle; 
     
    257386        Vector suunta2 = (Mouse.PositionOnWorld - pelaajan1Ase2.AbsolutePosition).Normalize(); 
    258387        pelaajan1Ase2.Angle = suunta2.Angle; 
     388 
     389        Vector suunta3 = (Mouse.PositionOnWorld - pelaajan1Ase3.AbsolutePosition).Normalize(); 
     390        pelaajan1Ase3.Angle = suunta3.Angle;  
     391         
     392        /*foreach (Weapon ase in pelaaja1.Aseet) 
     393        { 
     394            Vector suunta = (Mouse.PositionOnWorld - ase.AbsolutePosition).Normalize(); 
     395            ase.Angle = suunta.Angle; 
     396        }*/ 
    259397    } 
    260398 
     
    275413            Add(rajahdys); 
    276414 
    277             LisaaAseTrigger(kohde.Position, ruudunKoko, ruudunKoko, "ase2"); 
     415            LisaaAseTrigger(kohde.Position, ruudunKoko, ruudunKoko, "ase2", pistooli); 
    278416 
    279417             
     
    296434            (kohde as Hyvis).Ase.Destroy(); 
    297435            (kohde as Hyvis).Destroy(); 
     436            pelikaynnissa = false; 
    298437        } 
    299438 
  • 2015/23/ToukoA/HotlineVihti/FatalShot/FatalShot/Hyvis.cs

    r5862 r5864  
    1212    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
    1313 
    14     private LaserGun ase2 = new LaserGun(10, 10); 
    15     public LaserGun Ase2 
     14    private AssaultRifle ase2 = new AssaultRifle(10, 10); 
     15    public AssaultRifle Ase2 
    1616    { 
    1717        get 
     
    3838    } 
    3939 
     40    /*private AssaultRifle ase3 = new AssaultRifle(10, 10); 
     41    public AssaultRifle Ase3 
     42    { 
     43        get 
     44        { 
     45            return ase3; 
     46        } 
     47        set 
     48        { 
     49            ase3 = value; 
     50        } 
     51    } 
     52 
     53    private List<Weapon> aseet = new List<Weapon>(); 
     54    public List<Weapon> Aseet 
     55    { 
     56        get 
     57        { 
     58            return aseet; 
     59        } 
     60        set 
     61        { 
     62            if (value != null) 
     63            { 
     64                aseet = value; 
     65            } 
     66        } 
     67    }*/ 
     68 
    4069    public Hyvis(double leveys, double korkeus) 
    4170        : base(leveys, korkeus) 
  • 2015/23/ToukoA/HotlineVihti/FatalShot/FatalShotContent/FatalShotContent.contentproj

    r5862 r5864  
    6666    </Compile> 
    6767  </ItemGroup> 
     68  <ItemGroup> 
     69    <Compile Include="mp5.png"> 
     70      <Name>mp5</Name> 
     71      <Importer>TextureImporter</Importer> 
     72      <Processor>TextureProcessor</Processor> 
     73    </Compile> 
     74  </ItemGroup> 
     75  <ItemGroup> 
     76    <Compile Include="pistooli.png"> 
     77      <Name>pistooli</Name> 
     78      <Importer>TextureImporter</Importer> 
     79      <Processor>TextureProcessor</Processor> 
     80    </Compile> 
     81  </ItemGroup> 
    6882  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    6983  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2015/23/ToukoA/HotlineVihti/FatalShot/FatalShotContent/kentta.txt

    r5862 r5864  
    11#################################################### 
    22#........................##......#....#...&........# 
    3 #.# .&...............#...##......#....#.......&....# 
     3#.# .&...............#...##......#....#............# 
    44#%#......&...........#...##......#.........&.......# 
    5 #.#...&..............#...##......#....#............# 
    6 #....................#...##......#....#....&...&...# 
    7 #....................#...##..&...#....#....&..&....# 
    8 #..........&.......#.....##......#....#....&.......# 
     5#H#...&..............#...##......#....#............# 
     6#....................#...##......#....#........&...# 
     7#....................#...##..&...#....#............# 
     8#..................#.....##......#.........&.......# 
    99#..................#.............#....############## 
    1010#........................##......#.................# 
    1111#................&.......##......#....#............# 
    1212#........&...............##..&...#....#...&........# 
    13 #........................##......#....#............# 
     13#........................##......#.................# 
    1414#..............&.........##......#....############## 
    1515#........................##...........#..../.......# 
    16 #........................##........................# 
     16#........................##...........&............# 
    1717####################################################  
Note: See TracChangeset for help on using the changeset viewer.