Changeset 6735 for 2015/27/SanteriK


Ignore:
Timestamp:
2015-07-02 11:39:47 (4 years ago)
Author:
saveviku
Message:
 
Location:
2015/27/SanteriK/Hundreddays
Files:
5 added
19 edited

Legend:

Unmodified
Added
Removed
  • 2015/27/SanteriK/Hundreddays/Hundreddays/Hundreddays/Hundreddays.cs

    r6685 r6735  
    1414    Image groundImage = LoadImage("lattia"); 
    1515    Image zombinkuva = LoadImage("zombie"); 
    16  
    17  
     16    Image valonkuva = LoadImage("valo"); 
     17    Image laatikonkuva = LoadImage("laatikko"); 
    1818    PhysicsObject ukkeli2; 
    1919    PhysicsObject ukkeli1; 
     
    2222    //Kuinka nopeasti ukkeli liikkuu maksimissaan 
    2323    double maxLiikkuminen = 1800.0; 
     24    int AmmuksetLaatikosta = 100; 
    2425 
    2526    AssaultRifle ase; 
     
    5152        ruudut.SetTileMethod(Color.FromHexCode("4CFF00"), LuoPelaaja2); 
    5253        ruudut.SetTileMethod(Color.FromHexCode("FF0000"), Luozombi); 
     54        ruudut.SetTileMethod(Color.FromHexCode("FF006E"), Luolaatikko); 
    5355        ruudut.SetTileMethod(Color.Black, LuoTaso); 
    5456        ruudut.SetTileMethod(Color.Gray, LuoLattia); 
    5557        ruudut.Execute(20, 20); 
    5658        Camera.ZoomToLevel(); 
     59        GameObject pimeys = new GameObject(Level.Width,Level.Height); 
     60        pimeys.Color = new Color(0, 0, 0, 100); 
     61        Add(pimeys,2); 
     62 
    5763    } 
    5864    void LuoTaso(Vector paikka, double leveys, double korkeus) 
     
    8389 
    8490        FollowerBrain seuraajanAivot = new FollowerBrain("ukkeli"); 
     91        seuraajanAivot.TurnWhileMoving = true; 
    8592        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(); 
    8693        seuraajanAivot.Speed = 50;                 // Millä nopeudella kohdetta seurataan 
    8794        seuraajanAivot.DistanceFar = 150;           // Etäisyys jolla aletaan seurata kohdetta 
    88          
     95        seuraajanAivot.TurnWhileMoving = true; 
    8996        seuraajanAivot.FarBrain = satunnaisAivot;   // Käytetään satunnaisaivoja kun ollaan kaukana 
    9097        satunnaisAivot.ChangeMovementSeconds = 3; 
     
    93100        zombi.Brain = seuraajanAivot; 
    94101 
    95         
     102        Timer nakyvyysAjastin = new Timer(); 
     103        nakyvyysAjastin.Interval = 0.05; 
     104        nakyvyysAjastin.Timeout += delegate { TarkistaNakyvyys(zombi); }; 
     105        nakyvyysAjastin.Start(); 
    96106    } 
    97107 
     
    126136    void AmmuAseella(AssaultRifle ase) 
    127137    { 
     138        if (ase.Parent.IsDestroyed) 
     139        { 
     140            return; 
     141        } 
    128142        PhysicsObject ammus = ase.Shoot(); 
    129143 
     
    151165        ukkeli.Color = Color.Red; 
    152166        ukkeli.Tag = "ukkeli"; 
    153         Add(ukkeli); 
     167        Add(ukkeli,3); 
     168 
    154169 
    155170        AddCollisionHandler(ukkeli, "zombi", PelaajaosuuVihuun); 
    156171 
     172        GameObject valo = new GameObject(200, 200); 
     173        valo.X = 100; 
     174        valo.Image = valonkuva; 
     175        ukkeli.Add(valo); 
     176 
    157177        LuoLattia(paikka, leveys, korkeus); 
    158178 
     
    163183    { 
    164184        ukkeli1 = LuoPelaaja(paikka, leveys, korkeus); 
     185 
    165186        ase = new AssaultRifle(30, 10); 
    166187 
     
    172193        ukkeli1.Add(ase); 
    173194 
     195        AddCollisionHandler(ukkeli1, "laatikko", delegate(PhysicsObject a, PhysicsObject b) 
     196        { 
     197            b.Destroy(); 
     198            ase.Ammo.Value += AmmuksetLaatikosta; 
     199        }); 
     200 
    174201    } 
    175202 
     
    186213        ukkeli2.Add(ase2); 
    187214 
     215        AddCollisionHandler(ukkeli2, "laatikko", delegate(PhysicsObject a, PhysicsObject b) 
     216        { 
     217            b.Destroy(); 
     218            ase2.Ammo.Value += AmmuksetLaatikosta; 
     219        }); 
     220 
     221    } 
     222    void Luolaatikko(Vector paikka, double leveys, double korkeus) 
     223    { 
     224        PhysicsObject laatikko = new PhysicsObject(leveys,korkeus); 
     225        laatikko.Image = laatikonkuva; 
     226        laatikko.Position = paikka; 
     227        laatikko.Tag = "laatikko"; 
     228        Add(laatikko); 
    188229    } 
    189230    void PelaajaosuuVihuun(PhysicsObject ukkeli,PhysicsObject zombi ) 
    190231    { 
    191232        ukkeli.Destroy(); 
     233    } 
     234 
     235    void TarkistaNakyvyys(GameObject olio) 
     236    { 
     237        PhysicsObject[] ukkelit = { ukkeli1, ukkeli2 }; 
     238 
     239        int valonPituus = 150; 
     240        int valonKulma = 45; 
     241 
     242        bool piilossa = true; 
     243        foreach (var ukkeli in ukkelit) 
     244        { 
     245            if (ukkeli.IsDestroyed) 
     246                continue; 
     247 
     248            if (Math.Abs((olio.Position - ukkeli.Position).Angle.Degrees - ukkeli.Angle.Degrees) < valonKulma && Vector.Distance(olio.Position, ukkeli.Position) < valonPituus) 
     249            { 
     250                piilossa = false; 
     251                break; 
     252            } 
     253        } 
     254 
     255        olio.IsVisible = !piilossa; 
    192256    } 
    193257} 
  • 2015/27/SanteriK/Hundreddays/Hundreddays/Hundreddays/Hundreddays.csproj.Debug.cachefile

    r6612 r6735  
    77Content\zombie1.xnb 
    88Content\ukkeli2.xnb 
     9Content\valo.xnb 
     10Content\laatikko.xnb 
  • 2015/27/SanteriK/Hundreddays/Hundreddays/Hundreddays/obj/x86/Debug/Hundreddays.csproj.FileListAbsolute.txt

    r6612 r6735  
    1515C:\MyTemp\santeriK\Hundreddays\Hundreddays\Hundreddays\obj\x86\Debug\Hundreddays.pdb 
    1616C:\MyTemp\santeriK\Hundreddays\Hundreddays\Hundreddays\bin\x86\Debug\Content\ukkeli2.xnb 
     17C:\MyTemp\SanteriK\Hundreddays\Hundreddays\Hundreddays\bin\x86\Debug\Content\valo.xnb 
     18C:\MyTemp\SanteriK\Hundreddays\Hundreddays\Hundreddays\bin\x86\Debug\Content\laatikko.xnb 
  • 2015/27/SanteriK/Hundreddays/Hundreddays/Hundreddays/obj/x86/Debug/cachefile-{C1114E9D-1591-4DC8-8A7E-521487466790}-targetpath.txt

    r6612 r6735  
    77Content\zombie1.xnb 
    88Content\ukkeli2.xnb 
     9Content\valo.xnb 
     10Content\laatikko.xnb 
  • 2015/27/SanteriK/Hundreddays/Hundreddays/HundreddaysContent/HundreddaysContent.contentproj

    r6685 r6735  
    100100    </Compile> 
    101101  </ItemGroup> 
     102  <ItemGroup> 
     103    <Compile Include="laatikko.png"> 
     104      <Name>laatikko</Name> 
     105      <Importer>TextureImporter</Importer> 
     106      <Processor>TextureProcessor</Processor> 
     107    </Compile> 
     108  </ItemGroup> 
    102109  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    103110  <!--  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.