public IOption <SharedLogic.Point> Click()
        {
            var mouse = Mouse.GetState();

            if (mouse.LeftButton == ButtonState.Pressed)
            {
                touchX  = Convert.ToInt32(mouse.Position.X);
                touchY  = Convert.ToInt32(mouse.Position.Y);
                touchXY = new SharedLogic.Point(touchX, touchY);
                return(new Some <SharedLogic.Point>(touchXY));
            }
            return(new None <SharedLogic.Point>());
        }
        public IOption <SharedLogic.Point> Click()
        {
            TouchCollection touch = TouchPanel.GetState();

            if (touch.Count > 0)
            {
                if (touch[0].State == TouchLocationState.Moved || touch[0].State == TouchLocationState.Pressed)
                {
                    int touchX = Convert.ToInt32(touch[0].Position.X);
                    int touchY = Convert.ToInt32(touch[0].Position.Y);
                    touchXY = new SharedLogic.Point(touchX, touchY);
                    return(new Some <SharedLogic.Point>(touchXY));
                }
            }
            return(new None <SharedLogic.Point>());
        }
예제 #3
0
        public void DrawRectangle(SharedLogic.Point top_left_coordinate, float width, float height, Colour color, string sprite_name)
        {
            switch (sprite_name)
            {
            case "white_pixel":
                sprite_batch.Draw(white_pixel, new Microsoft.Xna.Framework.Rectangle(new Microsoft.Xna.Framework.Point(top_left_coordinate.X, top_left_coordinate.Y), new Microsoft.Xna.Framework.Point((int)width, (int)height)), Convert_color(color));
                break;

            case "number_0":
                sprite_batch.Draw(number_0, new Microsoft.Xna.Framework.Rectangle(new Microsoft.Xna.Framework.Point(top_left_coordinate.X, top_left_coordinate.Y), new Microsoft.Xna.Framework.Point((int)width, (int)height)), Convert_color(color));
                break;

            case "number_1":
                sprite_batch.Draw(number_1, new Microsoft.Xna.Framework.Rectangle(new Microsoft.Xna.Framework.Point(top_left_coordinate.X, top_left_coordinate.Y), new Microsoft.Xna.Framework.Point((int)width, (int)height)), Convert_color(color));
                break;

            case "number_2":
                sprite_batch.Draw(number_2, new Microsoft.Xna.Framework.Rectangle(new Microsoft.Xna.Framework.Point(top_left_coordinate.X, top_left_coordinate.Y), new Microsoft.Xna.Framework.Point((int)width, (int)height)), Convert_color(color));
                break;

            case "number_3":
                sprite_batch.Draw(number_3, new Microsoft.Xna.Framework.Rectangle(new Microsoft.Xna.Framework.Point(top_left_coordinate.X, top_left_coordinate.Y), new Microsoft.Xna.Framework.Point((int)width, (int)height)), Convert_color(color));
                break;

            case "number_4":
                sprite_batch.Draw(number_4, new Microsoft.Xna.Framework.Rectangle(new Microsoft.Xna.Framework.Point(top_left_coordinate.X, top_left_coordinate.Y), new Microsoft.Xna.Framework.Point((int)width, (int)height)), Convert_color(color));
                break;

            case "number_5":
                sprite_batch.Draw(number_5, new Microsoft.Xna.Framework.Rectangle(new Microsoft.Xna.Framework.Point(top_left_coordinate.X, top_left_coordinate.Y), new Microsoft.Xna.Framework.Point((int)width, (int)height)), Convert_color(color));
                break;

            default:
                throw new Exception(sprite_name);
            }
        }