前天晚上去看了《流浪地球》,作为中国的一部科幻片,深深的将我吸引了进去,今天又在某乎看了一下大家的讨论,觉得这部电影还是值得去电影院一看的。作为一个很菜很菜的C#初学者,电影中的“春节12响”这个程序抓住了我的眼球。于是,用C#.Net编一个春节12响的程序。
但是,由于真的没看懂春节12响的具体操作,只能编出两种我所想象的模式。
————————————————————————
分割线
————————————————————————
VS2017,C#窗体应用程序
控件:13个richTextBox控件
1个timer控件(Enable属性设置为true
Interval属性设置为500)
1个button控件
模式1
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 WindowsFormsApp15
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
bool flag = false;
double T = 24;
private void timer1_Tick(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
flag = true;
}
private void timer2_Tick(object sender, EventArgs e)
{
if (flag == true)
{
richTextBox13.Text = Math.Ceiling(T/2).ToString();
T = T - 1;
if(T <=-1)
{
richTextBox13.Text = "0";
}
if(T%2==0|| T <= -1)
{
richTextBox1.Text = "******\n******\n******";
richTextBox2.Text = "******\n******\n******";
richTextBox3.Text = "******\n******\n******";
richTextBox4.Text = "******\n******\n******";
richTextBox5.Text = "******\n******\n******";
richTextBox6.Text = "******\n******\n******";
richTextBox7.Text = "******\n******\n******";
richTextBox8.Text = "******\n******\n******";
richTextBox9.Text = "******\n******\n******";
richTextBox10.Text = "******\n******\n******";
richTextBox11.Text = "******\n******\n******";
richTextBox12.Text = "******\n******\n******";
richTextBox1.BackColor = Color.Red;
richTextBox2.BackColor = Color.Red;
richTextBox3.BackColor = Color.Red;
richTextBox4.BackColor = Color.Red;
richTextBox5.BackColor = Color.Red;
richTextBox6.BackColor = Color.Red;
richTextBox7.BackColor = Color.Red;
richTextBox8.BackColor = Color.Red;
richTextBox9.BackColor = Color.Yellow;
richTextBox10.BackColor = Color.Yellow;
richTextBox11.BackColor = Color.Yellow;
richTextBox12.BackColor = Color.Yellow;
}
else
{
richTextBox1.Text = "";
richTextBox2.Text = "";
richTextBox3.Text = "";
richTextBox4.Text = "";
richTextBox5.Text = "";
richTextBox6.Text = "";
richTextBox7.Text = "";
richTextBox8.Text = "";
richTextBox9.Text = "";
richTextBox10.Text = "";
richTextBox11.Text = "";
richTextBox12.Text = "";
richTextBox1.BackColor = Color.White;
richTextBox2.BackColor = Color.White;
richTextBox3.BackColor = Color.White;
richTextBox4.BackColor = Color.White;
richTextBox5.BackColor = Color.White;
richTextBox6.BackColor = Color.White;
richTextBox7.BackColor = Color.White;
richTextBox8.BackColor = Color.White;
richTextBox9.BackColor = Color.White;
richTextBox10.BackColor = Color.White;
richTextBox11.BackColor = Color.White;
richTextBox12.BackColor = Color.White;
}
}
}
}
}
模式1表示“发动机”同时点火,在在12秒内点火12下
模式2
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 WindowsFormsApp15
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
bool flag = false;
double T = 24;
private void timer1_Tick(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
flag = true;
}
private void timer2_Tick(object sender, EventArgs e)
{
if (flag == true)
{
richTextBox13.Text = Math.Ceiling(T/2).ToString();
T = T - 1;
if(T <=-1)
{
richTextBox13.Text = "0";
}
switch (T)
{
case 23.0: richTextBox1.Text = "******\n******\n******"; richTextBox1.BackColor = Color.Red; break;
case 21.0: richTextBox2.Text = "******\n******\n******"; richTextBox2.BackColor = Color.Red; break;
case 19.0: richTextBox3.Text = "******\n******\n******"; richTextBox3.BackColor = Color.Red; break;
case 17.0: richTextBox4.Text = "******\n******\n******"; richTextBox4.BackColor = Color.Red; break;
case 15.0: richTextBox5.Text = "******\n******\n******"; richTextBox5.BackColor = Color.Red; break;
case 13.0: richTextBox6.Text = "******\n******\n******"; richTextBox6.BackColor = Color.Red; break;
case 11.0: richTextBox7.Text = "******\n******\n******"; richTextBox7.BackColor = Color.Red; break;
case 9.0: richTextBox8.Text = "******\n******\n******"; richTextBox8.BackColor = Color.Red; break;
case 7.0: richTextBox9.Text = "******\n******\n******"; richTextBox9.BackColor = Color.Red; break;
case 5.0: richTextBox10.Text = "******\n******\n******"; richTextBox10.BackColor = Color.Red; break;
case 3.0: richTextBox11.Text = "******\n******\n******"; richTextBox11.BackColor = Color.Red; break;
case 1.0: richTextBox12.Text = "******\n******\n******"; richTextBox12.BackColor = Color.Red; break;
default:break;
}
}
}
}
}
模式2表示12个发动机依次点火,当12秒过后,发动机全部点火。
—————————————————————————
分割线—————————————————————————
这只是个人的一点小小的程序,如果有更好的想法可以评论,或者加我扣扣告诉我。