亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

WPF實現魔方小游戲

2019-10-29 21:02:41
字體:
來源:轉載
供稿:網友

今天給大家帶來的是一塊用WPF 實現魔方的小游戲,先看一下效果圖

WPF魔方小游戲,WPF魔方,WPF小游戲

代碼如下,先寫一個類,用來判斷是否可以移動

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace _0705{  class ClassWay  {    public ClassWay(int num)    {      if (num < 9 || (num > 17 && num < 27) || num > 35)      {        if (num % 3 == 0)        {          IsT1 = true;        }        if (num % 3 == 1)        {          IsT2 = true;        }        if (num % 3 == 2)        {          IsT3 = true;        }      }      if (num > 8 && num < 36)      {        if (num < 12 || (num > 17 && num < 21) || (num > 26 && num < 30))        {          IsL1 = true;        }        else          if ((num > 11 && num < 15) || (num > 20 && num < 24) || (num > 29 && num < 33))          {            IsL2 = true;          }          else          {            IsL3 = true;          }      }    }    int num;    public int Num    {      get { return num; }      set { num = value; }    }    bool isT1;    public bool IsT1    {      get { return isT1; }      set { isT1 = value; }    }    bool isT2;    public bool IsT2    {      get { return isT2; }      set { isT2 = value; }    }    bool isT3;    public bool IsT3    {      get { return isT3; }      set { isT3 = value; }    }    bool isL1;    public bool IsL1    {      get { return isL1; }      set { isL1 = value; }    }    bool isL2;    public bool IsL2    {      get { return isL2; }      set { isL2 = value; }    }    bool isL3;    public bool IsL3    {      get { return isL3; }      set { isL3 = value; }    }  }}

