Changeset 1621 for 2010/27


Ignore:
Timestamp:
2010-08-05 14:46:18 (9 years ago)
Author:
sijoseha
Message:

Color Wars

Location:
2010/27/sijoseha
Files:
4 added
14 edited

Legend:

Unmodified
Added
Removed
  • 2010/27/sijoseha/Color Wars/Color Wars.csproj

    r1594 r1621  
    5757  </PropertyGroup> 
    5858  <ItemGroup> 
    59     <Reference Include="Jypeli2, Version=2.4.1.0, Culture=neutral, processorArchitecture=x86"> 
     59    <Reference Include="Jypeli2, Version=2.4.2.0, Culture=neutral, processorArchitecture=x86"> 
    6060      <SpecificVersion>False</SpecificVersion> 
    6161      <HintPath>..\..\npo\Jypeli\bin\x86\Debug\Jypeli2.dll</HintPath> 
     
    6969      <Private>False</Private> 
    7070    </Reference> 
     71    <Reference Include="System.Data" /> 
    7172    <Reference Include="System.Xml"> 
    7273      <Private>False</Private> 
     
    8586    <Compile Include="Ohjelma.cs" /> 
    8687    <Compile Include="Peli.cs" /> 
     88    <Compile Include="Ruutu.cs" /> 
     89    <Compile Include="Torni.cs" /> 
    8790  </ItemGroup> 
    8891  <ItemGroup> 
  • 2010/27/sijoseha/Color Wars/Ohjelma.cs

    r1594 r1621  
    11using System; 
    22 
    3 static class Ohjelma 
     3namespace Color_Wars 
    44{ 
    5     /// <summary> 
    6     /// The main entry point for the application. 
    7     /// </summary> 
    8     static void Main(string[] args) 
     5 
     6    static class Ohjelma 
    97    { 
    10         using (Peli game = new Peli()) 
     8        /// <summary> 
     9        /// The main entry point for the application. 
     10        /// </summary> 
     11        static void Main(string[] args) 
    1112        { 
    12             game.Run(); 
     13            using (Peli game = new Peli()) 
     14            { 
     15                game.Run(); 
     16            } 
    1317        } 
    1418    } 
     19 
    1520} 
    16  
  • 2010/27/sijoseha/Color Wars/Peli.cs

    r1594 r1621  
    77using Jypeli.Effects; 
    88 
    9 public class Peli : PhysicsGame 
     9namespace Color_Wars 
    1010{ 
    11     #region Pelin attribuutit 
    12     List<Label> valikonKohdat; 
    13     List<Label> kentanValinnanKohdat; 
    14     int ruudunKoko = 40; 
    15     #endregion 
    1611 
    17     protected override void Begin() 
     12    public class Peli : PhysicsGame 
    1813    { 
    19         Valikko(); 
    20     } 
     14        #region Pelin attribuutit 
     15        List<Label> valikonKohdat; 
     16        List<Vector> vihuPath; 
     17        List<PhysicsObject> tempList; 
     18        PathFollowerBrain vihunAivot; 
     19        int ruudunKoko = 40; 
     20        #endregion 
    2121 
    22     #region Valikko 
    23     void Valikko() 
    24     { 
    25         ClearAll(); 
    26         valikonKohdat = new List<Label>(); 
    27  
    28         Label vKohta1 = new Label("Uusi peli"); 
    29         Label vKohta2 = new Label("Lopeta peli"); 
    30         vKohta1.Position = new Vector(0, 20); 
    31         vKohta2.Position = new Vector(0, -20); 
    32         valikonKohdat.Add(vKohta1); 
    33         valikonKohdat.Add(vKohta2); 
    34  
    35         foreach (Label vKohta in valikonKohdat) 
     22        protected override void Begin() 
    3623        { 
    37             Add(vKohta); 
     24            //Valikko(); 
     25            AloitaUusiPeli(1); 
    3826        } 
    3927 
    40         Mouse.ListenOn(vKohta1, MouseButton.Left, ButtonState.Pressed, KentanValinta, "Aloittaa uuden pelin"); 
    41         Mouse.ListenOn(vKohta2, MouseButton.Left, ButtonState.Pressed, LopetaPeli, "Lopettaa pelin"); 
    42         Mouse.IsCursorVisible = true; 
    43         Mouse.ListenMovement(0.5, ValikossaLiikkuminen, "Kuuntelee hiirtä"); 
    44         Keyboard.Listen(Key.Escape, ButtonState.Pressed, LopetaPeli, "Lopettaa pelin"); 
    45     } 
     28        #region Valikko 
     29        void Valikko() 
     30        { 
     31            ClearAll(); 
     32            valikonKohdat = new List<Label>(); 
    4633 
    47     void ValikossaLiikkuminen(AnalogState hiirenTila) 
    48     { 
    49         foreach (Label vKohta in valikonKohdat) 
    50         { 
    51             if (Mouse.IsCursorOn(vKohta)) 
    52                 vKohta.TextColor = Color.Red; 
    53             else 
    54                 vKohta.TextColor = Color.Black; 
    55         } 
    56     } 
     34            Label vKohta1 = new Label("Uusi peli"); 
     35            Label vKohta2 = new Label("Lopeta peli"); 
     36            vKohta1.Position = new Vector(0, 20); 
     37            vKohta2.Position = new Vector(0, -20); 
     38            valikonKohdat.Add(vKohta1); 
     39            valikonKohdat.Add(vKohta2); 
    5740 
    58     #endregion 
     41            foreach (Label vKohta in valikonKohdat) 
     42            { 
     43                Add(vKohta); 
     44            } 
    5945 
    60     void KentanValinta() 
    61     { 
    62         ClearAll(); 
    63         ClearWidgets(); 
    64         valikonKohdat = new List<Label>(); 
    65  
    66         Label vKohta1 = new Label("Kenttä 1"); 
    67         vKohta1.Position = new Vector(0, 20); 
    68         valikonKohdat.Add(vKohta1); 
    69  
    70         foreach (Label vKohta in valikonKohdat) 
    71         { 
    72             Add(vKohta); 
     46            Mouse.ListenOn(vKohta1, MouseButton.Left, ButtonState.Pressed, KentanValinta, "Aloittaa uuden pelin"); 
     47            Mouse.ListenOn(vKohta2, MouseButton.Left, ButtonState.Pressed, LopetaPeli, "Lopettaa pelin"); 
     48            Mouse.IsCursorVisible = true; 
     49            Mouse.ListenMovement(0.5, ValikossaLiikkuminen, "Kuuntelee hiirtä"); 
     50            Keyboard.Listen(Key.Escape, ButtonState.Pressed, LopetaPeli, "Lopettaa pelin"); 
    7351        } 
    7452 
    75         Mouse.ListenOn(vKohta1, MouseButton.Left, ButtonState.Pressed, AloitaUusiPeli, "Aloittaa uuden pelin", 1); 
    76         Mouse.IsCursorVisible = true; 
    77         Mouse.ListenMovement(0.5, ValikossaLiikkuminen, "Kuuntelee hiirtä"); 
    78         Keyboard.Listen(Key.Escape, ButtonState.Pressed, LopetaPeli, "Lopettaa pelin"); 
     53        void ValikossaLiikkuminen(AnalogState hiirenTila) 
     54        { 
     55            foreach (Label vKohta in valikonKohdat) 
     56            { 
     57                if (Mouse.IsCursorOn(vKohta)) 
     58                    vKohta.TextColor = Color.Red; 
     59                else 
     60                    vKohta.TextColor = Color.Black; 
     61            } 
     62        } 
     63 
     64        #endregion 
     65 
     66        void KentanValinta() 
     67        { 
     68            ClearAll(); 
     69            ClearWidgets(); 
     70            valikonKohdat = new List<Label>(); 
     71 
     72            Label vKohta1 = new Label("Kenttä 1"); 
     73            vKohta1.Position = new Vector(0, 20); 
     74            valikonKohdat.Add(vKohta1); 
     75 
     76            foreach (Label vKohta in valikonKohdat) 
     77            { 
     78                Add(vKohta); 
     79            } 
     80 
     81            Mouse.ListenOn(vKohta1, MouseButton.Left, ButtonState.Pressed, AloitaUusiPeli, "Aloittaa uuden pelin", 1); 
     82            Mouse.IsCursorVisible = true; 
     83            Mouse.ListenMovement(0.5, ValikossaLiikkuminen, "Kuuntelee hiirtä"); 
     84            Keyboard.Listen(Key.Escape, ButtonState.Pressed, LopetaPeli, "Lopettaa pelin"); 
     85        } 
     86 
     87        void AloitaUusiPeli(int kentanNumero) 
     88        { 
     89            ClearAll(); 
     90            //IsFullScreen = true; 
     91            LuoKentta(kentanNumero); 
     92            LuoInfoRuutu(); 
     93            Camera.ZoomToLevel(); 
     94            Camera.X += Level.Width / 4; 
     95        } 
     96 
     97        void LuoInfoRuutu() 
     98        { 
     99            Widget infoRuutu = new Widget((Screen.WidthSafe - Level.Width) * 2, Screen.HeightSafe - 2); 
     100            infoRuutu.Color = Color.Black; 
     101            infoRuutu.BorderColor = Color.LimeGreen; 
     102            infoRuutu.Position = new Vector(Screen.RightSafe - infoRuutu.Width / 2 - 20, Screen.TopSafe - infoRuutu.Height / 2); 
     103            Add(infoRuutu); 
     104 
     105            Widget torniRuutu = new Widget(infoRuutu.Width - 10, infoRuutu.Height / 4); 
     106            infoRuutu.Add(torniRuutu); 
     107            torniRuutu.Position = new Vector(0, 200); 
     108            torniRuutu.BorderColor = Color.LimeGreen; 
     109            torniRuutu.Color = Color.Black; 
     110 
     111            Widget specRuutu = new Widget(infoRuutu.Width - 10, infoRuutu.Height / 2); 
     112            infoRuutu.Add(specRuutu); 
     113            specRuutu.Color = Color.Black; 
     114            specRuutu.BorderColor = Color.LimeGreen; 
     115            specRuutu.Position = new Vector(0, -100); 
     116 
     117            Label pelinNimi = new Label("Color Wars"); 
     118            infoRuutu.Add(pelinNimi); 
     119            pelinNimi.Position = new Vector(70 - pelinNimi.Parent.Width / 2, -20 + pelinNimi.Parent.Height / 2); 
     120            pelinNimi.TextColor = Color.LimeGreen; 
     121        } 
     122 
     123        void LuoKentta(int kentanNumero) 
     124        { 
     125            Level.BackgroundColor = Color.Black; 
     126            String kenttaTiedosto = "kentta" + kentanNumero + ".txt"; 
     127            TileMap kentta = TileMap.FromFile(kenttaTiedosto); 
     128            tempList = new List<PhysicsObject>(); 
     129            vihuPath = new List<Vector>(); 
     130            kentta['#'] = LuoRuutu; 
     131            //kentta['0'] = LuoRuutu2; 
     132            kentta['X'] = LuoWayPoint; 
     133            kentta.Insert(ruudunKoko, ruudunKoko); 
     134            vihuPath = luoReittiVihuille(tempList); 
     135            LuoVihu(vihuPath); 
     136        } 
     137 
     138        void LuoVihu(List<Vector> vList) 
     139        { 
     140            PhysicsObject vihu = new PhysicsObject(20, 20); 
     141            vihu.Color = Color.Red; 
     142            vihu.Position = vList[0]; 
     143            vihunAivot = new PathFollowerBrain(vList.ToArray()); 
     144            vihunAivot.Speed = 50; 
     145            vihunAivot.Active = true; 
     146            vihu.Brain = vihunAivot; 
     147            Add(vihu); 
     148        } 
     149 
     150        List<Vector> luoReittiVihuille(List<PhysicsObject> tList) 
     151        { 
     152            List<Vector> temp = new List<Vector>(); 
     153            foreach (PhysicsObject p in tList) 
     154            { 
     155                temp.Add(p.Position); 
     156                p.Destroy(); 
     157            } 
     158            return temp; 
     159        } 
     160 
     161        PhysicsObject LuoWayPoint() 
     162        { 
     163            PhysicsObject waypoint = new PhysicsObject(ruudunKoko - 2, ruudunKoko - 2); 
     164            tempList.Add(waypoint); 
     165            return waypoint; 
     166        } 
     167 
     168        Ruutu LuoRuutu() 
     169        { 
     170            Ruutu ruutu = new Ruutu(ruudunKoko - 2, ruudunKoko - 2); 
     171            ruutu.Shape = Shapes.Rectangle; 
     172            return ruutu; 
     173        } 
     174 
     175        PhysicsObject LuoRuutu2() 
     176        { 
     177            PhysicsObject ruutu = new PhysicsObject(ruudunKoko - 2, ruudunKoko - 2); 
     178            ruutu.Shape = Shapes.Rectangle; 
     179            ruutu.Color = Color.Red; 
     180            return ruutu; 
     181        } 
     182 
     183        void LopetaPeli() 
     184        { 
     185            Exit(); 
     186        } 
     187 
    79188    } 
    80  
    81     void AloitaUusiPeli(int kentanNumero) 
    82     { 
    83         ClearAll(); 
    84         String kenttaTiedosto = "kentta" + kentanNumero + ".txt"; 
    85         TileMap kentta = TileMap.FromFile(kenttaTiedosto); 
    86         kentta['#'] = LuoRuutu; 
    87         //kentta['0'] = LuoRuutu2; 
    88         kentta.Insert(ruudunKoko, ruudunKoko); 
    89         Level.Width = ruudunKoko * 34; 
    90         Level.Height = ruudunKoko * 34; 
    91         Camera.ZoomToLevel(); 
    92     } 
    93  
    94     PhysicsObject LuoRuutu() 
    95     { 
    96         PhysicsObject ruutu = new PhysicsObject(ruudunKoko-2, ruudunKoko-2); 
    97         ruutu.Shape = Shapes.Rectangle; 
    98         return ruutu; 
    99     } 
    100  
    101     PhysicsObject LuoRuutu2() 
    102     { 
    103         PhysicsObject ruutu = new PhysicsObject(ruudunKoko - 2, ruudunKoko - 2); 
    104         ruutu.Shape = Shapes.Rectangle; 
    105         ruutu.Color = Color.Red; 
    106         return ruutu; 
    107     } 
    108  
    109     void LopetaPeli() 
    110     { 
    111     } 
    112  
    113189} 
  • 2010/27/sijoseha/Color Wars/bin/x86/Debug/Jypeli2.xml

    r1594 r1621  
    22002200        <member name="P:Jypeli.PhysicsObject.Body"> 
    22012201            <summary> 
    2202             Fysiikkaolion keho. 
     2202            Fysiikkamoottorin kÀyttÀmÀ tietorakenne. 
    22032203            </summary> 
    22042204        </member> 
     
    76457645            </summary> 
    76467646        </member> 
     7647        <member name="M:Jypeli.PhysicsGame.CreateHingeJoint(Jypeli.PhysicsObject,Jypeli.PhysicsObject,Jypeli.Vector)"> 
     7648            <summary> 
     7649            Luo uuden liitoksen, jolla voi liittÀÀ kaksi oliota joustavasti toisiinsa. 
     7650            </summary> 
     7651            <param name="o1">EnsimmÀinen liitettÀvÀ olio.</param> 
     7652            <param name="o2">Toinen liitettÀvÀ olio.</param> 
     7653            <param name="anchor">Liitoksen paikka.</param> 
     7654            <returns>Liitos.</returns> 
     7655        </member> 
    76477656        <member name="M:Jypeli.PhysicsGame.ClearAll"> 
    76487657            <summary> 
     
    76537662            <summary> 
    76547663            Nollaa fysiikkamoottorin. 
     7664            </summary> 
     7665        </member> 
     7666        <member name="M:Jypeli.PhysicsGame.Add(Physics2DDotNet.Joints.Joint)"> 
     7667            <summary> 
     7668            LisÀÀ liitoksen peliin. 
    76557669            </summary> 
    76567670        </member> 
  • 2010/27/sijoseha/Color Wars/bin/x86/Debug/kentta1.txt

    r1594 r1621  
    1 ####00000#################### 
     1####00X00#################### 
    22####00000#################### 
    33####00000#################### 
     
    55####0000000000000############ 
    66####0000000000000############ 
    7 ####0000000000000############ 
     7####00X0000000X00############ 
    88####0000000000000############ 
    99####0000000000000############ 
     
    1818############000000000000##### 
    1919############000000000000##### 
    20 ############000000000000##### 
     20############00X000000X00##### 
    2121############000000000000##### 
    2222############000000000000##### 
     
    2626###################00000##### 
    2727###################00000##### 
    28 ###################00000##### 
     28###################00X00##### 
  • 2010/27/sijoseha/Color Wars/kentta1.txt

    r1594 r1621  
    1 ####00000#################### 
     1####00X00#################### 
    22####00000#################### 
    33####00000#################### 
     
    55####0000000000000############ 
    66####0000000000000############ 
    7 ####0000000000000############ 
     7####00X0000000X00############ 
    88####0000000000000############ 
    99####0000000000000############ 
     
    1818############000000000000##### 
    1919############000000000000##### 
    20 ############000000000000##### 
     20############00X000000X00##### 
    2121############000000000000##### 
    2222############000000000000##### 
     
    2626###################00000##### 
    2727###################00000##### 
    28 ###################00000##### 
     28###################00X00##### 
Note: See TracChangeset for help on using the changeset viewer.