C#编写一个大字母游戏,详细代码,不懂问博主。。。。
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Media; namespace dazimuyouxi_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int i = , j = ; private void Form1_Load(object sender, EventArgs e)
{
label1.BackColor = Color.Green;
label2.BackColor = Color.Red;
label1.Text = "分数:" + i;
label2.Text = "错误:" + j;
this.KeyPress += Form1_KeyPress;
this.comboBox1.SelectedIndex = ;
}
bool istrue = true;
SoundPlayer s = new SoundPlayer("GRAY2WEA.WAV");
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{ foreach (Control item in Panel1.Controls)
{
if (item.Text == e.KeyChar.ToString().ToUpper())
{
if (istrue == true)
{
item.Tag = "bj";
feiji.Location = new Point(new Size(item.Left + item.Width / - feiji.Width / , feiji.Top));
Label zd = new Label();
zd.Size = new Size(, );
zd.Location = new Point(new Size(feiji.Left + feiji.Width / - zd.Width / + , feiji.Top));
zd.Text = item.Text;
zd.Tag = "zidan";
zd.Image = imageList2.Images[];
zd.AutoSize = true;
Panel1.Controls.Add(zd);
istrue = false;
}
}
}
}
Random a = new Random();
private void timer1_Tick(object sender, EventArgs e)
{
Label lab = new Label();
lab.BackColor = Color.Transparent;
lab.Size = new Size(, );
lab.Text = Convert.ToChar(a.Next(, )).ToString();
lab.ForeColor = Color.FromArgb(a.Next(), a.Next(), a.Next());
lab.Font = new Font("微软雅黑", );
lab.Location = new Point(new Size(a.Next(, Panel1.Width - lab.Width - ), ));
lab.AutoSize = true;
lab.Tag = "zimu";
this.Panel1.Controls.Add(lab);
}
private void timer2_Tick(object sender, EventArgs e)
{
foreach (Control item in Panel1.Controls)
{
if (item.GetType().Name == "Label")
{
if (item.Tag.ToString() == "zimu" || item.Tag.ToString() == "bj")
{
item.Top += ;
if (item.Bottom >= feiji.Top)
{
item.Dispose();
j += ;
label2.Text = "错误:" + j;
}
}
if (item.Tag.ToString() == "zidan")
{
item.Top -= ;
foreach (Control xz in Panel1.Controls)
{
if (xz.GetType().Name == "Label")
{
if (xz.Tag.ToString() == "bj")
{
if (xz.Bottom >= item.Top)
{
PictureBox pb = new PictureBox();
pb.Image = imageList1.Images[];
pb.BackColor = Color.Transparent;
pb.Location = item.Location;
pb.Tag = ;
pb.Size = new Size(, );
pb.SizeMode = PictureBoxSizeMode.StretchImage;
//pb.BackColor = Color.Red;
Panel1.Controls.Add(pb);
timer3.Start();
s.Play();
item.Tag = ;
xz.Dispose();
item.Dispose();
i += ;
label1.Text = "分数:" + i;
istrue = true;
}
}
}
}
}
}
}
} private void timer3_Tick(object sender, EventArgs e)
{
foreach (Control item in Panel1.Controls)
{
if (item.GetType().Name == "PictureBox" && item.Tag != null)
{
int n = int.Parse(item.Tag.ToString());
n++;
if (n > )
{
item.Dispose();
return;
}
((PictureBox)item).Image = imageList1.Images[n];
((PictureBox)item).Tag = n;
}
}
} private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
if (comboBox1.Text == "长平之战")
{
this.BackgroundImage = new Bitmap("2.jpg");
}
if (comboBox1.Text == "赤壁之战")
{
this.BackgroundImage = new Bitmap("3.jpg");
}
if (comboBox1.Text == "蓝色星球")
{
this.BackgroundImage = Image.FromFile("1.jpg");
}
} private void button1_Click(object sender, EventArgs e)
{
if (button1.Text == "开始")
{
timer1.Start();
timer2.Start();
button1.Text = "暂停";
}
else
{
button1.Text = "开始";
timer1.Stop();
timer2.Stop();
}
} private void timer4_Tick(object sender, EventArgs e)
{ foreach (Control item in Panel1.Controls)
{
if (item.GetType().Name == "Label" && item.Tag.ToString() == "zidan")
{
item.BackColor = Color.Transparent;
int m = int.Parse(((Label)item).Image.Tag.ToString());
m++;
if (m > )
{
item.Dispose();
return;
}
((Label)item).Image = imageList2.Images[m];
((Label)item).Image.Tag = m;
}
}
}
}
}
C#编写一个大字母游戏,详细代码,不懂问博主。。。。的更多相关文章
- python新手如何编写一个猜数字小游戏
此文章只针对新手,希望大家勿喷,感谢!话不多说先上代码: import random if __name__ == '__main__': yourname = input("你好! 你的名 ...
- 25.Qt Quick QML-500行代码实现"合成大西瓜游戏"
"合成大西瓜"这个游戏在年前很火热,还上过微博热搜,最近便玩了一阵还挺有意思的,所以研究了一下小球碰撞原理,自己亲自手写碰撞算法来实现一个合成大西瓜游戏.并支持任意大小布局,你想玩 ...
- 编写一个算法,将非负的十进制整数转换为其他进制的数输出,10及其以上的数字从‘A’开始的字母表示
编写一个算法,将非负的十进制整数转换为其他进制的数输出,10及其以上的数字从‘A’开始的字母表示. 要求: 1) 采用顺序栈实现算法: 2)从键盘输入一个十进制的数,输出相应的八进制数和十六进制数. ...
- 代码实现:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n
import java.util.Scanner; //编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n public ...
- 如何建立一个完整的游戏AI
http://blog.friskit.me/2012/04/how-to-build-a-perfect-game-ai/ 人工智能(Artificial Intelligence)在游戏中使用已经 ...
- 编写快速、高效的JavaScript代码
许多Javascript引擎都是为了快速运行大型的JavaScript程序而特别设 计的,例如Google的V8引擎(Chrome浏览器,Node均使用该引擎).在开发过程中,如果你关心你程序的内存和 ...
- Java图形界面实战案例——实现打字母游戏
实现打字母的游戏 这次这个案例能够说是头几次所讲的内容的一个技术汇总,主要是 运用了几大块的知识.我们先来定义一下案例的背景:在一个300*400的窗口上.有10个随机产生的字母下落,在键盘上敲击字母 ...
- GJM : 各大开发游戏引擎
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- 使用Vue编写点击数字小游戏
使用vue编写一个点击数字计时小游戏,列入你在文本框中输入3,点击开始会生成一个3行3列的表格,表格数据为1-9随机排列,这时候从1开始点击,按顺序点到9,当按正确顺序点击完毕,会提示所用的时间,如果 ...
随机推荐
- Linux显示本地端的文件系统
Linux显示本地端的文件系统 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ df -l 文件系统 1K-blocks 已用 可用 已用% 挂载点 /dev/ ...
- Java中的List转换成JSON报错(一)
1.错误描述 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/ ...
- hdu2262 Where is the canteen
Where is the canteen Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot ...
- json格式数据整理
一,json的两种数据结构 1.1,对象 对象结构以"{"大括号开始,以"}"大括号结束.中间部分由0或多个以","分隔的"key ...
- 初识SSO与JWT
以前在学校做项目的时候,登录注销,权限验证这些事情,都是交给框架来做的,每次都是把这个架子拿到项目中去,也没有真正思考过它的过程,总觉的这些都是十分简单的逻辑. 然而来公司工作之后,慢慢觉得登录和权限 ...
- C#多线程编程(5)--线程安全1
当你需要2个线程读写同一个数据时,就需要数据同步.线程同步的办法有:(1)原子操作:(2)锁.原子操作能够保证该操作在CPU内核中不会被"拆分",锁能够保证只有一个线程访问该数据, ...
- 【CF17E】Palisection(回文树)
[CF17E]Palisection(回文树) 题面 洛谷 题解 题意: 求有重叠部分的回文子串对的数量 所谓正难则反 求出所有不重叠的即可 求出以一个位置结束的回文串的数量 和以一个位置为开始的回文 ...
- log4j日志输出性能优化-缓存、异步
转载 1.log4j已成为大型系统必不可少的一部分,log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题分析和定位.由于日志级别的不同,对系 ...
- Android 运行时权限及APP适配
Android 6.0起,Android加强了权限管理,引入运行时权限概念.对于: 1. Android 5.1(API 22)及以前版本,应用权限必须声明在AndroidManifest.xml中, ...
- 解决Win10下_findnext()异常
在win10中,使用文件遍历函数_findnext会报0xC0000005错误 ,发生访问冲突错误 错误定位到ntdll.dll 原因: _findnext()第一个参数"路径句柄" ...