汉字英雄游戏软件C#

汉字英雄游戏软件C#

(1)游戏支持不同用户的使用,能够将用户信息及得分以文件形式保存,
      以字符流的读写为基础借助txt进行用户的注册,登录以及相关成绩统计。

注册界面
登陆界面游戏菜单界面
(2)从汉字库中随机抽取一个汉字显示在游戏界面上。
(3)游戏界面上以图片形式显示 26 个字母(26个图片,类似扑克牌),支持鼠标对图片的拖动。
(4)支持用户将字母分别拖动到指定区域并选择声调组成答案并提交,游戏可以根据用户提交的答案判断拼音是否正确。游戏运行界面
(5)可其做题历史以及得分情况,做题情况记录下来。得分记录查询

答题记录查询

设计核心技术

字符流的读写(以注册为例)

using System.IO;
using System.Collections;
  private void button1_Click(object sender, EventArgs e)
        {
            ArrayList al = new ArrayList();//建立动态数组1
            FileStream fs = newFileStream("账号库.txt", FileMode.Append, FileAccess.Write,FileShare.ReadWrite);       
            FileStream fs1 = new FileStream("账号库.txt", FileMode.Open,FileAccess.Read, FileShare.ReadWrite);
            StreamWriter sr =new StreamWriter(fs);
            StreamReader sr1 = new StreamReader(fs1); //读取指定文本文档
            while(sr1.Peek() >= 0) //逐行读取文本文档
            {
                al.Add(sr1.ReadLine());//将读取到的行写到数组中
            }
sr.WriteLine(username.Text.Trim()+ " " + password.Text.Trim());//开始写入值
                sr.Close();
                fs.Close();
}

控件的拖拽以及委托

int xPos, yPos,//中介坐标   
x0, y0;//原位置坐标
bool MoveFlag;
PictureBox picBox;
  private void picBox_MouseDown(objectsender, MouseEventArgs e)
        {
            MoveFlag = true;//已经按下.
            picBox = (PictureBox)sender;//获取得到出发本事件的具体按钮
            xPos = e.X;//当前x坐标.
            yPos = e.Y;//当前y坐标.
            x0 = picBox.Left;//移动前
            y0 = picBox.Top;//移动前       
        }

  private void picBox_MouseUp(objectsender, MouseEventArgs e)
        {
            MoveFlag = false;
            picBox.Left = Convert.ToInt16(x0);
            picBox.Top = Convert.ToInt16(y0);  //回到原位置
       }
  private void picBox_MouseMove(objectsender, MouseEventArgs e)
        {
            if(MoveFlag)
            {
                picBox.Left +=Convert.ToInt16(e.X - xPos);//设置x坐标.
                picBox.Top += Convert.ToInt16(e.Y- yPos);//设置y坐标.
            }
        }

从文本中随机读取一行(抽取题目)

            StreamReader sr =new StreamReader("汉字库.txt"); //读取指定文本文档
            ArrayList al = new ArrayList();//建立动态数组
            Random r = newRandom();//随机数
            while(sr.Peek() >= 0) //逐行读取文本文档
            {
                al.Add(sr.ReadLine());//将读取到的行写到数组中
            }
            int i =r.Next(0, 3748); //定义随机数的范围(汉字库中有3748个汉字)         string str= al[i].ToString(); //将读取到的随机数组值赋给str
            ti = str.Split(Convert.ToChar(","));           
            label1.Text = ti[0];

利用timer控件来进行计时



int time = 0;
int time1 = 0;
  private void Form1_Load(object sender, EventArgse)      
        {  
         timer2.Interval =1000;
         timer2.Enabled = true;

        }
  private void timer2_Tick(object sender, EventArgse)
        {           
            time1++;
            time++;           
            label14.Text = "游戏用时:" + time1.ToString()+ "s";      
        }

汉字英雄游戏软件C#下载地址:https://download.csdn.net/download/Ysuxiaolu/12064012

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值