C#游戏设计大赛
此游戏是在班上一次c#游戏设计大赛做的,在此我也曾获得过奖
其中包扩两个游戏,
一个是贪吃蛇,另一个是打字游戏
其中包含有许多的功能,也运用许多知识点,
1.如何读取音乐文件:例如:贪吃蛇吃食物的声音,字体被打中的声音,游戏结束的生音...
2.如何更改界面皮肤:
3.如何在托盘中写入应用程序图标:鼠标右击右下角的图标可以选择自己喜欢的皮肤
4.对贪吃蛇可以设置蛇的颜色,也可以设置食物的颜色,还可以设置界面的背景颜色...
5.对打字游戏可以设置字体的大小,类型,游戏的背影颜色...
6.可以设置自己过关的关数,和设置过关的难度级别
7.在游戏的有上方可以看到玩过此游戏的最高分和玩家,如过您破了最高记录将会记录你的姓名和分数
8.在玩游戏中也可以设置一些自己喜欢的背景音乐,此功能相当于一个千千静听,可以循环遍历某个文件中的音乐文件
9.如何调用本机程序:我用这个知识点做了一个超链接,可以连接到我的CSDN博客
......
希望此程序能给大家带来帮助!!!
1.贪吃蛇游戏
1.用3个Label组成一条蛇,设置Label的相关属性,是第一个Label设为相应的颜色.
//画出一条蛇
public bool DrawSanke()
{
arry_snake = new ArrayList();
lbl1 = new Label();
lbl2 = new Label();
lbl3 = new Label();
arry_snake.Add(lbl1);
arry_snake.Add(lbl2);
arry_snake.Add(lbl3);
for (int i = 0; i < arry_snake.Count; i++)
{
Label lbl = (Label)arry_snake[i];
lbl.BorderStyle = BorderStyle.Fixed3D;
lbl.Width = 15;
lbl.Height = 15;
lbl.Left = 30 - lbl.Width * i;
lbl.Top = 30;
if (i == 0) //判断是否是蛇头
lbl.BackColor = foodColor; //将蛇头设为红色
else
lbl.BackColor = sankeBody;
this.pan_sanke.Controls.Add(lbl); //将蛇添加到Panel中
}
return _isHaveSnake = true;
}
2.用用一个Label当作一个食物,并设置它的相关属性并显示在面板中的位置
//画食物
public void DrawFood()
{
lblFood = new Label();
lblFood.Width = 15;
lblFood.Height = 15;
lbl1.BorderStyle = BorderStyle.Fixed3D;
lblFood.BackColor = foodColor; //设置食物的颜色
Random rdm = new Random();
//面板中有多少个Label的宽度
x = Convert.ToInt32(Math.Floor((double)(this.pan_sanke.Width / 15)));
//面板中有多少个Label的高度
y = Convert.ToInt32(Math.Floor((double)(this.pan_sanke.Height / 15)));
Ox = rdm.Next(0, x) * 15;
Oy = rdm.Next(0, y) * 15;
lblFood.Left = Ox; //食物离面板左边的距离上多少
lblFood.Top = Oy; //食物离面板上面的距离有多少
this.pan_sanke.Controls.Add(lblFood); //将食物添加到面板
}
3.蛇移动的方法(最后一个Label移到第一个)
//蛇移动的方法
public void Move_snake(int start_snake,int end_snake)
{
if (snake_start == 0) //判断第一个元素的下标是否为0
{
snke_end = arry_snake.Count - 1;
snake_start = snke_end; //最后一个元素移到第一个
}
else
{
snke_end = snake_start - 1;
snake_start = snke_end; //最后一个元素移到第一个
}