码迷,mamicode.com
首页 > Windows程序 > 详细

一个简单的c#打字游戏。

时间:2015-08-12 11:39:45      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:c#   游戏   

//这是入口点
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace KEYGAME
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main() {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}
//对数据的跟踪类
<pre name="code" class="csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace KEYGAME
{
    class countStatus
    {
        public int correct = 0;
        public int missed = 0;
        public int total = 0;
        public float Accuracy = 0;

        public void Update(bool correctKey) {
            if (correctKey) {
                correct++;
                Accuracy = ((float)correct) / total;
                return;
            }
            missed++;
            Accuracy = ((float)correct) / total;
            return; 
        }
    }
}



//窗体程序
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace KEYGAME
{
    public partial class Form1 : Form
    {
        Random random = new Random();
        countStatus status = new countStatus();
        public Form1() {
            InitializeComponent();
        }


        private void timer1_Tick(object sender, EventArgs e) {
            status.total++;
            listBox1.Items.Add((Keys)(random.Next(65, 90)));
            if (listBox1.Items.Count > 7) {
                listBox1.Items.Clear();
                listBox1.Items.Add("GAME OVER");
                timer1.Stop();
            }
        }


        private void Form1_Load(object sender, EventArgs e) {
            progressBar1.Value = 100;
            timer1.Stop();
        }


        private void btStart_Click(object sender, EventArgs e) {
            timer1.Start();
        }


        private void Form1_KeyDown(object sender, KeyEventArgs e) {
            if (listBox1.Items.Contains(e.KeyCode)) {
                listBox1.Items.Remove(e.KeyCode);
                listBox1.Refresh();




                //this part will increse the difficult of the game by putting down the interval
                if (timer1.Interval > 400) timer1.Interval -= 10;
                if (timer1.Interval > 250) timer1.Interval -= 8;
                if (timer1.Interval > 100) timer1.Interval -= 2;


                
                status.Update(true);
            } else {
                status.Update(false);
            }
            progressBar1.Value = 800 - timer1.Interval;
            labelCorrect.Text = "correct:  "+status.correct;
            LabelMiss.Text = "missed:  "+status.missed;
            labelTotal.Text = "total;  "+status.total;
            labelAccuracy.Text = "Accuracy: "+status.Accuracy;


        }
    }
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

一个简单的c#打字游戏。

标签:c#   游戏   

原文地址:http://blog.csdn.net/tabe123/article/details/47440129

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!