下面是主函數的代碼

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;namespace _0705{  /// <summary>  /// MainWindow.xaml 的交互邏輯  /// </summary>  public partial class MainWindow : Window  {    Random r = new Random();    int[] num = new int[45];    ClassWay[] cW = new ClassWay[45];    Image[] imgAll = new Image[45];    List<Image> imgmMove = new List<Image>();    public MainWindow()    {      InitializeComponent();      this.Width = SystemParameters.FullPrimaryScreenWidth;      this.Height = SystemParameters.FullPrimaryScreenHeight;      this.Left = 0;      this.Top = 0;      this.WindowStyle = System.Windows.WindowStyle.None;      this.AllowsTransparency = true;      this.Background = Brushes.Transparent;      for (int i = 0; i < 45; i++)      {        num[i] = r.Next(1, 6);        int temp = 0;        for (int j = 0; j < i; j++)        {          if (num[i] == num[j])          {            temp++;            if (temp == 9)            {              i--;              break;            }          }        }      }      for (int i = 0; i < 45; i++)      {        cW[i] = new ClassWay(i);        cW[i].Num = num[i];        //Image img = new Image();        imgAll[i] = new Image();        imgAll[i].Tag = i;        imgAll[i].Width = 50;        imgAll[i].Height = 50;        imgAll[i].Source = new BitmapImage(new Uri("images/" + num[i] + ".png", UriKind.Relative));        back.Children.Add(imgAll[i]);        if (i < 9)        {          Canvas.SetLeft(imgAll[i], 480 + i % 3 * imgAll[i].Width);          Canvas.SetTop(imgAll[i], 50 + i / 3 * imgAll[i].Height);        }        else          if (i < 18)          {            Canvas.SetLeft(imgAll[i], 300 + (i - 9) % 3 * imgAll[i].Width);            Canvas.SetTop(imgAll[i], 230 + (i - 9) / 3 * imgAll[i].Height);          }          else            if (i < 27)            {              Canvas.SetLeft(imgAll[i], 480 + (i - 18) % 3 * imgAll[i].Width);              Canvas.SetTop(imgAll[i], 230 + (i - 18) / 3 * imgAll[i].Height);            }            else              if (i < 36)              {                Canvas.SetLeft(imgAll[i], 660 + (i - 27) % 3 * imgAll[i].Width);                Canvas.SetTop(imgAll[i], 230 + (i - 27) / 3 * imgAll[i].Height);              }              else              {                Canvas.SetLeft(imgAll[i], 480 + (i - 36) % 3 * imgAll[i].Width);                Canvas.SetTop(imgAll[i], 410 + (i - 36) / 3 * imgAll[i].Height);              }      }      for (int i = 0; i < 12; i++)      {        Button btn = new Button();        if (i < 3 || i > 8)        {          btn.Width = 50;          btn.Height = 30;          if (i < 3)          {            btn.Content = "上";            Canvas.SetLeft(btn, 480 + i * btn.Width);            Canvas.SetTop(btn, 200);          }          else          {            btn.Content = "下";            Canvas.SetLeft(btn, 480 + (i - 9) * btn.Width);            Canvas.SetTop(btn, 380);          }        }        else        {          btn.Width = 30;          btn.Height = 50;          if (i > 2 && i < 6)          {            btn.Content = "左";            Canvas.SetLeft(btn, 450);            Canvas.SetTop(btn, 230 + (i - 3) * btn.Height);          }          else          {            btn.Content = "右";            Canvas.SetLeft(btn, 630);            Canvas.SetTop(btn, 230 + (i - 6) * btn.Height);          }        }        btn.Tag = i;        btn.Click += new RoutedEventHandler(btn_Click);        back.Children.Add(btn);      }    }    void btn_Click(object sender, RoutedEventArgs e)    {      imgmMove.Clear();      Button btn = (Button)sender;      switch (btn.Tag.ToString())      {        case "0":          foreach (Image img in imgAll)          {            if (cW[(int)img.Tag].IsT1)            {              imgmMove.Add(img);            }          }          //MessageBox.Show(imgmMove.Count.ToString());          Move();          break;        case "1":          foreach (Image img in imgAll)          {            if (cW[(int)img.Tag].IsT2)            {              imgmMove.Add(img);            }          }          //MessageBox.Show(imgmMove.Count.ToString());          Move();          break;        case "2":          foreach (Image img in imgAll)          {            if (cW[(int)img.Tag].IsT3)            {              imgmMove.Add(img);            }          }          //MessageBox.Show(imgmMove.Count.ToString());          Move();          break;        case "3":          foreach (Image img in imgAll)          {            if (cW[(int)img.Tag].IsL1)            {              imgmMove.Add(img);            }          }          //MessageBox.Show(imgmMove.Count.ToString());          Move();          break;        case "4":          foreach (Image img in imgAll)          {            if (cW[(int)img.Tag].IsL2)            {              imgmMove.Add(img);            }          }          //MessageBox.Show(imgmMove.Count.ToString());          Move();          break;        case "5":          foreach (Image img in imgAll)          {            if (cW[(int)img.Tag].IsL3)            {              imgmMove.Add(img);            }          }          //MessageBox.Show(imgmMove.Count.ToString());          Move();          break;        case "6":          foreach (Image img in imgAll)          {            if (cW[(int)img.Tag].IsL1)            {              imgmMove.Add(img);            }          }          //MessageBox.Show(imgmMove.Count.ToString());          imgmMove.Reverse();          Move();          break;        case "7":          foreach (Image img in imgAll)          {            if (cW[(int)img.Tag].IsL2)            {              imgmMove.Add(img);            }          }          //MessageBox.Show(imgmMove.Count.ToString());          imgmMove.Reverse();          Move();          break;        case "8":          foreach (Image img in imgAll)          {            if (cW[(int)img.Tag].IsL3)            {              imgmMove.Add(img);            }          }          //MessageBox.Show(imgmMove.Count.ToString());          imgmMove.Reverse();          Move();          break;        case "9":          foreach (Image img in imgAll)          {            if (cW[(int)img.Tag].IsT1)            {              imgmMove.Add(img);            }          }          //MessageBox.Show(imgmMove.Count.ToString());          imgmMove.Reverse();          Move();          break;        case "10":          foreach (Image img in imgAll)          {            if (cW[(int)img.Tag].IsT2)            {              imgmMove.Add(img);            }          }          //MessageBox.Show(imgmMove.Count.ToString());          imgmMove.Reverse();          Move();          break;        case "11":          foreach (Image img in imgAll)          {            if (cW[(int)img.Tag].IsT3)            {              imgmMove.Add(img);            }          }          //MessageBox.Show(imgmMove.Count.ToString());          imgmMove.Reverse();          Move();          break;      }      bool isSucess = true;      for (int i = 18; i < 26; i++)      {        if(cW[i].Num!=cW[i+1].Num)        {          isSucess = false;          break;        }      }      if(isSucess==true)      {        MessageBox.Show("成功");      }    }    private void Move()    {      Image imgTemp = new Image();      imgTemp.Source = imgmMove[0].Source;      int temp=cW[(int)imgmMove[0].Tag].Num;      for (int i = 0; i < 8; i++)      {        imgmMove[i].Source = imgmMove[i + 1].Source;        cW[(int)imgmMove[i].Tag].Num = cW[(int)imgmMove[i+1].Tag].Num;      }      imgmMove[8].Source = imgTemp.Source;      cW[(int)imgmMove[8].Tag].Num = temp;    }  }}

下載地址:

魔方小游戲

希望大家會喜歡。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久男人资源视频| 91社区国产高清| 亚洲视频一区二区| 久久6精品影院| 国产精品大片wwwwww| 欧美激情手机在线视频| 国产mv免费观看入口亚洲| 国产精品综合久久久| 日韩女优人人人人射在线视频| 粉嫩av一区二区三区免费野| 久久久精品视频成人| 精品福利在线视频| 欧美www视频在线观看| 亚洲综合自拍一区| 国产精品国产自产拍高清av水多| 欧洲s码亚洲m码精品一区| 国产精品人成电影在线观看| 欧美性猛交xxxxx免费看| 不卡伊人av在线播放| 亚洲视频网站在线观看| 97视频在线观看视频免费视频| 亚洲色图50p| 色视频www在线播放国产成人| 北条麻妃一区二区在线观看| 久久频这里精品99香蕉| 国产精品入口夜色视频大尺度| 国产亚洲一级高清| 68精品国产免费久久久久久婷婷| 久久久精品免费视频| 国产精品欧美久久久| 成人精品网站在线观看| 久久69精品久久久久久国产越南| 揄拍成人国产精品视频| 亚洲人成网站999久久久综合| 亚洲国产精品久久| 国产精品专区一| 色噜噜狠狠狠综合曰曰曰88av| 欧洲成人午夜免费大片| 欧美日韩国产丝袜另类| 色综合伊人色综合网| 日本欧美在线视频| 国产脚交av在线一区二区| 日日骚av一区| 亚洲国产精品成人av| 国产欧美一区二区三区久久| 国产成人精品日本亚洲专区61| 国产日韩欧美视频在线| 欧美日韩性生活视频| 日韩在线观看免费全集电视剧网站| 国产精品com| 日韩电影在线观看免费| 亚洲va欧美va国产综合剧情| 不用播放器成人网| 亚洲欧美福利视频| 国产精品久久久久久久久粉嫩av| 久久精品在线播放| 中文字幕久久久| 久久99久久99精品中文字幕| 亚洲精品免费在线视频| 亚洲欧美日韩在线一区| 永久免费看mv网站入口亚洲| 亚洲二区在线播放视频| 久久久久久久久久国产精品| 亚洲香蕉伊综合在人在线视看| 91精品国产综合久久香蕉922| 日韩国产激情在线| 国产日韩欧美在线观看| 九九久久国产精品| 亚洲美女www午夜| 精品久久久香蕉免费精品视频| 色樱桃影院亚洲精品影院| 美女福利精品视频| 欧美激情网站在线观看| 亚洲国产精品福利| 国产精品综合网站| 亚洲午夜久久久久久久| 欧美激情在线有限公司| 中文字幕精品www乱入免费视频| 久久久久久12| 91精品国产综合久久久久久久久| 欧美激情精品久久久久久免费印度| 91久久精品美女高潮| 91啪国产在线| 午夜精品www| 91精品久久久久久久久久久久久| 国产精品久久久久久av福利| 中文字幕欧美日韩va免费视频| 国产精品视频区1| 日韩在线免费观看视频| 亚洲天堂影视av| 欧美黄色性视频| 亚洲精品suv精品一区二区| 欧美视频精品一区| 亚洲精品欧美一区二区三区| 精品久久中文字幕| 日本欧美精品在线| 日韩电影免费观看在线观看| 日韩精品黄色网| 精品国产欧美一区二区五十路| 亚洲欧美国产va在线影院| 97在线免费观看| 国产欧美精品一区二区| 日韩中文字幕在线免费观看| 中文字幕视频在线免费欧美日韩综合在线看| 欧美日本中文字幕| 久久99国产综合精品女同| 尤物yw午夜国产精品视频明星| 国产成人在线一区二区| 日韩大陆毛片av| 日韩动漫免费观看电视剧高清| 欧美性猛交99久久久久99按摩| 91精品啪在线观看麻豆免费| 成人h视频在线观看播放| 91精品视频在线| 国产精品视频白浆免费视频| 91成品人片a无限观看| 国产精品美女免费| 国模视频一区二区三区| 午夜精品一区二区三区在线播放| 视频一区视频二区国产精品| 日韩av免费一区| 亚洲精品视频中文字幕| 色在人av网站天堂精品| 欧美日韩亚洲精品一区二区三区| 日韩精品亚洲视频| 欧美一级在线亚洲天堂| 懂色av影视一区二区三区| 久久精品国产亚洲7777| 亚洲福利精品在线| 午夜精品一区二区三区在线视| 国产精品在线看| 欧美大人香蕉在线| 久久av.com| 91在线免费视频| 亚洲欧美精品中文字幕在线| 久久久久久国产免费| 欧美成人中文字幕在线| 精品成人在线视频| 久久亚洲国产精品成人av秋霞| 久久久久久久国产精品视频| 欧美精品做受xxx性少妇| 欧美精品videossex88| 2021国产精品视频| 国产极品精品在线观看| 亚洲jizzjizz日本少妇| 欧美激情xxxx性bbbb| 黑人巨大精品欧美一区二区三区| 欧美国产日韩免费| 久久久久久久影院| 91精品在线播放| 欧美一级大片在线免费观看| 136fldh精品导航福利| 久久久免费在线观看| 日韩理论片久久| 日本精品视频在线观看| 97涩涩爰在线观看亚洲| 性欧美视频videos6一9| 亚洲午夜未删减在线观看| 欧美激情一区二区久久久| 国产福利精品av综合导导航| 欧美精品午夜视频| 欧美亚洲国产成人精品| 欧美日韩亚洲精品一区二区三区| 欧美成人激情视频免费观看|