//usingディレクティブで名前空間の参照を簡単にします。
using System;
using System.Drawing;
using System.Windows.Forms;
using Wakaba;

namespace Game
{
    class Game
    {
        //オブジェクト変数を宣言します。
        private static Helper w;

        [STAThread]
        static void Main(string[] args)
        {
            try
            {
                int intX;
                int intY;
                int intZ;
                string strWork;

                //オブジェクト変数をインスタンス化します。
                w = new Helper();

                //若葉ヘルパーを初期化します。
                w.Initialize();

                w.MouseHide();

                w.SpriteCreate("背景", MyGame1.Properties.Resources.wall, Helper.TransparentColor.None);
                w.SpriteShow("背景");
                w.SpritePosition("背景", 3, 0, 0);

                w.SpriteCreate("マウスカーソル", MyGame1.Properties.Resources.cursor, Helper.TransparentColor.PictureBottomRight);
                w.SpriteHitAdd("マウスカーソル", "当りマウスカーソル", 0, 0, 32, 32);
                w.SpriteShow("マウスカーソル");
                w.MouseX = 272;
                w.MouseY = 192;

                w.SpriteCreate("ボタン", MyGame1.Properties.Resources.button, Helper.TransparentColor.PictureBottomRight);
                w.SpriteHitAdd("ボタン", "当りボタン", 0, 0, 145, 35);
                w.SpriteShow("ボタン");
                w.SpritePosition("ボタン", 2, 246, 380);

                w.SpriteCreate("文字列", 128, 128);
                w.SpriteShow("文字列");
                w.SpritePosition("文字列", 0, 0, 0);

                //ウィンドウを閉じるまで画面を更新します。
                bool blnIsLoop = true;
                do {
                    intX = w.MouseX;
                    intY = w.MouseY;
                    intZ = w.MouseWheel;
                    strWork = "X:" + intX + Environment.NewLine + "Y:" + intY + Environment.NewLine + "Z:" + intZ + Environment.NewLine;

                    w.SpriteFillColor("文字列", 0, 0, 128, 128);
                    w.SpriteText("文字列", strWork, 0, 0, "MS ゴシック", 16, FontStyle.Bold, Brushes.Black);

                    w.SpritePosition("マウスカーソル", 1, intX, intY);

                    if (w.MouseClickLeft)
                    {
                        foreach (Helper.HitName objHitName in w.SpriteHitList("マウスカーソル"))
                        {
                            if (objHitName.AreaName == "当りボタン")
                            {
                                blnIsLoop = false;
                            }
                        }
                                            
                    }

                    w.ScreenRefresh(true);

                } while (!w.WindowClosing && blnIsLoop);

            }
            catch (Exception ex)
            {
                //エラーメッセージを表示します。
                MessageBox.Show(ex.Message + ex.StackTrace);
            }

            //若葉ヘルパーのオブジェクトを破棄します。
            w.Dispose();
        }
    }
}