Changeset 6448


Ignore:
Timestamp:
2015-06-26 11:31:56 (4 years ago)
Author:
frmaenpa
Message:
 
Location:
2015/26/FransM/Pixels
Files:
3 added
19 edited

Legend:

Unmodified
Added
Removed
  • 2015/26/FransM/Pixels/Pixels/Pixels/Pixels.cs

    r6270 r6448  
    99public class Pixels : PhysicsGame 
    1010{ 
     11    int ruudunkoko = 60; 
    1112    Image taustakuva = LoadImage("Taustakuva"); 
    1213    Image tasoKuva = LoadImage("Maa"); 
     
    2021    Image alinkuva = LoadImage("Alin"); 
    2122    Image ruohokuva = LoadImage("Maapalaruoholla"); 
    22     Image alempikuva = LoadImage("Alempi");  
    23  
     23    Image alempikuva = LoadImage("Alempi"); 
     24    Image kivi3kuva = LoadImage("Kivi3"); 
     25    Image pommikuva = LoadImage("TNT"); 
     26    Image plutoniumkuva = LoadImage("plutonium"); 
     27    Image kukkakuva = LoadImage("Kukka"); 
     28    Image seinakuva2 = LoadImage(""); 
     29 
     30    Inventory inventory; 
    2431  
    2532    public override void Begin() 
     
    2835      
    2936        SmoothTextures = false; 
    30          
    31         //Inventory test = new Inventory(); 
    32         //test.AddItem(new PhysicsObject(porakuva), porakuva); 
    33         //Add(test); 
     37 
     38        inventory = new Inventory(); 
     39        inventory.Left = Screen.Left+ 100; 
     40        Add(inventory); 
     41 
     42        for (int i = 0; i < 10; i++) 
     43        { 
     44            inventory.AddItem(new PhysicsObject(pommikuva), pommikuva); 
     45        } 
    3446 
    3547        MediaPlayer.Play("CaveMusicX"); 
     
    5264        ruudut.SetTileMethod(Color.FromHexCode("00FF21"), LuoTaso6); 
    5365        ruudut.SetTileMethod(Color.FromHexCode("FF6A00"), LuoTaso7); 
    54        // ruudut.SetTileMethod(Color.FromHexCode("7F3300"), LuoTaso8); 
    55  
    56          
    57         ruudut.Execute(60, 60); 
     66        ruudut.SetTileMethod(Color.FromHexCode("7F3300"), LuoTaso8); 
     67        ruudut.SetTileMethod(Color.FromHexCode("B6FF00"), LuoTaso9); 
     68 
     69        ruudut.Execute(ruudunkoko, ruudunkoko); 
    5870        Level.Background.FitToLevel(); 
    5971 
     
    7082            } 
    7183        }, ""); 
     84         
    7285        IsFullScreen = true; 
    73  
    74  
    75     } 
     86    } 
     87 
    7688    void EsineValitsin(Vector paikka) 
    7789    { 
     
    7991        if (arpa <= 50) 
    8092        { 
    81             EsineLuoja(paikka, "Pora"); 
     93            EsineLuoja(paikka, "TNT"); 
     94        } 
     95        else if (arpa <= 70)  
     96        { 
     97            EsineLuoja(paikka, "plutonium"); 
    8298        } 
    8399        else 
    84100        { 
    85  
    86         } 
    87     } 
     101            EsineLuoja(paikka, "Kukka"); 
     102        } 
     103        
     104 
     105    } 
     106 
    88107    void EsineLuoja(Vector paikka, String tag) 
    89108    { 
    90         GameObject esine = new GameObject(LoadImage(tag)); 
     109        PhysicsObject esine = PhysicsObject.CreateStaticObject(LoadImage(tag)); 
    91110        esine.Position = paikka; 
     111        esine.Tag = "esine"; 
    92112        Add(esine, 1); 
     113    } 
     114 
     115    void rajayta(PhysicsObject taso) 
     116    { 
     117        bool voikaivaa = false; 
     118        Vector[] suunnat = { new Vector(-1, 0), new Vector(1, 0), new Vector(0, -1), new Vector(0, 1) }; 
     119 
     120        foreach (var suunta in suunnat) 
     121        { 
     122            GameObject palikka = GetObjectAt(taso.Position + suunta * ruudunkoko); 
     123            if (palikka == null) 
     124            { 
     125                voikaivaa = true; 
     126                break; 
     127            } 
     128 
     129      
     130        } 
     131 
     132        if (voikaivaa && inventory.Objects.Count > 0) 
     133        { 
     134            inventory.Objects.Remove(inventory.Objects[0]); 
     135 
     136            Explosion rajahdys = new Explosion(ruudunkoko); 
     137            rajahdys.Position = taso.Position; 
     138            rajahdys.ShockwaveReachesObject += PaineaaltoOsuu; 
     139            Add(rajahdys); 
     140            taso.Destroy(); 
     141        } 
     142    } 
     143 
     144    void PaineaaltoOsuu(IPhysicsObject olio, Vector shokki) 
     145    { 
     146        if (olio.Tag.Equals("esine") && !olio.IsDestroyed) 
     147        { 
     148            inventory.AddItem((PhysicsObject)olio, olio.Image); 
     149        } 
     150 
     151        olio.Destroy(); 
    93152    } 
    94153 
     
    100159        taso.CollisionIgnoreGroup = 1; 
    101160        Add(taso); 
     161 
     162        Mouse.ListenOn(taso, MouseButton.Left, ButtonState.Pressed, delegate { rajayta(taso); }, null); 
    102163    } 
    103164 
     
    114175            EsineValitsin(paikka); 
    115176        } 
     177 
     178        Mouse.ListenOn(taso2, MouseButton.Left, ButtonState.Pressed, delegate { rajayta(taso2); }, null); 
    116179    } 
    117180 
     
    123186        taso3.CollisionIgnoreGroup = 1; 
    124187        Add(taso3); 
     188 
     189        if (RandomGen.NextInt(0, 100) < 20) 
     190        { 
     191            EsineValitsin(paikka); 
     192        } 
     193 
     194        Mouse.ListenOn(taso3, MouseButton.Left, ButtonState.Pressed, delegate { rajayta(taso3); }, null); 
    125195    } 
    126196 
     
    128198    { 
    129199        PhysicsObject taso4 = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     200        taso4.IgnoresExplosions = true; 
    130201        taso4.Position = paikka; 
    131202        taso4.Image = seinakuva; 
    132203        taso4.CollisionIgnoreGroup = 1; 
    133204        Add(taso4); 
     205 
     206 
    134207    } 
    135208 
     
    141214        taso5.CollisionIgnoreGroup = 1; 
    142215        Add(taso5); 
     216 
     217        Mouse.ListenOn(taso5, MouseButton.Left, ButtonState.Pressed, delegate { rajayta(taso5); }, null); 
    143218    } 
    144219 
     
    151226        taso6.CollisionIgnoreGroup = 1; 
    152227        Add(taso6); 
     228 
     229        Mouse.ListenOn(taso6, MouseButton.Left, ButtonState.Pressed, delegate { rajayta(taso6); }, null); 
    153230    } 
    154231 
     
    160237        taso7.CollisionIgnoreGroup = 1; 
    161238        Add(taso7); 
    162     } 
     239 
     240        Mouse.ListenOn(taso7, MouseButton.Left, ButtonState.Pressed, delegate { rajayta(taso7); }, null); 
     241    } 
     242 
     243    void LuoTaso8(Vector paikka, double leveys, double korkeus) 
     244    { 
     245        PhysicsObject taso8 = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     246        taso8.Position = paikka; 
     247        taso8.Image = kivi3kuva; 
     248        taso8.CollisionIgnoreGroup = 1; 
     249        Add(taso8); 
     250 
     251        Mouse.ListenOn(taso8, MouseButton.Left, ButtonState.Pressed, delegate { rajayta(taso8); }, null); 
     252    } 
     253 
     254    void LuoTaso9(Vector paikka, double leveys, double korkeus)  
     255    { 
     256        PhysicsObject taso9 = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     257        taso9.Position = paikka; 
     258        taso9.Image = kivi3kuva; 
     259        taso9.CollisionIgnoreGroup = 1; 
     260        Add(taso9); 
     261    } 
     262 
    163263} 
    164264 
    165  
    166 /// <summary> 
    167 /// Esinevalikko. 
    168 /// </summary> 
    169265class Inventory : Widget 
    170266{ 
     
    178274    /// </summary> 
    179275    public Inventory() 
    180         : base(new HorizontalLayout()) 
     276        : base(new VerticalLayout()) 
    181277    { 
    182278    } 
     
    186282    /// </summary> 
    187283    /// <param name="item">Lisättävä esine.</param> 
    188     /// <param name="kuva">Esineen ikoni, joka näkyy valikossa.</param> 
     284    ///<param name="kuva">Esineen ikoni, joka näkyy valikossa.</param> 
    189285    public void AddItem(PhysicsObject item, Image kuva) 
    190286    { 
    191         PushButton icon = new PushButton(kuva); 
     287        PushButton icon = new PushButton(100, 100, kuva); 
     288  
    192289        Add(icon); 
    193290        icon.Clicked += delegate() { SelectItem(item); }; 
  • 2015/26/FransM/Pixels/Pixels/Pixels/Pixels.csproj.Debug.cachefile

    r6270 r6448  
    1414Content\CaveMusicX.xnb 
    1515Content\Kivi3.xnb 
     16Content\Kukka.xnb 
    1617Content\CaveMusicX.wma 
  • 2015/26/FransM/Pixels/Pixels/Pixels/obj/x86/Debug/ContentPipeline-{23DE9823-17E1-4AFC-BB04-6AA018C329F7}.xml

    r6270 r6448  
    99      <Options>None</Options> 
    1010      <Output>C:\MyTemp\FransM\Pixels\Pixels\Pixels\bin\x86\Debug\Content\Taustakuva.xnb</Output> 
    11       <Time>2015-06-24T14:12:49.0725085+03:00</Time> 
     11      <Time>2015-06-26T10:43:21.851757+03:00</Time> 
    1212    </Item> 
    1313    <Item> 
     
    1818      <Options>None</Options> 
    1919      <Output>C:\MyTemp\FransM\Pixels\Pixels\Pixels\bin\x86\Debug\Content\Maa.xnb</Output> 
    20       <Time>2015-06-24T14:27:19.3271527+03:00</Time> 
     20      <Time>2015-06-26T11:31:16.561157+03:00</Time> 
    2121    </Item> 
    2222    <Item> 
     
    7272      <Options>None</Options> 
    7373      <Output>C:\MyTemp\FransM\Pixels\Pixels\Pixels\bin\x86\Debug\Content\Kivi.xnb</Output> 
    74       <Time>2015-06-23T13:41:05.0241499+03:00</Time> 
     74      <Time>2015-06-26T11:03:08.055357+03:00</Time> 
    7575    </Item> 
    7676    <Item> 
     
    136136      <Options>None</Options> 
    137137      <Output>C:\MyTemp\FransM\Pixels\Pixels\Pixels\bin\x86\Debug\Content\Kivi3.xnb</Output> 
    138       <Time>2015-06-24T14:29:42.0358536+03:00</Time> 
     138      <Time>2015-06-26T09:13:47.1790065+03:00</Time> 
     139    </Item> 
     140    <Item> 
     141      <Source>Kukka.png</Source> 
     142      <Name>Kukka</Name> 
     143      <Importer>TextureImporter</Importer> 
     144      <Processor>TextureProcessor</Processor> 
     145      <Options>None</Options> 
     146      <Output>C:\MyTemp\FransM\Pixels\Pixels\Pixels\bin\x86\Debug\Content\Kukka.xnb</Output> 
     147      <Time>2015-06-26T11:11:34.598157+03:00</Time> 
    139148    </Item> 
    140149    <BuildSuccessful>true</BuildSuccessful> 
  • 2015/26/FransM/Pixels/Pixels/Pixels/obj/x86/Debug/Pixels.csproj.FileListAbsolute.txt

    r6270 r6448  
    2323C:\MyTemp\FransM\Pixels\Pixels\Pixels\bin\x86\Debug\Content\CaveMusicX.wma 
    2424C:\MyTemp\FransM\Pixels\Pixels\Pixels\bin\x86\Debug\Content\Kivi3.xnb 
     25C:\MyTemp\FransM\Pixels\Pixels\Pixels\bin\x86\Debug\Content\Kukka.xnb 
  • 2015/26/FransM/Pixels/Pixels/Pixels/obj/x86/Debug/cachefile-{23DE9823-17E1-4AFC-BB04-6AA018C329F7}-targetpath.txt

    r6270 r6448  
    1515Content\CaveMusicX.wma 
    1616Content\Kivi3.xnb 
     17Content\Kukka.xnb 
  • 2015/26/FransM/Pixels/Pixels/PixelsContent/PixelsContent.contentproj

    r6270 r6448  
    150150    </Compile> 
    151151  </ItemGroup> 
     152  <ItemGroup> 
     153    <Compile Include="Kukka.png"> 
     154      <Name>Kukka</Name> 
     155      <Importer>TextureImporter</Importer> 
     156      <Processor>TextureProcessor</Processor> 
     157    </Compile> 
     158  </ItemGroup> 
    152159  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    153160  <!--  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.