嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
// “用户控件”项模板在 http://go.microsoft.com/fwlink/?LinkId=234236 上提供
namespace MoleAttack
{
public sealed partial class GameMain : UserControl
{
List<Hole> holes = new List<Hole>();
TimeSpan passedTime;
DateTime startTime;
DispatcherTimer gameLoop = new DispatcherTimer();
//MouseSound msInjured;
int currentSpeed = 2500;
int CurrentSpeed
{
get
{
return currentSpeed;
}
set
{
currentSpeed = value;
gameLoop.Interval = TimeSpan.FromMilliseconds(currentSpeed);
}
}
int hitMouseCount = 0;
public int HitMouseCount
{
get { return hitMouseCount; }
set
{
hitMouseCount = value;
infomation.tbScore.Text = hitMouseCount.ToString();
MainPage.Instance.updateScore(value);
}
}
public GameMain()
{
// 为初始化变量所必需
InitializeComponent();
Loaded =GameMain_Loaded;
gameOver.Visibility = Visibility.Collapsed;
gameOver.Click = new RoutedEventHandler(gameOver_Click);
gameStart.Click =gameStart_Click;
}
void gameOver_Click(object sender, RoutedEventArgs e)
{
gameOver.Visibility = Visibility.Collapsed;
startTime = DateTime.Now;
HitMouseCount = 0;
CurrentSpeed = 2500;
infomation.tbLevel.Text = "1";
gameLoop.Start();
}
void GameMain_Loaded(object sender, RoutedEventArgs e)
{
gameLoop.Tick = gameLoop_Tick;
gameLoop.Interval = TimeSpan.FromMilliseconds(currentSpeed);
//gameLoop.Start();
foreach (var uie in gridHoles.Children)
{
if (uie is Hole)
{
var oneHole = uie as Hole;
holes.Add(oneHole);
holes.Add(oneHole);
oneHole.mouse.EvInjured = new Action(mouse_EvInjured);
}
}
//msInjured = new MouseSound("ResImg/MoleAttack/Sound/injured.mp3");
}
void gameLoop_Tick(object sender, object e)
{
passedTime = DateTime.Now - startTime;
var passSeconds = passedTime.Minutes * 60 passedTime.Seconds;
if (passSeconds > 15 && passSeconds < 30)
{
infomation.tbLevel.Text = "2";
CurrentSpeed = 2000;
}
if (passSeconds > 30 && passSeconds < 60)
{
infomation.tbLevel.Text = "3";
currentSpeed = 1500;
}
if (passSeconds > 60 && passSeconds < 120)
{
infomation.tbLevel.Text = "4";
currentSpeed = 1000;
}
if (passSeconds > 120 && passSeconds < 240)
{
infomation.tbLevel.Text = "5";
currentSpeed = 500;
}
if (passSeconds > 240)
{
GameOver();
gameLoop.Stop();
}
holes[GetRandomNum(0, holes.Count)].OutHole();
}
public void GameOver()
{
gameOver.Show();
}
void mouse_EvInjured()
{
HitMouseCount ;
//msInjured.Play();
}
/// <summary>
/// 获取一个随机数
/// </summary>
/// <returns>随机数</returns>
public int GetRandomNum(int minNum, int maxNum)
{
//Thread.Sleep(10);
long tick = DateTime.Now.Ticks;
Random r = new Random((int)(tick & 0xffffffffL) | (int)(tick >> 32));
return r.Next(minNum,maxNum);
}
private void gameStart_Click()
{
gameLoop.Start();
startTime = DateTime.Now;
gridHoles.Children.Remove(gameStart);
}
public void Clear()
{
if (!gridHoles.Children.Contains(gameStart))
gridHoles.Children.Add(gameStart);
else
gameStart.Visibility = Visibility.Visible;
gameLoop.Stop();
}
}
}