1 | using System; |
---|
2 | using System.Collections.Generic; |
---|
3 | using Jypeli; |
---|
4 | using Jypeli.Assets; |
---|
5 | using Jypeli.Controls; |
---|
6 | using Jypeli.Effects; |
---|
7 | using Jypeli.Widgets; |
---|
8 | |
---|
9 | public class Peli : PhysicsGame |
---|
10 | { |
---|
11 | const int SCREEN_WIDTH = 50; |
---|
12 | const int SCREEN_HEIGTH = 50; |
---|
13 | Player player; |
---|
14 | |
---|
15 | public override void Begin() |
---|
16 | { |
---|
17 | Gravity = new Vector(0, -1000); |
---|
18 | |
---|
19 | createLevel(); |
---|
20 | //lisaaNappaimet(); |
---|
21 | |
---|
22 | Camera.Follow(player); |
---|
23 | Camera.ZoomFactor = 1.2; |
---|
24 | Camera.StayInLevel = true; |
---|
25 | } |
---|
26 | |
---|
27 | void createLevel() |
---|
28 | { |
---|
29 | TileMap levelSpec = TileMap.FromFile("ReactorEntrance.txt"); |
---|
30 | levelSpec['='] = createVerticalBlock; |
---|
31 | levelSpec['|'] = createHorizontalBlock; |
---|
32 | levelSpec['P'] = addPlayer; |
---|
33 | levelSpec['a'] = addMeleeAlien; |
---|
34 | levelSpec.Insert(SCREEN_WIDTH, SCREEN_HEIGTH); |
---|
35 | Level.CreateBorders(); |
---|
36 | } |
---|
37 | |
---|
38 | Player addPlayer() |
---|
39 | { |
---|
40 | player = new Player(10.0, 10.0, Shape.Rectangle); |
---|
41 | return player; |
---|
42 | } |
---|
43 | |
---|
44 | MeleeAlien addMeleeAlien() |
---|
45 | { |
---|
46 | MeleeAlien meleeAlien = new MeleeAlien(20.0, 20.0, Shape.Rectangle, 10, "Patrol"); |
---|
47 | return meleeAlien; |
---|
48 | } |
---|
49 | |
---|
50 | PhysicsObject createHorizontalBlock() |
---|
51 | { |
---|
52 | PhysicsObject hBlock = PhysicsObject.CreateStaticObject(SCREEN_WIDTH, SCREEN_HEIGTH); |
---|
53 | hBlock.Color = Color.Black; |
---|
54 | return hBlock; |
---|
55 | } |
---|
56 | |
---|
57 | PhysicsObject createVerticalBlock() |
---|
58 | { |
---|
59 | PhysicsObject vBlock = PhysicsObject.CreateStaticObject(SCREEN_WIDTH, SCREEN_HEIGTH); |
---|
60 | vBlock.Color = Color.Red; |
---|
61 | return vBlock; |
---|
62 | } |
---|
63 | } |
---|