📄 model.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Media;
/// <summary>
/// Model
/// </summary>
public class Model
{
/// <summary>
/// 玩家输入的玩的次数
/// </summary>
private int totalTime = 0;
/// <summary>
/// 玩家当前所玩到的次数
/// </summary>
private int currentTime = 0;
/// <summary>
/// 玩家当前正确的次数
/// </summary>
private int rightTime = 0;
/// <summary>
/// 有汽车的那扇门门号
/// </summary>
private int rightNum = 0;
/// <summary>
/// 当前所选正确的概率
/// </summary>
private double currateRate = 0;
/// <summary>
/// 直到当前正确的所有答案
/// </summary>
private string rightKeys = null;
/// <summary>
/// 显示每次对错情况
/// </summary>
private string rightCondition = null;
/// <summary>
/// 音乐播放
/// </summary>
private static SoundPlayer sound = new SoundPlayer();
/// <summary>
/// 玩家本次所选择的那扇门号
/// </summary>
private int selectNum = -1;
// private int state = 0;
/// <summary>
/// 0~3的随机数产生器
/// </summary>
public Random ra = new Random(3);
/// <summary>
/// 产生随机数0-2
/// </summary>
/// <returns></returns>
public int generateRight()
{
return ra.Next(0, 3);
}
/// <summary>
/// 设置currateRate
/// </summary>
/// <param name="rate"></param>
public void setCurrateRate(double rate)
{
currateRate = rate;
}
/// <summary>
/// 获取currateRate
/// </summary>
/// <returns></returns>
public double getCurrateRate()
{
return currateRate;
}
/// <summary>
/// 设置rightNum
/// </summary>
/// <param name="num"></param>
public void setRightNum(int num)
{
rightNum = num;
}
/// <summary>
/// 获取rightNum
/// </summary>
/// <returns></returns>
public int getRightNum()
{
return rightNum;
}
/// <summary>
/// 设置selectNum
/// </summary>
/// <param name="num"></param>
public void setSelectNum(int num)
{
selectNum = num;
}
/// <summary>
/// 获取selectNum
/// </summary>
/// <returns></returns>
public int getSelectNum()
{
return selectNum;
}
/// <summary>
/// 设置rightTime
/// </summary>
/// <param name="time"></param>
public void setRightTime(int time)
{
rightTime = time;
}
/// <summary>
/// 获取rightTime
/// </summary>
/// <returns></returns>
public int getRightTime()
{
return rightTime;
}
/// <summary>
/// 设置rightCondition
/// </summary>
/// <param name="condition"></param>
public void setRightCondition(string condition)
{
rightCondition = condition;
}
/// <summary>
/// 获取rightCondition
/// </summary>
/// <returns></returns>
public string getRightCondition()
{
return rightCondition;
}
/// <summary>
/// 设置rightKeys
/// </summary>
/// <param name="keys"></param>
public void setRightKeys(string keys)
{
rightKeys = keys;
}
/// <summary>
/// 获取rightKeys
/// </summary>
/// <returns></returns>
public string getRightKeys()
{
return rightKeys;
}
/// <summary>
/// 设置totalTime
/// </summary>
/// <param name="time"></param>
public void setTotalTime(int time)
{
totalTime = time;
}
/// <summary>
/// 获取totalTime
/// </summary>
/// <returns></returns>
public int getTotalTime()
{
return totalTime;
}
/// <summary>
/// 设置currentTime
/// </summary>
/// <param name="time"></param>
public void setCurrateTime(int time)
{
currentTime = time;
}
/// <summary>
/// 获取currentTime
/// </summary>
/// <returns></returns>
public int getCurretTime()
{
return currentTime;
}
/// <summary>
/// 选择另一扇门
/// </summary>
/// <returns></returns>
public int otherNum()
{
int i = 0;
int temp = 0;
for (i = 0; i <= 2; i++)
{
if (i != anotherNum() && i != selectNum)
{
temp = i;
}
}
return temp;
}
/// <summary>
/// 首先打开的那扇门
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
public int anotherNum()
{
int i = 0;
int temp = 0;
for (i = 0; i <= 2; i++)
{
if (i != rightNum && i != selectNum)
{
temp = i;
}
}
return temp;
}
/// <summary>
/// 随机另选一个
/// </summary>
/// <returns></returns>
public int randomNum()
{
int[] a = new int[2];
int k = 0;
for (int i = 0; i < 3; i++)
{
if (selectNum != i)
{
a[k] = i;
k++;
}
}
return a[ra.Next(0, 2)];
}
/// <summary>
/// 判断一个字符串是否为数字
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
public bool isNumber(string text)
{
try
{
int temp = Convert.ToInt32(text);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 结束
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void end()
{
totalTime = 0;
currateRate = 0;
currentTime = 0;
rightTime = 0;
rightCondition = null;
rightKeys = null;
}
/// <summary>
/// 计算当前概率
/// </summary>
public void calculateRate()
{
currateRate = Convert.ToDouble(rightTime) / Convert.ToDouble(currentTime);
}
/// <summary>
/// 计算玩的次数是否超过输入次数
/// </summary>
/// <returns></returns>
public bool timeEnd()
{
return currentTime >=totalTime ? true : false;
}
/// <summary>
/// 选择另一个
/// </summary>
public void generateOther()
{
selectNum = otherNum();
}
/// <summary>
/// 随机选一个
/// </summary>
public void generateRandom()
{
selectNum = randomNum();
}
/// <summary>
/// 播放音乐
/// </summary>
public void PlaySound(int a)
{
switch (a)
{
case 1:
if (!File.Exists("ok.wav")) return;
sound.SoundLocation = "ok.wav";
sound.Play();
break;
case 0:
if (!File.Exists("wrong.wav")) return;
sound.SoundLocation = "wrong.wav";
sound.Play();
break;
default:
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -