Stone.cs
上传用户:yiyuerguo
上传日期:2014-09-27
资源大小:3781k
文件大小:1k
源码类别:

C#编程

开发平台:

Others

  1. using System;
  2. using System.Drawing;
  3. namespace FiveStones
  4. {
  5. /// <summary>
  6. /// Stone(棋子类) 的摘要说明。
  7. /// 提供棋子相关的属性,方法,事件
  8. /// </summary>
  9. public class Stone
  10. {
  11. private Graphics mg;
  12. //从文件获取
  13. private Image imgBlackStone;  //黑子图片
  14. private Image imgWhiteStone;  //白子图片
  15. public Stone(Graphics g)
  16. {
  17. //读取黑子,白子图片
  18. //从资源中获取
  19. System.Reflection.Assembly thisExe;
  20. thisExe = System.Reflection.Assembly.GetExecutingAssembly();
  21. System.IO.Stream wfile = thisExe.GetManifestResourceStream("FiveStones.whitestone.gif");
  22. System.IO.Stream bfile = thisExe.GetManifestResourceStream("FiveStones.blackstone.gif");
  23. imgBlackStone = System.Drawing.Image.FromStream(bfile);
  24. imgWhiteStone = System.Drawing.Image.FromStream(wfile);
  25. bfile.Close();
  26. wfile.Close();
  27. //从文件获取
  28. //imgBlackStone = System.Drawing.Image.FromFile("blackstone.gif");  //黑子图片
  29. //imgWhiteStone = System.Drawing.Image.FromFile("whitestone.gif");  //白子图片
  30. mg = g;
  31. }
  32. /// <summary>
  33. /// 绘制棋子
  34. /// </summary>
  35. /// <param name="m"></param>
  36. /// <param name="n"></param>
  37. /// <param name="flag">判断是黑棋(true)还是白棋(false)</param>
  38. public void DrawStone(int m,int n,bool flag)
  39. {
  40. if (flag)
  41. {
  42. mg.DrawImage(imgBlackStone,m*40,n*40,imgBlackStone.Width,imgBlackStone.Height);
  43. }
  44. else
  45. {
  46. mg.DrawImage(imgWhiteStone,m*40,n*40,imgWhiteStone.Width,imgWhiteStone.Height);
  47. }
  48. }
  49. }
  50. }