[留念贴] C#开发技术期末大作业——星月之痕
明天就要去上海大学参加 2015赛季 ACM/ICPC最后一场比赛 —— EC-Final,在这之前,顺利地把期末大作业赶出来了。
纯手工打造。庆幸的是,历时四天,现在基本完工了。
做个作业真不容易,音乐要自己找,图片要自己P,代码也要自己写... ... 早起晚睡,脖子酸... ...
下载地址:http://pan.baidu.com/s/1mhIO1b6
下载之后先解压,然后打开DestroyStars\DestroyStars\bin\Debug文件夹下的DestroyStars.exe
据说会报毒!? 我那么善良的人怎么会制造病毒... .. 如果报毒了,解压之前关闭一下杀毒软件吧...真的没毒的。。。
预览图:
【开发过程】
Day 1.上午 “妈呀..期末快到了耶!C#学了什么?好像什么都不会啊!”.....就这样,我开始了我的期末大作业的开发,上午看了一下老师的课件,随便琢磨了一下就开始了,游戏中的所有星星方块都是一张一张的图片,画图部分就纠结了半天了,但最后还是被我画了出来。
Day 1.下午 先做了随机生成10*10地图,这个似乎so easy.. .. 然后我就是到了算法部分了,也是整个游戏中仅有的我最擅长写的一部分,消灭星星消除的是连通块,本想用广度优先搜索的,但是因为不知道C#中队列的语法,最终还是采用了深度优先搜索。palapala,这部分很快就写完了。之后做的就是方块移动的过程,也不难吧,用timer控制一下,每隔一定的时间刷新一下图片的位置。 第一天结束之后,把最最核心的东西完成了,之后就是外观与游戏玩法的添加。
Day2. 这一天似乎做的事情比较少,找了几张星星、鼠标的图片,然后消除效果的制作。
Day3. 三个技能基本定型,RMB系统基本定型,积分系统基本定型,外观基本定型。
Day4. 闯关模式基本定型,加上了音效与背景音乐,写了一下玩法说明书。
代码不多贴了,下载之后也能看到的。
放一下 Game.CS 的吧.
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.Media;
- namespace DestroyStars
- {
- public partial class Game : Form
- {
- int Add_width = ;
- int Add_height = ;
- Diamond[] Dia = new Diamond[*];
- int height = ;//高
- int width=;//宽
- int[,] map = new int[, ];//定义地图
- int[,] flag = new int[, ];//用于深度优先搜索求连通块
- int[,] dir = new int[, ];//搜索时用到的四个方向
- int[] tot = new int[];//方块掉落时候用的
- int[] temp = new int[];//临时存储
- int D;//控制下落
- Label[] labels = new Label[*];
- int T;//控制显示效果
- int Tot;//控制显示效果
- int GameState;//控制游戏状态
- int time_font;//控制下一关字样的显示时间
- int Now_toll = ;//关卡数量
- int score = ;//计分
- int RMB = ;
- int num_Skill1 = ;
- int num_Skill2 = ;
- int num_Skill3 = ;
- String news;
- public Game()
- {
- InitializeComponent();
- }
- //技能按钮状态更新
- void update_skill_button()
- {
- if (num_Skill1 > ) button2.Enabled = true;
- else button2.Enabled = false;
- if (num_Skill2 > ) button1.Enabled = true;
- else button1.Enabled = false;
- if (num_Skill3 > ) button3.Enabled = true;
- else button3.Enabled = false;
- if (RMB < ) button4.Enabled = false;
- else button4.Enabled = true;
- if (RMB < ) button5.Enabled = false;
- else button5.Enabled = true;
- if (RMB < ) button6.Enabled = false;
- else button6.Enabled = true;
- }
- //随机生成地图
- void Rand()
- {
- Random myRand = new Random(DateTime.Now.Second);
- for (int i = ; i < height; i++)
- for (int j = ; j < width; j++)
- map[i, j] = myRand.Next(,);
- for (int i = ; i < height; i++)
- for (int j = ; j < width; j++)
- Dia[i * width + j] = new Diamond(map[i, j], * j + Add_width, * i + Add_height, * j + Add_width, * i + Add_height);
- }
- //更新
- void Update()
- {
- for (int i = ; i < height; i++)
- for (int j = ; j < width; j++)
- Dia[i * width + j] = new Diamond(map[i, j], * j + Add_width, * i + Add_height, * j + Add_width, * i + Add_height);
- pictureBox.Invalidate();
- }
- //深度优先搜索计算连通块
- void DFS(int x, int y)
- {
- flag[x, y] = ;
- for (int i = ; i < ; i++)
- {
- int NewX = x + dir[i, ];
- int NewY = y + dir[i, ];
- if (NewX >= && NewX < height)
- if (NewY >= && NewY < width)
- if (map[x, y] == map[NewX, NewY]&&map[x,y]!=)
- if (flag[NewX, NewY] == )
- DFS(NewX,NewY);
- }
- }
- //下一关
- void GameSt()
- {
- Now_toll++;
- label2.Text = "目标:" + (Now_toll * + Now_toll * Now_toll * Now_toll * ).ToString();
- label5.Text = "关卡:" + Now_toll.ToString();
- news = news + "进入下一关," + label5.Text + "\r\n";
- textBox1.Text = news;
- //让文本框获取焦点
- this.textBox1.Focus();
- //设置光标的位置到文本尾
- this.textBox1.Select(this.textBox1.TextLength, );
- //滚动到控件光标处
- this.textBox1.ScrollToCaret();
- GameState = ;
- Rand();
- pictureBox.Invalidate();
- }
- //启动或者重新开始游戏之后的初始化
- void init()
- {
- dir[, ] = ; dir[, ] = ;
- dir[, ] = ; dir[, ] = -;
- dir[, ] = ; dir[, ] = ;
- dir[, ] = -; dir[, ] = ;
- //设置游戏状态
- GameState = ;
- RMB = ; label3.Text = "金币:" + RMB.ToString();
- score = ;
- Now_toll = ;
- num_Skill1 = ;
- num_Skill2 = ;
- num_Skill3 = ;
- //绘制“游戏即将开始”字样
- Dia[] = new Diamond(, , , , );
- //下一关字样
- Dia[] = new Diamond(, , , , );
- //绘制鼠标
- Bitmap a = (Bitmap)Bitmap.FromFile("Image\\mouse.png");
- SetCursor(a, new Point(, ));
- update_skill_button();
- news = "消息列表:\r\n" + "欢迎来到消灭星星世界,赶紧开始拯救人类的行动吧!\r\n";
- textBox1.Text = news;
- label11.Text = "欢迎进入这个虚幻的世界";
- ReStartGame.Enabled = false;
- }
- private void Game_Load(object sender, EventArgs e)
- {
- init();
- }
- //计算下落
- void Down()
- {
- for (int j = ; j < width; j++)
- {
- for (int i = ; i < ; i++) tot[i] = ;
- for (int i = height - ; i >= ; i--)
- {
- if (map[i, j] == ) tot[i] = tot[i + ] + ;
- else tot[i] = tot[i + ];
- }
- for (int i = height - ; i >= ; i--)
- {
- if (map[i, j] == ) tot[i] = -;
- temp[i] = map[i, j];
- map[i, j] = ;
- }
- for (int i = height - ; i >= ; i--)
- {
- if (tot[i] != -)
- {
- map[i + tot[i], j] = temp[i];
- int id = i * width + j;
- Dia[id].Ex = j * + Add_width;
- Dia[id].Ey = (i + tot[i]) * + Add_height;
- }
- }
- }
- }
- //计算左靠
- void Left()
- {
- for (int j = ; j < ; j++) tot[j] = ;
- for (int j = ; j < width; j++)
- {
- if (j == )
- {
- if (map[height - , ] == ) tot[j] = ;
- else tot[j] = ;
- }
- else
- {
- if (map[height - , j] == ) tot[j] = tot[j - ] + ;
- else tot[j] = tot[j - ];
- }
- }
- for (int j = ; j < width; j++)
- if (map[height - , j] == ) tot[j] = -;
- for (int j = ; j < width; j++)
- for (int i = ; i < height; i++)
- if (tot[j] != -)
- map[i, j - tot[j]] = map[i, j];
- for (int i = ; i < height; i++)
- {
- for (int j = ; j < width; j++)
- {
- int id = i * width + j;
- Dia[id].Ex = (j - tot[j]) * + Add_width;
- Dia[id].Ey = i * + Add_height;
- }
- }
- int Max = -;
- for (int j = ; j < width; j++)
- if (tot[j] != -)
- if (j - tot[j] > Max)
- Max = j - tot[j];
- for (int j = Max + ; j < width; j++)
- for (int i = ; i < height; i++)
- map[i, j] = ;
- }
- //执行一系列操作
- void Effect()
- {
- axWindowsMediaPlayer1.URL = "Music\\mus1.wav";
- axWindowsMediaPlayer1.Ctlcontrols.play();
- Tot = ;
- for (int i = ; i < height; i++)
- {
- for (int j = ; j < width; j++)
- {
- if (flag[i, j] == )
- {
- labels[Tot] = new Label();
- labels[Tot].Size = new System.Drawing.Size(, );
- labels[Tot].Image = Image.FromFile("Image\\xg.gif");
- labels[Tot].Location = new Point(j * + Add_width + , i * + Add_height + );
- this.pictureBox.Controls.Add(labels[Tot]);
- Tot++;
- flag[i, j] = ;
- }
- }
- }
- T = ;
- timer3.Enabled = true;
- }
- //判断是否还可以消去
- void Judge()
- {
- int res = ;
- for (int i = ; i < height; i++)
- {
- for (int j = ; j < width; j++)
- {
- if (map[i, j] == ) continue;
- for (int ii = ; ii < height; ii++)
- for (int jj = ; jj < width; jj++)
- flag[ii, jj] = ;
- //计算连通块
- DFS(i, j);
- int Count = ;
- for (int ii = ; ii < height; ii++)
- for (int jj = ; jj < width; jj++)
- if (flag[ii, jj] == )
- Count++;
- if (Count >= )
- {
- res = ;
- break;
- }
- }
- if (res == ) break;
- }
- for (int ii = ; ii < height; ii++)
- for (int jj = ; jj < width; jj++)
- flag[ii, jj] = ;
- if (res == )
- {
- axWindowsMediaPlayer1.URL = "Music\\next.mp3";
- axWindowsMediaPlayer1.Ctlcontrols.play();
- //显示下一关字样
- if (score >= Now_toll * + Now_toll * Now_toll * Now_toll * )
- {
- GameState = ;
- time_font = ;
- pictureBox.Invalidate();
- timer4.Enabled = true;
- }
- else//游戏结束,跳出窗口
- {
- label1.Text = "Score:0";
- label2.Text = "目标:0";
- StartGame.Enabled = true;
- textBox_Name.Enabled = true;
- textBox_Name.Text = "";
- label4.Text = "玩家:";
- MessageBox.Show("由于未达到本关的目标分数,所以本次游戏结束啦!恭喜你!" + textBox_Name.Text + "得分:" + score.ToString(), "友情提示");
- End End1 = new End();
- End1.Show();
- this.Close();
- init();
- pictureBox.Invalidate();
- }
- }
- }
- //技能1 重置地图
- void Skill_1()
- {
- Random myRand = new Random(DateTime.Now.Second);
- for (int i = ; i < height; i++)
- for (int j = ; j < width; j++)
- if (map[i, j] != )
- map[i, j] = myRand.Next(, );
- Update();
- }
- //技能2 随机清除一列
- void Skill_2()
- {
- int Max=;
- for (int i = ; i < width; i++)
- if (map[height - , i] != )
- Max = i;
- Random myRand = new Random(DateTime.Now.Second);
- int res = myRand.Next(, Max);
- for (int i = ; i < height; i++)
- if (map[i, res] != )
- { map[i, res] = ; flag[i, res] = ; score = score + ; }
- label1.Text = "分数:" + score.ToString();
- Effect();
- }
- //技能3 随机清除一种颜色
- void Skill_3()
- {
- int[] Kind = new int[];
- int[] F = new int[];
- int n = ;
- for (int i = ; i < height; i++)
- {
- for (int j = ; j < width; j++)
- {
- if (map[i, j] != && F[map[i, j]] == )
- {
- F[map[i, j]] = ;
- Kind[n++] = map[i, j];
- }
- }
- }
- if (n != )
- {
- Random myRand = new Random(DateTime.Now.Second);
- int res = myRand.Next(, n);
- for (int i = ; i < height; i++)
- {
- for (int j = ; j < width; j++)
- {
- if (map[i, j] == Kind[res])
- {
- score = score + ;
- map[i, j] = ;
- flag[i, j] = ;
- }
- }
- }
- label1.Text = "分数:" + score.ToString();
- Effect();
- }
- }
- private void Game_MouseDown(object sender, MouseEventArgs e)
- {
- }
- //鼠标点击
- private void pictureBox_MouseDown(object sender, MouseEventArgs e)
- {
- if (timer1.Enabled == false && timer2.Enabled == false && timer3.Enabled == false &&timer4.Enabled==false&&e.Y - Add_height > && e.X - Add_width > )
- {
- int nowR = (e.Y - Add_height) / ;//鼠标点击的行
- int nowC = (e.X - Add_width) / ;//鼠标点击的列
- if (flag[nowR, nowC] == )
- {
- Update();
- axWindowsMediaPlayer1.URL = "Music\\click.wav";
- axWindowsMediaPlayer1.Ctlcontrols.play();
- for (int i = ; i < height; i++)
- for (int j = ; j < width; j++)
- flag[i, j] = ;
- //计算连通块
- DFS(nowR, nowC);
- int Count = ;
- for (int i = ; i < height; i++)
- for (int j = ; j < width; j++)
- if (flag[i, j] == )
- Count++;
- if (Count < )
- {
- for (int i = ; i < height; i++)
- for (int j = ; j < width; j++)
- flag[i, j] = ;
- }
- else
- {
- //画线
- for (int i = ; i < height; i++)
- for (int j = ; j < width; j++)
- if (flag[i, j] == )
- {
- int id = i * width + j;
- Dia[id].Change();
- }
- int add_RMB = ;
- if (Count <= ) add_RMB = ;
- if (Count >= && Count <= ) add_RMB = ;
- if (Count >= && Count <= ) add_RMB = ;
- if (Count >= ) add_RMB = ;
- label11.Text = "消除选中部分 积分+" + ( * Count * Count).ToString() + ",金币+" + add_RMB.ToString();
- pictureBox.Invalidate();
- }
- }
- else if (flag[nowR, nowC] == )
- {
- int Count = ;
- for (int i = ; i < height; i++)
- for (int j = ; j < width; j++)
- if (flag[i, j] == )
- Count++;
- score = score + Count * Count * ;
- label1.Text = "分数:" + score.ToString();
- int add_RMB = ;
- if (Count <= )
- {
- add_RMB = ;
- label11.Text = "Great! ";
- }
- if (Count >= && Count <= )
- {
- add_RMB = ;
- label11.Text = "Cool! ";
- }
- if (Count >= && Count <= )
- {
- add_RMB = ;
- label11.Text = "Perfect! ";
- }
- if (Count >= )
- {
- add_RMB = ;
- label11.Text = "帅呆了! ";
- }
- label11.Text += "积分+" + ( * Count * Count).ToString() + ",金币+" + add_RMB.ToString();
- news = news + label11.Text + "\r\n";
- textBox1.Text = news;
- //让文本框获取焦点
- this.textBox1.Focus();
- //设置光标的位置到文本尾
- this.textBox1.Select(this.textBox1.TextLength, );
- //滚动到控件光标处
- this.textBox1.ScrollToCaret();
- RMB = RMB + add_RMB;
- label3.Text = "金币:"+RMB.ToString();
- update_skill_button();
- for (int i = ; i < height; i++)
- for (int j = ; j < width; j++)
- if (flag[i, j] == )
- map[i, j] = ;
- //进行一系列操作
- Effect();
- }
- }
- }
- //执行下落
- private void timer1_Tick(object sender, EventArgs e)
- {
- D = width * height;
- for (int i = ; i < width * height; i++)
- D = D - Dia[i].move();
- if (D == )
- {
- timer1.Enabled = false;
- Update();
- //计算左靠
- Left();
- //开始左靠
- timer2.Enabled = true;
- }
- pictureBox.Invalidate();
- }
- private void pictureBox_Paint(object sender, PaintEventArgs e)
- {
- if (GameState == )
- {
- for (int i = width * height - ; i >= ; i--)
- Dia[i].Draw(e.Graphics);
- }
- else if (GameState == )
- {
- Dia[].Draw(e.Graphics);
- }
- else if (GameState == )
- {
- Dia[].Draw(e.Graphics);
- }
- }
- //执行左靠
- private void timer2_Tick(object sender, EventArgs e)
- {
- D = width * height;
- for (int i = ; i < width * height; i++)
- D = D - Dia[i].move();
- if (D == )
- {
- timer2.Enabled = false;
- Update();
- //判断是否还有解
- Judge();
- }
- pictureBox.Invalidate();
- }
- //执行消除星星的效果
- private void timer3_Tick(object sender, EventArgs e)
- {
- T++;
- if (T == )
- {
- timer3.Enabled = false;
- for (int i = ; i < Tot; i++)
- {
- labels[i].Size = new System.Drawing.Size(, );
- labels[i].Location = new Point(, );
- this.pictureBox.Controls.Add(labels[i]);
- }
- //更新
- Update();
- //计算下落
- Down();
- //开始下落
- timer1.Enabled = true;
- }
- }
- private void Close_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- private void pictureBox_Click(object sender, EventArgs e)
- {
- }
- //执行技能1
- private void button1_Click(object sender, EventArgs e)
- {
- news = news + "使用技能:唯我独尊\r\n";
- textBox1.Text = news;
- //让文本框获取焦点
- this.textBox1.Focus();
- //设置光标的位置到文本尾
- this.textBox1.Select(this.textBox1.TextLength, );
- //滚动到控件光标处
- this.textBox1.ScrollToCaret();
- num_Skill2--;
- label9.Text = "唯我独尊 ×" + num_Skill2.ToString();
- Skill_1();
- update_skill_button();
- }
- //执行技能2
- private void button2_Click(object sender, EventArgs e)
- {
- news = news + "使用技能:浮生万刃\r\n";
- textBox1.Text = news;
- //让文本框获取焦点
- this.textBox1.Focus();
- //设置光标的位置到文本尾
- this.textBox1.Select(this.textBox1.TextLength, );
- //滚动到控件光标处
- this.textBox1.ScrollToCaret();
- num_Skill1--;
- label8.Text = "浮生万仞 ×" + num_Skill1.ToString();
- Skill_2();
- update_skill_button();
- }
- //执行技能3
- private void button3_Click(object sender, EventArgs e)
- {
- news = news + "使用技能:咫尺天涯\r\n";
- textBox1.Text = news;
- //让文本框获取焦点
- this.textBox1.Focus();
- //设置光标的位置到文本尾
- this.textBox1.Select(this.textBox1.TextLength, );
- //滚动到控件光标处
- this.textBox1.ScrollToCaret();
- num_Skill3--;
- label10.Text = "咫尺天涯 ×" + num_Skill3.ToString();
- Skill_3();
- update_skill_button();
- }
- //自定义光标
- public void SetCursor(Bitmap cursor, Point hotPoint)
- {
- int hotX = hotPoint.X;
- int hotY = hotPoint.Y;
- Bitmap myNewCursor = new Bitmap(cursor.Width * - hotX, cursor.Height * - hotY);
- Graphics g = Graphics.FromImage(myNewCursor);
- g.Clear(Color.FromArgb(, , , ));
- g.DrawImage(cursor, cursor.Width - hotX, cursor.Height - hotY, cursor.Width,
- cursor.Height);
- this.Cursor = new Cursor(myNewCursor.GetHicon());
- g.Dispose();
- myNewCursor.Dispose();
- }
- //开始游戏
- private void StartGame_Click(object sender, EventArgs e)
- {
- axWindowsMediaPlayer1.URL = "Music\\click.wav";
- axWindowsMediaPlayer1.Ctlcontrols.play();
- news += "游戏已经开始啦!" + "当前玩家:" + textBox_Name.Text+"!\r\n";
- textBox1.Text = news;
- label11.Text = "游戏开始啦!";
- ReStartGame.Enabled = true;
- StartGame.Enabled = false;
- textBox_Name.Enabled = false;
- GameState = ;
- score = ;
- Now_toll = ;
- label4.Text = "玩家:" + textBox_Name.Text;
- update_skill_button();
- GameSt();
- }
- //重新开始游戏
- private void ReStartGame_Click(object sender, EventArgs e)
- {
- axWindowsMediaPlayer1.URL = "Music\\click.wav";
- axWindowsMediaPlayer1.Ctlcontrols.play();
- label1.Text = "Score:0";
- label2.Text = "目标:0";
- StartGame.Enabled = true;
- textBox_Name.Enabled = true;
- textBox_Name.Text = "";
- label4.Text = "玩家:" ;
- init();
- pictureBox.Invalidate();
- }
- private void label5_Click(object sender, EventArgs e)
- {
- }
- private void button4_Click(object sender, EventArgs e)
- {
- axWindowsMediaPlayer1.URL = "Music\\click.wav";
- axWindowsMediaPlayer1.Ctlcontrols.play();
- if (RMB - >= )
- {
- RMB = RMB - ;
- num_Skill1++;
- label3.Text = "金币:" + RMB.ToString();
- label8.Text = "浮生万仞 ×" + num_Skill1.ToString();
- news = news + "购买一个浮生万仞,金币-2." + "\r\n";
- textBox1.Text = news;
- //让文本框获取焦点
- this.textBox1.Focus();
- //设置光标的位置到文本尾
- this.textBox1.Select(this.textBox1.TextLength, );
- //滚动到控件光标处
- this.textBox1.ScrollToCaret();
- }
- else
- {
- news = news + "金币不足,购买失败!" + "\r\n";
- textBox1.Text = news;
- //让文本框获取焦点
- this.textBox1.Focus();
- //设置光标的位置到文本尾
- this.textBox1.Select(this.textBox1.TextLength, );
- //滚动到控件光标处
- this.textBox1.ScrollToCaret();
- MessageBox.Show("RMB不够啦!请给Me充钱!然后联系作者!", "友情提示");
- }
- update_skill_button();
- }
- private void button5_Click(object sender, EventArgs e)
- {
- axWindowsMediaPlayer1.URL = "Music\\click.wav";
- axWindowsMediaPlayer1.Ctlcontrols.play();
- if (RMB - >= )
- {
- RMB = RMB - ;
- num_Skill2++;
- label3.Text = "金币:" + RMB.ToString();
- label9.Text = "唯我独尊 ×" + num_Skill2.ToString();
- news = news + "购买一个唯我独尊,金币-5." + "\r\n";
- textBox1.Text = news;
- //让文本框获取焦点
- this.textBox1.Focus();
- //设置光标的位置到文本尾
- this.textBox1.Select(this.textBox1.TextLength, );
- //滚动到控件光标处
- this.textBox1.ScrollToCaret();
- }
- else
- {
- news = news + "金币不足,购买失败!" + "\r\n";
- textBox1.Text = news;
- //让文本框获取焦点
- this.textBox1.Focus();
- //设置光标的位置到文本尾
- this.textBox1.Select(this.textBox1.TextLength, );
- //滚动到控件光标处
- this.textBox1.ScrollToCaret();
- MessageBox.Show("RMB不够啦!请给Me充钱!然后联系作者!", "友情提示");
- }
- update_skill_button();
- }
- private void button6_Click(object sender, EventArgs e)
- {
- axWindowsMediaPlayer1.URL = "Music\\click.wav";
- axWindowsMediaPlayer1.Ctlcontrols.play();
- if (RMB - >= )
- {
- RMB = RMB - ;
- num_Skill3++;
- label3.Text = "金币:" + RMB.ToString();
- label10.Text = "咫尺天涯 ×" + num_Skill3.ToString();
- news = news + "购买一个咫尺天涯,金币-5." + "\r\n";
- textBox1.Text = news;
- //让文本框获取焦点
- this.textBox1.Focus();
- //设置光标的位置到文本尾
- this.textBox1.Select(this.textBox1.TextLength, );
- //滚动到控件光标处
- this.textBox1.ScrollToCaret();
- }
- else
- {
- news = news + "金币不足,购买失败!" + "\r\n";
- textBox1.Text = news;
- //让文本框获取焦点
- this.textBox1.Focus();
- //设置光标的位置到文本尾
- this.textBox1.Select(this.textBox1.TextLength, );
- //滚动到控件光标处
- this.textBox1.ScrollToCaret();
- MessageBox.Show("RMB不够啦!请给Me充钱!然后联系作者!", "友情提示");
- }
- update_skill_button();
- }
- private void timer4_Tick(object sender, EventArgs e)
- {
- time_font++;
- if (time_font == )
- {
- timer4.Enabled = false;
- GameSt();
- }
- }
- private void button7_Click(object sender, EventArgs e)
- {
- }
- }
- }
[留念贴] C#开发技术期末大作业——星月之痕的更多相关文章
- C#期末大作业 消消乐 2017-06-01 18:11 275人阅读 评论(0) 收藏
邻近期末,忙于刷题之余意识到期末大作业来不及了,匆匆赶下了作业,虽说做的很是粗糙,但完全原创的 下载链接 https://pan.baidu.com/s/1cCNLr4 大体的做大约3天完成了: 第一 ...
- Web程序设计基础期末大作业——模仿QQ飞车手游S联赛官网编写的网页
QQ飞车手游是我非常喜欢的游戏,也是我现在为数不多的常在玩的游戏,刚好我Web程序设计基础的大作业是要做一套网站,我就借此机会模仿飞车S联赛官网的页面自己做了一个网页,又加了一些自己的元素,由于我做这 ...
- 图论期末大作业编程题(如何判断一个4连通4正则图为无爪、无K4图)
博士期间估计这可能是唯一一个要编程的作业,搞了半天弄出这个东西,放这里为以后用到的时候查找方便. 说来也是可笑,读博士期间发现大家对上课也都没什么兴趣,老师也是那么回事,都说博士期间学的课程是要有助于 ...
- 大一上C语言期末大作业-成绩管理系统
都过了半年的作业了,觉得做过去得留下点什么,所以整理了代码发一下博客. 声明:程序在DevC++下用c文件模式可以正常编译使用.(控制台程序) 程序结构:
- fir.im Weekly - 2016 移动开发技术大回顾
2016 年是移动技术发展迅速的一年,认认真真回顾这一年必不可少.@移动开发前线 的 这篇 2016移动开发技术巡礼 ,精心盘点了 2016 年 移动开发技术大事件,分为 iOS/Android平台篇 ...
- 【大数据应用技术】作业十二|Hadoop综合大作业
本次作业的要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3339 前言 本次作业是在<爬虫大作业>的基础上进行的 ...
- 大作业:开发一个精美的 Web 网站
大作业:开发一个精美的 Web 网站 实验目的: 掌握一个完整精美网页开发的基本方法 实验要求: 1.开发一个 Web 站点,至少有 3 个以上的页面: 2.采用 CSS 和 HTML 文件分开方法: ...
- 期末Java Web大作业----简易的学生管理系统
学生信息管理系统(大作业) 2018-12-21:此文章已在我的网站更新,添加视图介绍等信息,源码请移步下载https://www.jeson.xin/javaweb-sims.html PS:首先不 ...
- 大数据应用期末总评——Hadoop综合大作业
作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3339 Hadoop综合大作业 要求: 1.将爬虫大作业产生的csv文件 ...
随机推荐
- HDU4565 && 2013年长沙邀请赛A题
部分转自http://blog.csdn.net/crazy______/article/details/9021169 #include<cstdio> using namespace ...
- mysql的架构
和其他数据库相比,mysql有点与众不同,它的架构可以在多种不同场景中应用并发挥好的作用,而理解其设计是发挥好作用的先决条件 每当我们在想起mysql的逻辑架构师,我们可以构造一副mysql各组件之间 ...
- VS2010新建Web网站与新建Web应用程序的区别
在Visual Studio 2010中,除了可以使用“创建Web应用程序”的方式来构建自己的Web项目之外,还可以通过创建“Web网站”的方式来构建Web项其中,Web网站的创建方法:打开Visua ...
- SVN服务器搭建(3)
转自:http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2408089.html vs 2013 svn插件:http://www.visua ...
- GridView中的编辑和删除按钮,执行更新和删除代码之前的更新提示或删除提示
在GridView中,可以通过设计界面GridViewr任务->编辑列->CommandField,很简单的添加的编辑和删除按钮 在前台源码中,可以看到GridView自动生成了两个列. ...
- beanutils中jdbc
public class JDBCTest { // public static void main(String[] args) throws Exception {// Cla ...
- java入门学习(十二)运算语句 if switch
这两天在网上做兼职,耽误了些博客见谅哈 欢迎来我的博客:www.taomaipin.com java中的运算语句而且频繁用到的无法就是条件语句和循环语句,包括if,for,while,switch,b ...
- iOS 制作 framework 教程
直接看步骤 废话不多说,哈哈! 1.新建一个静态库工程: 2:取自己喜欢的名字: 3.删除向导所生成工程中的 Target: 3.删除TestFrameWork对应的工程文件夹: 5:删除bulid ...
- IIS发布网站,浏览网站时候,出现 试图加载格式不正确的程序。
异常来自HRESULT:0x8007000B 缘由:在64位操作系统下IIS发布32位的项目,报“项目依赖的dll无法读取,试图加载格式不正确的程序”错误. 原因:程序集之间的通讯要么全是64位环境下 ...
- web代理进行跨域访问
通过web代理进行跨域访问,http请求返回超时的问题定位 [现象] 在ajax通过web代理跨域访问时,http第一次登陆时正常,但是第二次再下发其他命令的时候总是返回 java.net.Soc ...