Changeset 2521 for 2011


Ignore:
Timestamp:
2011-08-03 14:53:16 (8 years ago)
Author:
hejusiuk
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/HenryS/TankDuel/TankDuel/TankDuel/Peli.cs

    r2499 r2521  
    99public class Peli : PhysicsGame 
    1010{ 
     11    List<Label> valikonKohdat; 
     12    Vector nopeus1Ylos = new Vector(0, 200); 
     13    Vector nopeus1Alas = new Vector(0, -200); 
     14    Vector nopeus2Ylos = new Vector(0, 200); 
     15    Vector nopeus2Alas = new Vector(0, -200); 
     16    Vector nopeus1Oikealle = new Vector(200, 0); 
     17    Vector nopeus1Vasemmalle = new Vector(-200, 0); 
     18    Vector nopeus2Oikealle = new Vector(200, 0); 
     19    Vector nopeus2Vasemmalle = new Vector(-200, 0); 
    1120    PhysicsObject pelaaja1; 
    1221    PhysicsObject pelaaja2; 
    1322    Image oliomkuva = LoadImage("tank"); 
    1423    Image tankki = LoadImage("tank2"); 
     24    PhysicsObject este; 
    1525 
    1626    public override void Begin() 
    1727    { 
    1828 
    19  
     29         
     30        LuoKenttä(); 
     31        Valikko(); 
     32        pelaajat(); 
    2033        AsetaOhjaimet(); 
    21         pelaajat(); 
    2234    } 
    2335 
     
    2941        pelaaja1 = new PhysicsObject(90.0, 50.0); 
    3042        pelaaja1.Image = oliomkuva; 
     43        pelaaja1.X = -400; 
     44        pelaaja1.Y = 350; 
     45        pelaaja1.CanRotate=false; 
    3146        Add(pelaaja1); 
     47         
    3248        pelaaja2 = new PhysicsObject(90.0, 50.0); 
    33         pelaaja2.X = -200; 
     49        pelaaja2.X = 400; 
     50        pelaaja2.Y = -350; 
    3451        pelaaja2.Image = tankki; 
     52        pelaaja2.CanRotate = false; 
    3553        Add(pelaaja2); 
    36  
     54         
    3755 
    3856    } 
    3957    void AsetaOhjaimet() 
    4058    { 
     59 
     60 
     61        Keyboard.Listen(Key.W, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liiku ylös", pelaaja1, nopeus1Ylos, Angle.FromDegrees (90)); 
     62        Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, pelaaja1, Vector.Zero, Angle.FromDegrees(90)); 
     63        Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liiku alas", pelaaja1, nopeus1Alas, Angle.FromDegrees (-90)); 
     64        Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus, null, pelaaja1, Vector.Zero, Angle.FromDegrees (-90)); 
    4165         
    4266 
    43         ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 
    44         ControllerTwo.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 
     67        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus2, "Pelaaja 2: Liiku ylös", pelaaja2, nopeus2Ylos, Angle.FromDegrees(90)); 
     68        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus2, null, pelaaja2, Vector.Zero, Angle.FromDegrees(90)); 
     69        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus2, "Pelaaja 2: Liiku alas", pelaaja2, nopeus2Alas, Angle.FromDegrees(-90)); 
     70        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus2, null, pelaaja2, Vector.Zero, Angle.FromDegrees(-90)); 
     71 
     72        Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liiku oikealle", pelaaja1, nopeus1Oikealle, Angle.FromDegrees (0)); 
     73        Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, pelaaja1, Vector.Zero,Angle.FromDegrees(0)); 
     74        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liiku vasemmalle", pelaaja1, nopeus1Vasemmalle, Angle.FromDegrees(180)); 
     75        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, pelaaja1, Vector.Zero, Angle.FromDegrees(180)); 
     76 
     77        Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus2, "Pelaaja 2: Liiku oikealle", pelaaja2, nopeus2Oikealle, Angle.FromDegrees (0)); 
     78        Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus2, null, pelaaja1, Vector.Zero, Angle.FromDegrees (0)); 
     79        Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus2, "Pelaaja 2: Liiku vasemmalle", pelaaja2, nopeus2Vasemmalle, Angle.FromDegrees(180)); 
     80        Keyboard.Listen(Key.Left, ButtonState.Released, AsetaNopeus2, null, pelaaja1, Vector.Zero, Angle.FromDegrees(180)); 
     81 
     82        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 
     83 
     84 
     85        return; 
     86         
     87    } 
     88 
     89    void AsetaNopeus(PhysicsObject pelaaja1, Vector nopeus1, Angle kulma) 
     90    { 
     91        pelaaja1.Velocity = nopeus1; 
     92        pelaaja1.Angle = kulma; 
     93         
     94    } 
     95 
     96    void AsetaNopeus2(PhysicsObject pelaaja1, Vector nopeus2, Angle kulma) 
     97    { 
     98        pelaaja2.Velocity = nopeus2; 
     99        pelaaja2.Angle = kulma; 
    45100 
    46101    } 
     102 
     103 
     104 
     105     
     106 
     107    void LuoKenttä() 
     108    { 
     109        int i = 0; 
     110 
     111        while (i < 20) 
     112        { 
     113            este = PhysicsObject.CreateStaticObject(60.0, 60.0); 
     114            este.Color = Color.Gray; 
     115            este.CanRotate = false; 
     116            este.X = RandomGen.NextDouble(Level.Left, Level.Right); 
     117            este.Y = RandomGen.NextDouble(Level.Left, Level.Right); 
     118            Add(este); 
     119            i++; 
     120        } 
     121 
     122        Level.CreateBorders(1.0, false); 
     123        Level.BackgroundColor = Color.ForestGreen; 
     124        Camera.ZoomToLevel(); 
     125         
     126         
     127 
     128         
     129     
     130    } 
     131 
     132    void Valikko() 
     133    { 
     134        ClearAll(); 
     135        valikonKohdat = new List<Label>(); 
     136 
     137        Label kohta1 = new Label("Aloita uusi peli"); 
     138        kohta1.Position = new Vector(0, 40); 
     139        valikonKohdat.Add(kohta1); 
     140 
     141        Label kohta2 = new Label("Lopeta"); 
     142        kohta2.Position = new Vector(0, -40); 
     143        valikonKohdat.Add(kohta2); 
     144 
     145        foreach (Label valikonKohta in valikonKohdat) 
     146        { 
     147            Add(valikonKohta); 
     148        } 
     149 
     150        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 
     151        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 
     152 
     153        Mouse.IsCursorVisible = true; 
     154        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     155        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, ""); 
     156 
     157    } 
     158 
     159 
     160    void ValikossaLiikkuminen(AnalogState hiirenTila) 
     161    { 
     162        foreach (Label kohta in valikonKohdat) 
     163        { 
     164            if (Mouse.IsCursorOn(kohta)) 
     165            { 
     166                kohta.TextColor = Color.Red; 
     167            } 
     168            else 
     169            { 
     170                kohta.TextColor = Color.Black; 
     171            } 
     172 
     173        } 
     174    } 
     175 
     176    void AloitaPeli() 
     177    { 
     178        ClearAll(); 
     179        LuoKenttä(); 
     180        pelaajat(); 
     181        AsetaOhjaimet(); 
     182        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 
     183    } 
     184 
     185     
     186 
    47187} 
Note: See TracChangeset for help on using the changeset viewer.