- Timestamp:
- 2011-06-15 13:55:25 (10 years ago)
- Location:
- 2011/24/EkiM/nimeton/nimeton/nimeton
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/24/EkiM/nimeton/nimeton/nimeton/Ohjelma.cs
r1963 r2019 5 5 static void Main(string[] args) 6 6 { 7 using (Pe li game = newPeli())7 using (PerusPeli.Peli game = new PerusPeli.Peli()) 8 8 { 9 9 #if !DEBUG -
2011/24/EkiM/nimeton/nimeton/nimeton/Peli.cs
r1988 r2019 6 6 using Jypeli.Widgets; 7 7 8 class Peli : PhysicsGame 8 namespace PerusPeli 9 9 { 10 Image seinaoikeanKuva = LoadImage("seinaoikea"); 11 Image seinavasemmanKuva = LoadImage("seinavasen"); 12 Image lattianKuva = LoadImage("lattia"); 13 Image koydenKuva = LoadImage("koysi"); 14 Image nostinKuva = LoadImage("nostin"); 15 Image tikkaatKuva = LoadImage("tikkaat"); 16 Image lattiatikkaatKuva = LoadImage("lattiatikkaat"); 17 Image pelaajaKuva = LoadImage("ukko"); 18 Image vihunKuva = LoadImage("vihu1"); 19 20 PlatformCharacter pelaaja; 21 PhysicsObject vihu1; 22 MessageWindow kysymysIkkuna; 23 24 25 public override void Begin() 10 class Peli : PhysicsGame 26 11 { 27 Gravity = new Vector(0.0, -500.0); 28 LataaKentta("map.txt"); 29 Camera.ZoomToLevel(); 30 31 LuoOhjain(); 32 } 33 34 void LataaKentta(string map) 35 { 36 37 TileMap merkit = TileMap.FromFile(map); 38 39 merkit.SetTileMethod('P', LuoPelaaja); 40 merkit.SetTileMethod('V', LuoVihu); 41 merkit.SetTileMethod('|', LuoSeinaoikea); 42 merkit.SetTileMethod('i', LuoSeinavasen); 43 merkit.SetTileMethod('_', LuoLattia); 44 merkit.SetTileMethod('L', LuoNostin); 45 merkit.SetTileMethod('H', LuoTikkaat); 46 merkit.SetTileMethod('h', LuoLattiatikkaat); 47 48 merkit.Execute(70, 70); 49 50 } 51 void LuoPelaaja(Vector paikka, double leveys, double korkeus) 12 Image seinaoikeanKuva = LoadImage("seinaoikea"); 13 Image seinavasemmanKuva = LoadImage("seinavasen"); 14 Image lattianKuva = LoadImage("lattia"); 15 Image koydenKuva = LoadImage("koysi"); 16 Image nostinKuva = LoadImage("nostin"); 17 Image tikkaatKuva = LoadImage("tikkaat"); 18 Image lattiatikkaatKuva = LoadImage("lattiatikkaat"); 19 Image pelaajaKuva = LoadImage("ukko"); 20 Image vihunKuva = LoadImage("vihu1"); 21 22 PlatformCharacter pelaaja; 23 PhysicsObject vihu1; 24 MessageWindow kysymysIkkuna; 25 26 27 public override void Begin() 28 { 29 Gravity = new Vector(0.0, -500.0); 30 LataaKentta("map.txt"); 31 Camera.ZoomToLevel(); 32 33 LuoOhjain(); 34 } 35 36 void LataaKentta(string map) 37 { 38 39 TileMap merkit = TileMap.FromFile(map); 40 41 merkit.SetTileMethod('P', LuoPelaaja); 42 merkit.SetTileMethod('V', LuoVihu); 43 merkit.SetTileMethod('|', LuoSeinaoikea); 44 merkit.SetTileMethod('i', LuoSeinavasen); 45 merkit.SetTileMethod('_', LuoLattia); 46 merkit.SetTileMethod('L', LuoNostin); 47 merkit.SetTileMethod('H', LuoTikkaat); 48 merkit.SetTileMethod('h', LuoLattiatikkaat); 49 50 merkit.Execute(70, 70); 51 52 } 53 void LuoPelaaja(Vector paikka, double leveys, double korkeus) 52 54 { 53 55 pelaaja = new PlatformCharacter(40, 62); … … 60 62 61 63 } 62 void LuoVihu(Vector paikka, double leveys, double korkeus) 63 { 64 vihu1 = new PhysicsObject(40, 62); 65 vihu1.CanRotate = false; 66 vihu1.Mass = 40.0; 67 vihu1.Position = paikka; 68 vihu1.Image = vihunKuva; 69 Add(vihu1); 70 71 } 72 void VihuunTormays(PhysicsObject pelaaja, PhysicsObject kohde) 73 { 74 IsMouseVisible = true; 75 if (kohde == vihu1) 76 { 77 InputWindow kysymysIkkuna = new InputWindow("Kysymys", "Nimesi?"); 78 kysymysIkkuna.TextEntered += vastaus; 79 Add(kysymysIkkuna); 80 } 81 } 82 83 void vastaus(InputWindow Ikkuna) 84 { 85 string vastaus = Ikkuna.InputBox.Text; 86 kysymysIkkuna = new MessageWindow("Kysymys", "Hmm...en muista ketään tuon nimistä täällä..."); 87 kysymysIkkuna.Closed += new Jypeli.Widgets.Window.WindowHandler(kysymysIkkuna_Closed); 88 89 Add(kysymysIkkuna); 90 } 91 92 void kysymysIkkuna_Closed(Window sender) 93 { 94 kysymysIkkuna = new MessageWindow("Kysymys", "Oletko uusi talossa?"); 95 kysymysIkkuna.OKButton.Text="Kyllä olen"; 96 97 Add(kysymysIkkuna); 98 } 99 100 101 void LuoSeinaoikea(Vector paikka, double leveys, double korkeus) 102 { 103 PhysicsObject seinaoikea = PhysicsObject.CreateStaticObject(70, 70); 104 seinaoikea.Position = paikka; 105 seinaoikea.Image = seinaoikeanKuva; 106 Add(seinaoikea); 107 } 108 64 void LuoVihu(Vector paikka, double leveys, double korkeus) 65 { 66 vihu1 = new PhysicsObject(40, 62); 67 vihu1.CanRotate = false; 68 vihu1.Mass = 40.0; 69 vihu1.Position = paikka; 70 vihu1.Image = vihunKuva; 71 Add(vihu1); 72 73 } 74 75 Keskusteluikkuna ikkuna = null; 76 77 void VihuunTormays(PhysicsObject pelaaja, PhysicsObject kohde) 78 { 79 IsMouseVisible = true; 80 if (kohde == vihu1 && ikkuna == null) 81 { 82 ikkuna = new Keskusteluikkuna("Testiteksti", "pain1", "pain2"); 83 Keskusteluikkuna ikkuna2 = new Keskusteluikkuna("gfd", "gfdgsfds", "gfd"); 84 ikkuna.Button1ikkuna = ikkuna2; 85 //ikkuna.Nappi1.Clicked += new Action(delegate { Nappi1_Clicked(ikkuna); }); 86 ikkuna.Nappi1.Clicked += AvaaIkkuna2; 87 Add(ikkuna); 88 89 /* 90 InputWindow kysymysIkkuna = new InputWindow("", "Nimesi?"); 91 kysymysIkkuna.TextEntered += vastaus; 92 Add(kysymysIkkuna); 93 * */ 94 } 95 } 96 97 void AvaaIkkuna2() 98 { 99 Add(ikkuna.Button1ikkuna); 100 ikkuna.Destroy(); 101 ikkuna = null; 102 } 103 104 void Nappi1_Clicked(Keskusteluikkuna ikkuna) 105 { 106 107 Add(ikkuna.Button1ikkuna); 108 ikkuna.Destroy(); 109 //Add(ikkuna); 110 } 111 112 void vastaus(InputWindow Ikkuna) 113 { 114 Ikkuna.ControlContext.Active = false; 115 string vastaus = Ikkuna.InputBox.Text; 116 kysymysIkkuna = new MessageWindow("", "Hmm...en muista ketään tuon nimistä täällä..."); 117 kysymysIkkuna.Closed += new Jypeli.Widgets.Window.WindowHandler(kysymysIkkuna_Closed); 118 119 120 Add(kysymysIkkuna); 121 } 122 123 void kysymysIkkuna_Closed(Window sender) 124 { 125 kysymysIkkuna = new MessageWindow("", "Oletko uusi talossa?"); 126 kysymysIkkuna.OKButton.Text = "Kyllä olen"; 127 PushButton nappi = new PushButton(text: "Olen vieras"); 128 kysymysIkkuna.OKButton.Clicked += new Action(OKButton_Clicked); 129 nappi.Clicked += new Action(nappi_Clicked); 130 Add(kysymysIkkuna); 131 kysymysIkkuna.Add(nappi); 132 } 133 134 void nappi_Clicked() 135 { 136 kysymysIkkuna.Close(); 137 kysymysIkkuna = new MessageWindow("", "Ei vieraita, poistu"); 138 Add(kysymysIkkuna); 139 } 140 141 void OKButton_Clicked() 142 { 143 kysymysIkkuna.Close(); 144 kysymysIkkuna = new MessageWindow("", "Lukenut NM? (newcomers manual)"); 145 kysymysIkkuna.OKButton.Text = "Olen lukenut"; 146 PushButton painike = new PushButton(text: "En ole."); 147 kysymysIkkuna.OKButton.Clicked += new Action(OKButton_Clicked); 148 painike.Clicked += new Action(painike_Clicked); 149 Add(kysymysIkkuna); 150 } 151 void painike_Clicked() 152 { 153 kysymysIkkuna.Close(); 154 kysymysIkkuna = new MessageWindow("", "Mikset ole?"); 155 Add(kysymysIkkuna); 156 } 157 158 159 void LuoSeinaoikea(Vector paikka, double leveys, double korkeus) 160 { 161 PhysicsObject seinaoikea = PhysicsObject.CreateStaticObject(70, 70); 162 seinaoikea.Position = paikka; 163 seinaoikea.Image = seinaoikeanKuva; 164 Add(seinaoikea); 165 } 166 109 167 void LuoSeinavasen(Vector paikka, double leveys, double korkeus) 110 111 { 112 PhysicsObject seinavasen = PhysicsObject.CreateStaticObject(70, 70); 113 seinavasen.Position = paikka; 114 seinavasen.Image = seinavasemmanKuva; 115 Add(seinavasen); 116 117 } 118 119 void LuoLattia(Vector paikka, double leveys, double korkeus) 120 { 121 PhysicsObject lattia = PhysicsObject.CreateStaticObject(70, 10); 122 lattia.Position = paikka; 123 lattia.Image = lattianKuva; 124 Add(lattia); 125 } 126 127 void LuoNostin(Vector paikka, double leveys, double korkeus) 128 { 129 PhysicsObject nostin = new PhysicsObject(69, 10); 130 nostin.Position = paikka; 131 nostin.Image = nostinKuva; 132 nostin.IgnoresPhysicsLogics = true; 133 nostin.CanRotate = false; 134 nostin.Mass = 10000; 135 nostin.Velocity = new Vector(0.0, 90.0); 136 AddCollisionHandler(nostin, SeinaanTormays); 137 Add(nostin); 138 139 } 140 141 void SeinaanTormays(PhysicsObject nostin, PhysicsObject seinavasen) 142 { 143 nostin.Velocity = -nostin.Velocity; 144 } 145 146 147 void LuoTikkaat(Vector paikka, double leveys, double korkeus) 148 { 149 PhysicsObject tikkaat = PhysicsObject.CreateStaticObject(35, 150); 150 tikkaat.Position = paikka; 151 tikkaat.Image = tikkaatKuva; 152 Add(tikkaat); 153 } 154 void LuoLattiatikkaat(Vector paikka, double leveys, double korkeus) 168 { 169 PhysicsObject seinavasen = PhysicsObject.CreateStaticObject(70, 70); 170 seinavasen.Position = paikka; 171 seinavasen.Image = seinavasemmanKuva; 172 Add(seinavasen); 173 174 } 175 176 void LuoLattia(Vector paikka, double leveys, double korkeus) 177 { 178 PhysicsObject lattia = PhysicsObject.CreateStaticObject(70, 10); 179 lattia.Position = paikka; 180 lattia.Image = lattianKuva; 181 Add(lattia); 182 } 183 184 void LuoNostin(Vector paikka, double leveys, double korkeus) 185 { 186 PhysicsObject nostin = new PhysicsObject(69, 10); 187 nostin.Position = paikka; 188 nostin.Image = nostinKuva; 189 nostin.IgnoresPhysicsLogics = true; 190 nostin.CanRotate = false; 191 nostin.Mass = 10000; 192 nostin.Velocity = new Vector(0.0, 90.0); 193 AddCollisionHandler(nostin, SeinaanTormays); 194 Add(nostin); 195 196 } 197 198 void SeinaanTormays(PhysicsObject nostin, PhysicsObject seinavasen) 199 { 200 nostin.Velocity = -nostin.Velocity; 201 } 202 203 204 void LuoTikkaat(Vector paikka, double leveys, double korkeus) 205 { 206 PhysicsObject tikkaat = PhysicsObject.CreateStaticObject(35, 150); 207 tikkaat.Position = paikka; 208 tikkaat.Image = tikkaatKuva; 209 Add(tikkaat); 210 } 211 void LuoLattiatikkaat(Vector paikka, double leveys, double korkeus) 155 212 { 156 213 PhysicsObject lattiatikkaat = PhysicsObject.CreateStaticObject(70, 70); … … 160 217 } 161 218 162 void LuoOhjain() 163 { 164 //näppäin alhaalla 165 Keyboard.Listen(Key.Left, ButtonState.Down, pelaaja.Walk, null, -100.0); 166 Keyboard.Listen(Key.Right, ButtonState.Down, pelaaja.Walk, null, 100.0); 167 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaaYlos, null); 168 Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaaAlas, null); 169 170 //näppäin ylhäällä 171 Keyboard.Listen(Key.Left, ButtonState.Released, pelaaja.StopHorizontal, null); 172 Keyboard.Listen(Key.Right, ButtonState.Released, pelaaja.StopHorizontal, null); 173 Keyboard.Listen(Key.Up, ButtonState.Released, pelaaja.StopVertical, null); 174 Keyboard.Listen(Key.Down, ButtonState.Released, pelaaja.StopVertical, null); 219 void LuoOhjain() 220 { 221 //näppäin alhaalla 222 Keyboard.Listen(Key.Left, ButtonState.Down, pelaaja.Walk, null, -100.0); 223 Keyboard.Listen(Key.Right, ButtonState.Down, pelaaja.Walk, null, 100.0); 224 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaaYlos, null); 225 Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaaAlas, null); 226 227 //näppäin ylhäällä 228 Keyboard.Listen(Key.Left, ButtonState.Released, pelaaja.StopHorizontal, null); 229 Keyboard.Listen(Key.Right, ButtonState.Released, pelaaja.StopHorizontal, null); 230 Keyboard.Listen(Key.Up, ButtonState.Released, pelaaja.StopVertical, null); 231 Keyboard.Listen(Key.Down, ButtonState.Released, pelaaja.StopVertical, null); 232 } 233 234 235 void LiikutaPelaajaaVasemmalle() 236 { 237 pelaaja.Hit(new Vector(-100, 0)); 238 } 239 240 void LiikutaPelaajaaOikealle() 241 { 242 pelaaja.Hit(new Vector(100, 0)); 243 } 244 245 void LiikutaPelaajaaYlos() 246 { 247 pelaaja.Jump(90); 248 } 249 250 void LiikutaPelaajaaAlas() 251 { 252 pelaaja.Hit(new Vector(0, -100)); 253 } 254 175 255 } 176 177 178 void LiikutaPelaajaaVasemmalle()179 {180 pelaaja.Hit(new Vector(-100, 0));181 }182 183 void LiikutaPelaajaaOikealle()184 {185 pelaaja.Hit(new Vector(100, 0));186 }187 188 void LiikutaPelaajaaYlos()189 {190 pelaaja.Jump (90);191 }192 193 void LiikutaPelaajaaAlas()194 {195 pelaaja.Hit(new Vector(0, -100));196 }197 198 199 200 201 202 256 } -
2011/24/EkiM/nimeton/nimeton/nimeton/nimeton.csproj
r1988 r2019 111 111 </ItemGroup> 112 112 <ItemGroup> 113 <Compile Include="keskustelut.cs" /> 113 114 <Compile Include="Peli.cs" /> 114 115 <Compile Include="Properties\AssemblyInfo.cs" />
Note: See TracChangeset
for help on using the changeset viewer.