天天看點

打字遊戲1

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Collections;

namespace 随筆

{

class Program

{

/// <summary>

/// 比較兩個字元串相相同元素的個數數

/// </summary>

/// <param name="a"></param>

/// <param name="b"></param>

/// <param name="n"></param>

/// <returns></returns>

public int avg(string a, string b, int n)

{

int count = 0;

for (int i = 0; i < n; i++)

{

if (a.Substring(i, 1).ToLower() == b.Substring(i, 1).ToLower())

{

count += 1;

}

}

return count;

}

static void Main(string[] args)

{

//打字測試

//随機出現若幹個A-Z的字元不區分大小寫

//從鍵盤鍵入與上述字元比對,計算輸入時間與正确率

Console.WriteLine("請輸入您需要測試的字元個數:");

int n = int.Parse(Console.ReadLine());

Random ran = new Random();

ArrayList ss = new ArrayList();

ss.Add("A"); ss.Add("B"); ss.Add("C"); ss.Add("D"); ss.Add("E"); ss.Add("F");

ss.Add("G"); ss.Add("H"); ss.Add("I"); ss.Add("J"); ss.Add("K"); ss.Add("L");

ss.Add("M"); ss.Add("N"); ss.Add("O"); ss.Add("P"); ss.Add("Q"); ss.Add("R");

ss.Add("S"); ss.Add("T"); ss.Add("U"); ss.Add("V"); ss.Add("W"); ss.Add("X");

ss.Add("Y"); ss.Add("Z");

string s ="";

for (int i = 0; i < n; i++)

{

s+= ss[ran.Next(26)].ToString();

}

Console.WriteLine("遊戲開始(按提示輸入字元:");

Console.WriteLine(s);

DateTime dt = DateTime.Now;

string s1 ="";

for (int i = 0; i < n; i++)

{

s1 += Console.Read();

}

Console.ReadLine();

DateTime dt1 = DateTime.Now;

Program hanshu=new Program();

int j = hanshu.avg(s,s1,n);

double a = (double)j / n;

Console.Write("您的輸入時間為:{0}秒", Math.Ceiling((dt1 - dt).TotalSeconds));

Console.WriteLine("您的輸入準确率為:{0}", a);

Console.ReadLine();

}

}

}