WPF翻牌连连看(一)

设计界面:

Mybutton.cs代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Controls;
using System.Windows.Media.Imaging;namespace 开心连连看
{class MyButton : Button{//图片的名称,用于判断两个按钮是否为同一个public int Flag { get; set; }//Button所在行public int RowNum { get; set; }//所在列public int ColNum { get; set; }public int BJ { get; set; }public bool Isdianjiguo { get; set; }public MyButton(int flag, int romNum, int colNum){this.Flag = flag;this.RowNum = romNum;this.ColNum = colNum;//不为0的时候创建图片if (flag != 0){Image img = new Image();/*img.Source = new BitmapImage(new Uri(@"images\" + flag + ".png", UriKind.Relative));*/this.Content = img;this.BJ = flag;}}}
}

Myrandom代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 开心连连看
{public  class MyRandom{private int Count;  //产生多少个数字private int Amount; //产生几份private int Max;    //最大数(不包含)private int Min;    //最小数/// <summary>/// 将设置随机数独立成MyRandom.cs,这里将图片个数等一些属性都设置成了可变的/// </summary>/// <param name="count">产生多少个数字</param>/// <param name="amount">产生几份(须为count的约数)</param>/// <param name="min">最小数</param>/// <param name="max">最大数(不包含)</param>public MyRandom(int count, int amount, int min, int max){if (count % amount != 0)throw new Exception("count须为amount的整数倍");if (min > max)throw new Exception("min必须小于等于max");Count = count;Amount = amount;Max = max;Min = min;}public List<int> Get(){Random rand = new Random();List<int> ran = new List<int>();for (int n = 0; n < Count / Amount; n++)ran.Add(rand.Next(Min, Max));for (int i = 1; i < Amount; i++){List<int> temp = new List<int>();temp.AddRange(ran);for (int n = 0; n < Count / Amount; n++){int r = rand.Next(0, temp.Count);ran.Insert(rand.Next(0, ran.Count), temp[r]);temp.RemoveAt(r);}}return ran;}}
}

XAML代码:

<Window x:Class="开心连连看.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:开心连连看"mc:Ignorable="d"Title="开心连连看" Height="601.266" Width="525.425" Icon="images/连连看.ico" WindowStartupLocation="CenterScreen" Loaded="Window_Loaded_1" ResizeMode="NoResize" WindowStyle="None"  ><Grid x:Name="BG" Margin="10,0,4,19.333"><Grid.RowDefinitions><RowDefinition Height="30"></RowDefinition><RowDefinition Height="100"></RowDefinition><RowDefinition></RowDefinition></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="0"></ColumnDefinition><ColumnDefinition Width="0"/><ColumnDefinition Width="8*"></ColumnDefinition><ColumnDefinition/><ColumnDefinition Width="239*"/><ColumnDefinition Width="0"></ColumnDefinition><ColumnDefinition Width="15.333"/></Grid.ColumnDefinitions><Menu Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="7" Margin="-12,0,0.333,0" ><MenuItem Width="90" Height="30" HorizontalContentAlignment="Center"VerticalContentAlignment="Center" Click="MenuItem_Click_7"><MenuItem.Icon><Image Source="images/Sysico.ico" Margin="0"></Image></MenuItem.Icon><MenuItem.Header><Label Content="个人中心" Margin="-10,0,0,0"></Label></MenuItem.Header></MenuItem><MenuItem Width="80" Height="30" HorizontalContentAlignment="Center"VerticalContentAlignment="Center"><MenuItem.Icon><Image Source="images/dj.jpg" Margin="0"></Image></MenuItem.Icon><MenuItem.Header><Label Content="等级" Margin="-10,0,0,0"></Label></MenuItem.Header><MenuItem Header="一级" Margin="0,0,-30,0" Click="MenuItem_Click_3"><MenuItem.Icon><Image Source="images/xx.jpg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="二级" Margin="0,0,-30,0" Click="MenuItem_Click_9"><MenuItem.Icon><Image Source="images/xx.jpg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="三级" Margin="0,0,-30,0" Click="MenuItem_Click_10"><MenuItem.Icon><Image Source="images/xx.jpg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="四级" Margin="0,0,-30,0" Click="MenuItem_Click_11"><MenuItem.Icon><Image Source="images/xx.jpg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="五级" Margin="0,0,-30,0" Click="MenuItem_Click_12"><MenuItem.Icon><Image Source="images/xx.jpg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="六级" Margin="0,0,-30,0" Click="MenuItem_Click_13"><MenuItem.Icon><Image Source="images/xx.jpg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="七级" Margin="0,0,-30,0" Click="MenuItem_Click_14"><MenuItem.Icon><Image Source="images/xx.jpg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="八级" Margin="0,0,-30,0" Click="MenuItem_Click_15"><MenuItem.Icon><Image Source="images/xx.jpg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="九级" Margin="0,0,-30,0" Click="MenuItem_Click_16"><MenuItem.Icon><Image Source="images/xx.jpg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="十级" Margin="0,0,-30,0" Click="MenuItem_Click_17"><MenuItem.Icon><Image Source="images/xx.jpg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="十一级" Margin="0,0,-40,0" Click="MenuItem_Click_2"><MenuItem.Icon><Image Source="images/yl.jpeg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="十二级" Margin="0,0,-40,0" Click="MenuItem_Click_19"><MenuItem.Icon><Image Source="images/yl.jpeg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="十三级" Margin="0,0,-40,0" Click="MenuItem_Click_20"><MenuItem.Icon><Image Source="images/yl.jpeg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="十四级" Margin="0,0,-40,0" Click="MenuItem_Click_21"><MenuItem.Icon><Image Source="images/yl.jpeg"></Image></MenuItem.Icon></MenuItem><MenuItem Header="十五级" Margin="0,0,-40,0" Click="MenuItem_Click_1"><MenuItem.Icon><Image Source="images/ty.jpg"></Image></MenuItem.Icon></MenuItem></MenuItem><MenuItem Width="80" Height="30" HorizontalContentAlignment="Center"VerticalContentAlignment="Center"><MenuItem.Icon><Image Source="images/mrp.ico"></Image></MenuItem.Icon><MenuItem.Header><Label Content="设置" Margin="-10,0,0,0"></Label></MenuItem.Header><MenuItem Header="背景" Margin="0,0,-19.667,0"><MenuItem.Icon><Image Source="images/bg1.jpg"></Image></MenuItem.Icon><MenuItem Margin="-5,0,-13.333,0" Height="30" Click="MenuItem_Click_4"><MenuItem.Icon><Image Source="images/a.jpg" Margin="-12,-5,-6,-6"></Image></MenuItem.Icon><MenuItem.Header><Label Width="49">春天</Label></MenuItem.Header></MenuItem><MenuItem Margin="-5,0,-13.333,0" Height="30" Click="MenuItem_Click_5"><MenuItem.Icon><Image Source="images/b.jpg" Margin="-12,-5,-6,-6"></Image></MenuItem.Icon><MenuItem.Header><Label Width="49">夏天</Label></MenuItem.Header></MenuItem><MenuItem Margin="-5,0,-13.333,0" Height="30" Click="MenuItem_Click_6"><MenuItem.Icon><Image Source="images/c.jpg" Margin="-12,-5,-6,-6"></Image></MenuItem.Icon><MenuItem.Header><Label Width="49">秋天</Label></MenuItem.Header></MenuItem></MenuItem><MenuItem Header="自定义" Margin="0,0,-40,0" Name="zidingyi" Click="zidingyi_Click"><MenuItem.Icon><Image Source="images/zdy.jpg"></Image></MenuItem.Icon></MenuItem></MenuItem><MenuItem Width="80" Height="30" HorizontalContentAlignment="Center"VerticalContentAlignment="Center" Click="MenuItem_Click_8" ><MenuItem.Icon><Image Source="images/timg.jpg" Margin="0"></Image></MenuItem.Icon><MenuItem.Header ><Label Content="排行榜" Margin="-10,0,0,0" ></Label></MenuItem.Header></MenuItem><MenuItem Width="80" Height="30" HorizontalContentAlignment="Center"VerticalContentAlignment="Center" Click="MenuItem_Click" ><MenuItem.Icon><Image Source="images/exit.ico" Margin="0"></Image></MenuItem.Icon><MenuItem.Header ><Label Content="退出" Margin="-10,0,0,0"  ></Label></MenuItem.Header></MenuItem></Menu><StackPanel Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="3" Margin="0,0,1,0" ><StackPanel.Background><ImageBrush ImageSource="images/menu2.png"></ImageBrush></StackPanel.Background></StackPanel><StackPanel Grid.Row="1" Grid.Column="2" x:Name="df" Grid.ColumnSpan="3" Margin="0,0,1,0"><Label Margin="31,30,261.333,18" RenderTransformOrigin="-2.489,0.556" x:Name="defeng" Height="33"/></StackPanel><StackPanel Grid.Row="1" Grid.Column="2" x:Name="tm" Grid.ColumnSpan="3" Margin="0,0,1,0"><Label Margin="293,30,10,18" RenderTransformOrigin="-2.489,0.556" x:Name="time" Height="43"/></StackPanel><Border Grid.Row="2" Grid.Column="4" Margin="1,0,10,28" ><Border.Background><ImageBrush ImageSource="images/bg7.jpg" Stretch="Fill" ></ImageBrush></Border.Background></Border><Grid Grid.Row="2" Grid.Column="3" Name="bg" Grid.ColumnSpan="2" Margin="1,0,1,28"></Grid><Grid Grid.Row="2" Grid.Column="3" Name="GridGame" Grid.ColumnSpan="2" Margin="1,0,1,28"  ></Grid><Grid Grid.Row="2" Grid.Column="3" Name="bg1" Grid.ColumnSpan="2" Margin="1,0,1,28"></Grid><Grid  Grid.ColumnSpan="7" Margin="-12,5,0.333,-22" Grid.RowSpan="2" Grid.Row="1" Name="gr" Visibility="Hidden"  ><Border Grid.Row="2" Grid.Column="2" Grid.ColumnSpan="3" Margin="0.333,0,6.333,28" ><Border.Background><ImageBrush ImageSource="images/bg4.jpg" Stretch="Fill" ></ImageBrush></Border.Background></Border><Label Content="玩家姓名:" HorizontalAlignment="Left" Margin="138,153,0,0" VerticalAlignment="Top" Width="71"/><TextBox HorizontalAlignment="Left" Height="24" Margin="214,157,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="133" Name="textbox7" IsReadOnly="True"/><Label Content="账      号:" HorizontalAlignment="Left" Margin="138,216,0,0" VerticalAlignment="Top" Width="71" /><Label Content="密       码:" HorizontalAlignment="Left" Margin="138,276,0,0" VerticalAlignment="Top" Width="71" /><TextBox HorizontalAlignment="Left" Height="24" Margin="214,216,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="133" Name="textbox8" IsReadOnly="True"/><TextBox HorizontalAlignment="Left" Height="24" Margin="214,278,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="133" Name="textbox9" IsReadOnly="True"/><Button Content="确   定" Background="Yellow" HorizontalAlignment="Left" Margin="181,346,0,0" VerticalAlignment="Top" Width="87" Height="30" Click="Button_Click"/></Grid></Grid></Window>

XAML.cs代码:

using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Media;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;namespace 开心连连看
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();}// 倒计时定时器DispatcherTimer shitimer = new DispatcherTimer();int time1;int num = 0;private void Window_Loaded_1(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;//得分defeng.Foreground = new LinearGradientBrush(Colors.Pink, Colors.Red, 0);//defeng.Background = Brushes.Cyan;defeng.Content = "得分为:" + num + "分";defeng.FontFamily = new FontFamily("楷体");defeng.FontSize = 25;//时间shitimer.Interval = TimeSpan.FromSeconds(1);shitimer.Tick += Shitimer_Tick;time.Foreground = new LinearGradientBrush(Colors.Pink, Colors.Red, 0);//defeng.Background = Brushes.Cyan;time.Content = "时间:" + time1 / 10 + "秒";time.FontFamily = new FontFamily("楷体");time.FontSize = 25;//shitimer.Start(); player1.Play();bgmusic.Open(new Uri("../../music/2.wav", UriKind.Relative));bgmusic3.Open(new Uri("../../music/win.wav", UriKind.Relative));}//背景音乐1SoundPlayer player1 = new SoundPlayer(@"../../music/1.wav");//背景音乐2MediaPlayer bgmusic = new MediaPlayer();//胜利音乐3MediaPlayer bgmusic3 = new MediaPlayer();private void Shitimer_Tick(object sender, EventArgs e){time1--;time.Content = "时间:" + time1 + "秒";if (time1 <= 0){shitimer.Stop();bgmusic.Stop();MediaPlayer bgmusic3 = new MediaPlayer();bgmusic3.Open(new Uri("../../music/shibai.wav", UriKind.Relative));bgmusic3.Play();MessageBoxResult Out = System.Windows.MessageBox.Show("得分为:" + num + "分" + ",是否重新开始游戏", "游戏结束", MessageBoxButton.YesNo, MessageBoxImage.Information);if (Out.Equals(MessageBoxResult.Yes)){bgmusic.Play();time1 = 81;time.Content = "  时间:" + time1 + "秒";GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;shitimer.Start();num = 0;defeng.Content = "得分为:" + num + "分";}else{System.Windows.Application.Current.Shutdown();}}if (num == 32){shitimer.Stop();player1.Stop();bgmusic.Stop();bgmusic3.Play();Image image = new Image();//添加图片的路径image.Source = new BitmapImage(new Uri("images/yx.jpg", UriKind.Relative));image.Stretch = Stretch.Fill;bg1.Children.Add(image);MessageBoxResult Out = System.Windows.MessageBox.Show("得分为:" + num + "分" + ",是否重新开始游戏", "游戏结束", MessageBoxButton.YesNo, MessageBoxImage.Information);if (Out.Equals(MessageBoxResult.Yes)){arr.Add(70 - time1);for (int i = 0; i < arr.Count - 1; i++){for (int j = 0; j < arr.Count - i - 1; j++){if (arr[j] > arr[j + 1]){int item = arr[j];arr[j] = arr[j + 1];arr[j + 1] = item;}}}image.Visibility = Visibility.Hidden;bgmusic3.Stop();bgmusic.Play();time1++;time.Content = "  时间:" + time1 + "秒";GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;shitimer.Start();num = 0;defeng.Content = "得分为:" + num + "分";}else{System.Windows.Application.Current.Shutdown();/* System.Environment.Exit(0);*/}}}MyButton[,] maps = new MyButton[10, 10];int Amount;int Count;public void Add(){for (int i = 0; i < 10; i++){//行10RowDefinition rowDef = new RowDefinition();GridGame.RowDefinitions.Add(rowDef);//列10ColumnDefinition colDef = new ColumnDefinition();GridGame.ColumnDefinitions.Add(colDef);}Amount = 32;List<int> ran = (new MyRandom(64, 2, 1, Count)).Get();for (int r = 0; r < 10; r++){for (int c = 0; c < 10; c++){MyButton btn;//隐藏第一行第一列和第九行和第九列if (r == 0 || r == 9 || c == 0 || c == 9){btn = new MyButton(0, r, c);btn.Visibility = System.Windows.Visibility.Hidden;}else{int path = (int)ran[(r - 1) * 8 + c - 1];btn = new MyButton(path, r, c);maps[r, c] = btn;Grid.SetColumn(btn, c);Grid.SetRow(btn, r);GridGame.Children.Add(btn);Bgimage(btn);btn.Width = 50;btn.Height = 46;btn.Click += Btn_Click;}}}}// 标记int biaoji;// 判断该谁点击bool isdianji = false;// 上一次翻牌的块MyButton lodbtn;// 本次的MyButton newbtn;// 是否消失bool isxiaoshi = false;// 是否自己点击的自己bool isme = false;//每一个按钮点击事件bool isdonghua = false;private void Btn_Click(object sender, RoutedEventArgs e){//音效MediaPlayer bgmusic2 = new MediaPlayer();bgmusic2.Open(new Uri("../../music/check.wav", UriKind.Relative));bgmusic2.Play();if (!isdonghua){MyButton btn = sender as MyButton;if (!isdianji){// 自己已被点击过btn.Isdianjiguo = true;// 下一个人点击isdianji = true;biaoji = btn.BJ;// 显示当前按钮图片Xianshi(btn.BJ, btn);// 记录这次点击按钮,为上次lodbtn = btn;}// 判断是否为下次点击,同时不是自己再次点击else if (isdianji && !btn.Isdianjiguo){// 上次点击的与本次的比较if (biaoji == btn.BJ){lodbtn.Isdianjiguo = false;// 相同显示本次点击的图片Xianshi(btn.BJ, btn);// 进入消失动画判断isxiaoshi = true;Ddonghua(btn);Ddonghua(lodbtn);// 把这次新的图片给一个变量记录newbtn = btn;// 归位点击isdianji = false;isdonghua = true;}else{lodbtn.Isdianjiguo = false;// 两个不同没消失isxiaoshi = false;// 显示点击的图片Xianshi(btn.BJ, btn);newbtn = btn;// 标记归位biaoji = 100;// 点击为没点击过isdianji = false;//newbtn = btn;Ddonghua(lodbtn);Ddonghua(btn);}}else{isme = true;btn.Isdianjiguo = false;isdianji = false;Ddonghua(btn);}}}//动画private void Ddonghua(MyButton btn){isdonghua = true;Storyboard stor = new Storyboard();DoubleAnimation rotate = new DoubleAnimation(0, 360, new Duration(TimeSpan.FromMilliseconds(600)));Storyboard.SetTarget(rotate, btn);//欧拉角Storyboard.SetTargetProperty(rotate, new PropertyPath("RenderTransform.Angle"));stor.Children.Add(rotate);//旋转对象RotateTransform rotate1 = new RotateTransform();btn.RenderTransform = rotate1;//位置改变方式以旋转对象为主btn.RenderTransformOrigin = new Point(0.5, 0.5);stor.Completed += Stor_Completed;stor.Begin();}int X = 2;private void Stor_Completed(object sender, EventArgs e){isdonghua = false;// 判断为消失动画if (isxiaoshi){//两个都消失lodbtn.Visibility = Visibility.Hidden;newbtn.Visibility = Visibility.Hidden;//音效MediaPlayer bgmusic6 = new MediaPlayer();bgmusic6.Open(new Uri("../../music/2103.wav", UriKind.Relative));bgmusic6.Play();X++;if (X%2==0){//得分num = num + 1;defeng.Content = "得分为:" + num + "分";}else{return;}}// 是自己 else if (isme){Bgimage(lodbtn);isme = false;}// 否则点击的不是自己else{Bgimage(lodbtn);Bgimage(newbtn);}}//给按钮添加遮罩层private void Bgimage(MyButton btn){Image img = new Image();img.Source = new BitmapImage(new Uri("../../images/bg9.jpg", UriKind.Relative));ImageBrush brush = new ImageBrush();brush.ImageSource = img.Source;btn.Background = brush;}//显示private void Xianshi(int path, MyButton btn){Image img = new Image();img.Source = new BitmapImage(new Uri(@"../../images/" + path + ".png", UriKind.Relative));ImageBrush brush = new ImageBrush();brush.ImageSource = img.Source;btn.Background = brush;}//游戏一级private void MenuItem_Click_3(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 4;time1 = 80;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//二级private void MenuItem_Click_9(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 6;time1 = 100;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//三级private void MenuItem_Click_10(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 8;time1 = 150;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//四级private void MenuItem_Click_11(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 10;time1 = 180;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//五级private void MenuItem_Click_12(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 12;time1 = 210;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//六级private void MenuItem_Click_13(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 14;time1 = 250;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//七级private void MenuItem_Click_14(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 16;time1 = 280;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//八级private void MenuItem_Click_15(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 18;time1 = 310;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//九级private void MenuItem_Click_16(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 20;time1 = 340;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//十级private void MenuItem_Click_17(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 22;time1 = 370;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//游戏十一级private void MenuItem_Click_2(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 15;time1 = 400;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//十二级private void MenuItem_Click_19(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 24;time1 = 430;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//十三级private void MenuItem_Click_20(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 26;time1 = 460;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//十四级private void MenuItem_Click_21(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 38;time1 = 490;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//游戏十五级private void MenuItem_Click_1(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;player1.Stop();bgmusic.Play();GridGame.ColumnDefinitions.Clear();GridGame.RowDefinitions.Clear();GridGame.Children.Clear();//消消乐组数Count = 20;time1 = 550;Add();isdianji = false;isxiaoshi = false;isme = false;isdonghua = false;System.Windows.MessageBox.Show("基本规则: 用鼠标点击选取方块,若两方块图案相同,就可以成功将其消除");shitimer.Start();}//退出private void MenuItem_Click(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;System.Windows.Application.Current.Shutdown(); }//春天private void MenuItem_Click_4(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;//清楚图片bg.Children.Clear();Image image = new Image();//添加图片的路径image.Source = new BitmapImage(new Uri("images/a.jpg", UriKind.Relative));//image.Width = 840;//填充image.Stretch = Stretch.Fill;//添加图片bg.Children.Add(image);}//夏天private void MenuItem_Click_5(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;//清楚图片bg.Children.Clear();Image image = new Image();//添加图片的路径image.Source = new BitmapImage(new Uri("images/b.jpg", UriKind.Relative));//image.Width = 840;//填充image.Stretch = Stretch.Fill;//添加图片bg.Children.Add(image);}//秋天private void MenuItem_Click_6(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;//清楚图片bg.Children.Clear();Image image = new Image();//添加图片的路径image.Source = new BitmapImage(new Uri("images/c.jpg", UriKind.Relative));//image.Width = 840;//填充image.Stretch = Stretch.Fill;//添加图片bg.Children.Add(image);}private void zidingyi_Click(object sender, RoutedEventArgs e){System.Windows.Forms.OpenFileDialog openFileDialog = new System.Windows.Forms.OpenFileDialog();//给打开窗口设置格式openFileDialog.Filter = "(*jpg,*png)|*.jpg;*.png;";//打开运行对话框窗口DialogResult result = openFileDialog.ShowDialog();//判断点击OK的时候添加进去if (result == System.Windows.Forms.DialogResult.OK){string back = openFileDialog.FileName;BGimg(back);}}//自定义背景private void BGimg(string back){gr.Visibility = Visibility.Hidden;//清除之前的图片bg.Children.Clear();Image image = new Image();//图片路径image.Source = new BitmapImage(new Uri(back, UriKind.RelativeOrAbsolute));//填充image.Stretch = Stretch.Fill;//添加bg.Children.Add(image);}//个人中心private void MenuItem_Click_7(object sender, RoutedEventArgs e){StreamReader reader = new StreamReader("../../排名/index2.txt");string st = reader.ReadToEnd();//读取所有的字符textbox7.Text = textbox8.Text=st;StreamReader reader1 = new StreamReader("../../排名/index1.txt");string st2 = reader1.ReadToEnd();//读取所有的字符textbox9.Text =st2;gr.Visibility = Visibility.Visible;}List<int> arr = new List<int>();//排行榜private void MenuItem_Click_8(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;for (int i = 0; i < arr.Count; i++){FileStream file = new FileStream("../../排名/index.txt", FileMode.Append, FileAccess.Write);StreamWriter writer = new StreamWriter(file);writer.Write("本关排名:{0};本关时间为:{1}{2}", arr.IndexOf(arr[i]) + 1, arr[i], "\r\n");writer.Close();}StreamReader reader = new StreamReader("../../排名/index.txt");string st = reader.ReadToEnd();//读取所有的字符System.Windows.MessageBox.Show(st + "\r\n");reader.Close();}private void Button_Click(object sender, RoutedEventArgs e){gr.Visibility = Visibility.Hidden;}}
}

运行结果:



WPF翻牌连连看(一)相关推荐

  1. WPF翻盘连连看(二)

    WPF翻盘连连看(二) 设计界面: window1.XAML代码: <Window x:Class="开心连连看.Window1"xmlns="http://sch ...

  2. win10系统想下载win7系统自带的游戏——分享游戏压缩包

    没网络的时候用着win10,突然就想玩之前的windows系统,也就是win7自带的小游戏. 但是一找,发现在win10找不到了,才知道win10已经没了自带游戏了,而且就算可以去应用商店下载,也没有 ...

  3. C#游戏介绍大全,包括不限于(连连看、扫雷、推箱子、贪吃蛇、汉诺塔、消消乐、俄罗斯方块、飞机大战、坦克大战...)

    文章目录 题目 WPF贪吃蛇(彩色版) 飞机大战 象棋 五子棋 1 连连看 2 黑白棋 3 汉诺塔 4 推箱子 5 扫雷 6七巧板 8 人物拼图1 9 人物拼图2 10 停车场游戏 11 坦克大战 1 ...

  4. HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果

    首先感谢w3cfuns的老师~ 今天给大家带来一个CSS3制作的翻牌效果.就是鼠标移到元素上,感觉能够看到元素背后的信息. 大家假设制作考验记忆力的连连看.扑克类的游戏神马的,甚至给女朋友写一些话语, ...

  5. 用WPF做了几个小游戏

    最近看书看累了,参考别人的代码(其实差不多就是把代码重新打了一遍o(╯□╰)o),用wpf做了个<2048>小游戏,顺便在<Git教程>学习下git,也顺便把在<写让别人 ...

  6. Silverlight/Windows8/WPF/WP7/HTML5周学习导读(9月17日-9月23日)

    Silverlight/Windows8/WPF/WP7/HTML5周学习导读(9月17日-9月23日) 本周Silverlight学习资源更新 Silverlight动画设计中对平移动画的一点体会 ...

  7. Silverlight/Windows8/WPF/WP7/HTML5周学习导读(8月5日-8月12日)

    Silverlight/Windows8/WPF/WP7/HTML5周学习导读(8月5日-8月12日) 本周Silverlight学习资源更新 Silverlight设计时特性的使用 _eagle S ...

  8. Windows8/Silverlight/WPF/WP7周学习导读(11月12日-11月18日)

    Windows8/Silverlight/WPF/WP7/HTML5周学习导读(11月12日-11月18日) 本周Windows 8开发学习资源更新 快速构建Windows 8风格应用25-数据绑定 ...

  9. 传智播客WPF视频 第二节

    1.Textbox 和 PasswordBox Textbox     属性:Text PasswordBox属性:Password if (TbAdmin.Text == "admin&q ...

最新文章

  1. 在vue项目中对axios进行封装
  2. 自动化测试之alert弹窗的切换
  3. 2.3.6 生产者消费者问题
  4. 淘宝API调用 申请 获取session key
  5. CF1479C Continuous City
  6. [html] 举例说明实现文字贯穿线的方法有哪些?
  7. 服务器操作系统与安装步骤,服务器操作系统与安装步骤
  8. 初识Scrapy,在充满爬虫的世界里做一个好公民
  9. 2018-05-04 http入门
  10. zabbix3.0.4导入中文模板后乱码问题处理
  11. 队列加分项:杨辉三角
  12. x220linux蓝牙驱动,ThinkPad X230 Bluetooth 蓝牙驱动程序下载(Windows 7/Vista)
  13. java需要数学_学java要数学好嘛?
  14. Unity3D Demo
  15. 苹果MAC系统读写NTFS格式u盘硬盘方法
  16. 机器学习二(python sklearn逻辑回归)
  17. java递归堆栈溢出_【java】递归次数过多导致堆栈溢出
  18. tongue twisters
  19. java 和 c# 下的RSA证书+AES+DES加解密实现
  20. 物联网协议之一:MQTT协议和kafka

热门文章

  1. 忘记密码怎么启动计算机,电脑忘记密码如何重装系统?
  2. python快速下载模块——豆瓣镜像
  3. 高德地图小程序步行路线显示_微信小程序 高德地图路线规划实现过程详解
  4. 关于微软鼠标和键盘中心安装报错1603的解决方法
  5. torch.squeeze 函数运用
  6. Visual Basic快捷教程——函数与子程序
  7. 男人最渴望拥有的十类妻子
  8. matlab while 嵌套,MATLAB嵌套循环
  9. linux qt 获取u盘名称,QT windows平台下获取U盘 QComboBox显示U盘盘符
  10. 新一代zData数据库一体机和ZDBM数据备份与恢复一体机正式发布