⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pub.cs

📁 windows mobile上开发的推箱子小游戏,用C#写的,虽然只是DEMO版但大致功能已经实现
💻 CS
字号:
using System;
  using System.Drawing;
  using System.Text;
  using System.IO;
  using System.Reflection;
  
  namespace Skyiv.Ben.PushBox.Common
  {
    /// <summary>
    /// 公共的字段和方法
    /// </summary>
    static class Pub
    {
      public const int OverY = 4; // 允许在屏幕(Y)方向超过的像素数
      public const int DefaultMaxLevelSize = 32; // 缺省的最大关尺寸(宽度和高度)
      public const int DefaultStepDelay = 100;   // 缺省移动时间间隔(毫秒)
      public const int DefaultReplayDelay = 300; // 缺省回放时间间隔(毫秒)
      public const int MaxDelay = 1000;          // 允许的最大时间间隔(毫秒)
      public readonly static string ConfigFileName = Path.Combine(baseDirectory, "PushBox.cfg"); // 配置文件全路径名
      public readonly static Encoding Encode = Encoding.GetEncoding("GB2312"); // Windows Mobile 6.0 不支持 GB18030
      static string baseDirectory { get { return Path.GetDirectoryName(Pub.CodeBases); } } // 本程序所在的目录
  
      static Assembly Assembly { get { return Assembly.GetExecutingAssembly(); } }
      static AssemblyName AssemblyName { get { return Pub.Assembly.GetName(); } }
      public static Version Version { get { return Pub.AssemblyName.Version; } } // 本程序的版本
      public static string TextDirectory { get { return Path.Combine(baseDirectory, "text"); } }
      public static string DataDirectory { get { return Path.Combine(baseDirectory, "data"); } }
      public static string StepsDirectory { get { return Path.Combine(baseDirectory, "steps"); } }
      public const string TextExtName = ".bxa"; // 文本文件扩展名
      public const string DataExtName = ".bxb"; // 数据文件扩展名
      public const string StepsExtName = ".bxs"; // 通关步骤文件扩展名
  
      /// <summary>
      /// 本程序的全路径名
      /// </summary>
      public static string CodeBases
      {
        get
        {
          string codeBase = Pub.AssemblyName.CodeBase;
          string uri = "file:///";
          if (codeBase.StartsWith(uri)) codeBase = codeBase.Substring(uri.Length);
          return codeBase;
        }
      }
  
      /// <summary>
      /// 给出指定尺寸的显示字符串,格式为: 宽x高
      /// </summary>
      /// <param name="size">指定的尺寸</param>
      /// <returns>指定尺寸的显示字符串</returns>
      public static string ToString(Size size)
      {
        return size.Width + "x" + size.Height;
      }
  
      /// <summary>
      /// 将走法步骤转换为字符串
      /// </summary>
      /// <param name="steps">走法步骤</param>
      /// <returns>转换后的字符串</returns>
      public static string ToString(Step[] steps)
      {
        StringBuilder sb = new StringBuilder();
        foreach (Step step in steps) sb.Append((char)step);
        char[] array = sb.ToString().ToCharArray();
        Array.Reverse(array);
        return new string(array);
      }
  
      /// <summary>
      /// 给出指定版本的信息,格式为: x.x (build: yyyy-MM-dd)
      /// </summary>
      /// <param name="version">指定的版本</param>
      /// <returns>指定版本的信息</returns>
      public static string GetVersionBuildString(Version version)
      {
        double days = version.Build + 2 * version.Revision / ((double)TimeSpan.TicksPerDay / TimeSpan.TicksPerSecond);
        return string.Format("{0} (Build: {1})", version.ToString(2), (new DateTime(2000, 1, 1)).AddDays(days).ToString("yyyy-MM-dd HH:mm:ss"));
      }
  
      /// <summary>
      /// 给出指定异常的信息,包含其内含异常的信息
      /// </summary>
      /// <param name="ex">指定的异常</param>
      /// <param name="isDebug">是否给出详细信息</param>
      /// <returns>指定异常的信息</returns>
      public static string GetMessage(Exception ex, bool isDebug)
      {
        StringBuilder sb = new StringBuilder();
        for (Exception e = ex; e != null; e = e.InnerException)
        {
          sb.Append(isDebug ? e.ToString() : e.Message);
          sb.Append(Fcl.NewLine);
        }
        return sb.ToString();
      }
    }
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -