source: 2010/23/hniemi/BlockPusher/Blockpusher/Blockpusher/Blockpusher.cs @ 2633

Revision 2633, 2.5 KB checked in by hniemi, 8 years ago (diff)

Toiminnallisuutta jaettu luokkiin

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8using System.IO;
9
10public class Blockpusher : Game
11{
12    public static readonly int BlockSize = 20;
13
14    private readonly Color playerColor = Color.Blue;
15    private readonly Color satisfyColor = Color.Green;
16    private readonly Color unsatisfyColor = Color.Red;
17
18    private BlockLevel currentLevel;
19
20    private List<String> testLevel = new List<string>(new String[]
21                                 {"xxxxxxxxx",
22                                  "x  x  xmx",
23                                  "xs p  xbx",
24                                  "xm x    x",
25                                  "x  xxxxxx",
26                                  "x      xx",
27                                  "xxxxxxxxx"});
28
29    public override void Begin()
30    {
31        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
32        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
33
34        currentLevel = new BlockLevel(this);
35        currentLevel.CreateField(testLevel);
36        SetControls();
37    }
38
39
40
41    /// <summary>
42    /// Reads lines from file
43    /// </summary>
44    /// <param name="file">Sourcefile</param>
45    public List<String> ReadFile(string file) 
46    {
47        List<String> lines = new List<string>();
48        try
49        {
50            using (StreamReader sr = new StreamReader(file))
51            {
52                String line;
53                while ((line = sr.ReadLine()) != null)
54                {
55                    lines.Add(line);
56                }
57            }
58        }
59        catch (Exception e)
60        {
61            return null;
62        }
63        return lines;
64    }
65
66    /// <summary>
67    /// Moves player in current level
68    /// </summary>
69    /// <param name="xMov">X-movement</param>
70    /// <param name="yMov">Y-movement</param>
71    public void MovePlayer(int xMov, int yMov)
72    {
73        currentLevel.MovePlayer(xMov, yMov);
74    }
75
76    /// <summary>
77    /// Sets controllisteners for keyboard
78    /// </summary>
79    public void SetControls() 
80    {
81        Keyboard.Listen(Key.Up, ButtonState.Pressed, MovePlayer, null, 0, -1);
82        Keyboard.Listen(Key.Down, ButtonState.Pressed, MovePlayer, null, 0, 1);
83        Keyboard.Listen(Key.Left, ButtonState.Pressed, MovePlayer, null, -1, 0);
84        Keyboard.Listen(Key.Right, ButtonState.Pressed, MovePlayer, null, 1, 0);
85    }
86}
Note: See TracBrowser for help on using the repository browser.