Changeset 9586


Ignore:
Timestamp:
2018-06-05 15:02:01 (2 years ago)
Author:
jij
Message:
 
Location:
2018/23/JUSTUSJ
Files:
108 added
11 edited

Legend:

Unmodified
Added
Removed
  • 2018/23/JUSTUSJ/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1.cs

    r9535 r9586  
    66using Jypeli.Widgets; 
    77 
    8 public class FysiikkaPeli1 : PhysicsGame 
     8public class Pong : PhysicsGame 
    99{ 
    10     Vector nopeusYlos = new Vector(0, 600); 
    11     Vector nopeusAlas = new Vector(0, -600); 
     10    Vector nopeusYlos = new Vector(0, 900); 
     11    Vector nopeusAlas = new Vector(0, -900); 
    1212 
    1313    PhysicsObject Pallo; 
    1414    PhysicsObject maila1; 
    1515    PhysicsObject maila2; 
     16 
     17    PhysicsObject vasenReuna; 
     18    PhysicsObject oikeaReuna; 
    1619 
    1720    IntMeter pelaajan1Pisteet; 
     
    3437        Pallo.X = -200.0; 
    3538        Pallo.Y = 50.0; 
    36         Pallo.Restitution = 1.0; 
     39        Pallo.CanRotate = false; 
     40        Pallo.Restitution = 0.5; 
    3741        Add(Pallo); 
    3842 
    39        maila1 = LuoMaila(Level.Left  + 20.0, 0.0); 
    40        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     43        AddCollisionHandler(Pallo, KasittelePallonTormaus); 
    4144 
    42         Level.CreateBorders(1.0, false); 
     45       maila1 = LuoMaila(Level.Left  + 5.0, 0.0); 
     46       maila2 = LuoMaila(Level.Right - 5.0, 0.0); 
     47 
     48        vasenReuna = Level.CreateLeftBorder(); 
     49        vasenReuna.Restitution = 1.0; 
     50        vasenReuna.IsVisible = false; 
     51 
     52        oikeaReuna = Level.CreateRightBorder(); 
     53        oikeaReuna.Restitution = 1.0; 
     54        oikeaReuna.IsVisible = false; 
     55 
     56        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     57        alaReuna.Restitution = 1.0; 
     58        alaReuna.IsVisible = false; 
     59 
     60        PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     61        ylaReuna.Restitution = 1.0; 
     62        ylaReuna.IsVisible = false; 
     63 
    4364        Level.BackgroundColor = Color.Black; 
    4465 
     
    5576    PhysicsObject LuoMaila(double x, double y) 
    5677    { 
    57         PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     78        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 125.0); 
    5879        maila.Shape = Shape.Rectangle; 
    5980        maila.X = x; 
     
    6889 
    6990    { 
    70         Keyboard.Listen(Key.A,    ButtonState.Down,     AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     91        Keyboard.Listen(Key.Q,    ButtonState.Down,     AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     92        Keyboard.Listen(Key.Q,    ButtonState.Released, AsetaNopeus,  null,                            maila1, Vector.Zero); 
     93        Keyboard.Listen(Key.A,    ButtonState.Down,     AsetaNopeus, "Pelaaja 1: liikuta mailaa alas", maila1, nopeusAlas); 
    7194        Keyboard.Listen(Key.A,    ButtonState.Released, AsetaNopeus,  null,                            maila1, Vector.Zero); 
    72         Keyboard.Listen(Key.Z,    ButtonState.Down,     AsetaNopeus, "Pelaaja 1: liikuta mailaa alas", maila1, nopeusAlas); 
    73         Keyboard.Listen(Key.Z,    ButtonState.Released, AsetaNopeus,  null,                            maila1, Vector.Zero); 
    7495 
    7596        Keyboard.Listen(Key.Up,   ButtonState.Down,     AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     
    7798        Keyboard.Listen(Key.Down, ButtonState.Down,     AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
    7899        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null,                             maila2, Vector.Zero); 
     100 
     101        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos); 
     102        ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     103        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas); 
     104        ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     105 
     106        ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 
     107        ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     108        ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 
     109        ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     110 
     111        ControllerOne.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     112        ControllerTwo.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    79113 
    80114        Keyboard.Listen(Key.F1,   ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     
    102136    void LisaaLaskurit() 
    103137    { 
    104         pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
    105         pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     138        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left  + 20.0, Screen.Top - 400.0); 
     139        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 20.0, Screen.Top - 400.0); 
    106140 
    107141    } 
     
    110144    { 
    111145        IntMeter laskuri = new IntMeter(0); 
    112         laskuri.MaxValue = 10; 
    113  
     146        laskuri.MaxValue = 20; 
    114147        Label naytto = new Label(); 
    115148        naytto.BindTo(laskuri); 
     
    123156        return laskuri; 
    124157    } 
     158 
     159    void KasittelePallonTormaus(PhysicsObject Pallo, PhysicsObject kohde) 
     160    { 
     161        if (kohde == oikeaReuna) 
     162        { 
     163            pelaajan1Pisteet.Value += 1; 
     164        } 
     165        else if (kohde == vasenReuna) 
     166        { 
     167            pelaajan2Pisteet.Value += 1; 
     168        } 
     169 
     170 
     171    } 
     172 
     173    const double PALLON_MIN_NOPEUS = 500; 
     174 
     175    protected override void Update(Time time) 
     176    { 
     177        if (Pallo != null && Math.Abs(Pallo.Velocity.X) < PALLON_MIN_NOPEUS) 
     178        { 
     179            Pallo.Velocity = new Vector(Pallo.Velocity.X * 1.5, Pallo.Velocity.Y); 
     180        } 
     181 
     182        if (Pallo != null && Math.Abs(Pallo.Velocity.Y) < PALLON_MIN_NOPEUS) 
     183        { 
     184           Pallo.Velocity = new Vector(Pallo.Velocity.X, Pallo.Velocity.Y * 1.1); 
     185        } 
     186        base.Update(time); 
     187    } 
     188 
     189     
    125190} 
  • 2018/23/JUSTUSJ/FysiikkaPeli1/FysiikkaPeli1/Ohjelma.cs

    r9535 r9586  
    1919        static void Main() 
    2020        { 
    21             using ( var game = new FysiikkaPeli1() ) 
     21            using ( var game = new Pong() ) 
    2222                game.Run(); 
    2323        } 
  • 2018/23/JUSTUSJ/FysiikkaPeli1/FysiikkaPeli1/obj/x86/Debug/FysiikkaPeli1.csproj.CoreCompileInputs.cache

    r9535 r9586  
    1 ad1c4505640a73231f9f0d1ee474c371134f7e01 
     1e081e27f16d3edd29da32d1e438ac347b66cb688 
  • 2018/23/JUSTUSJ/FysiikkaPeli1/FysiikkaPeli1/obj/x86/Debug/FysiikkaPeli1.csproj.FileListAbsolute.txt

    r9535 r9586  
    2727C:\MyTemp\Pelikurssi2018\Justus\FysiikkaPeli1\FysiikkaPeli1\obj\x86\Debug\FysiikkaPeli1.exe 
    2828C:\MyTemp\Pelikurssi2018\Justus\FysiikkaPeli1\FysiikkaPeli1\obj\x86\Debug\FysiikkaPeli1.pdb 
     29C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\FysiikkaPeli1.exe 
     30C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\FysiikkaPeli1.pdb 
     31C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\Jypeli.dll 
     32C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\Jypeli.Physics2d.dll 
     33C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\MonoGame.Framework.dll 
     34C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.MediaFoundation.dll 
     35C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.dll 
     36C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.XAudio2.dll 
     37C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.DXGI.dll 
     38C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.Direct3D11.dll 
     39C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.Direct2D1.dll 
     40C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.XInput.dll 
     41C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.Direct3D9.dll 
     42C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\Jypeli.xml 
     43C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\Jypeli.Physics2d.xml 
     44C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\MonoGame.Framework.xml 
     45C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.MediaFoundation.xml 
     46C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.xml 
     47C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.XAudio2.xml 
     48C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.DXGI.xml 
     49C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.Direct3D11.xml 
     50C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.Direct2D1.xml 
     51C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.XInput.xml 
     52C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\bin\Windows\Debug\SharpDX.Direct3D9.xml 
     53C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\obj\x86\Debug\FysiikkaPeli1.csprojResolveAssemblyReference.cache 
     54C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\obj\x86\Debug\FysiikkaPeli1.csproj.CoreCompileInputs.cache 
     55C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\obj\x86\Debug\FysiikkaPeli1.exe 
     56C:\MyTemp\JUSTUSJ\FysiikkaPeli1\FysiikkaPeli1\obj\x86\Debug\FysiikkaPeli1.pdb 
Note: See TracChangeset for help on using the changeset viewer.