C# 在线培训之零基础入门 03:打老鼠初级

实现打老鼠

备注:本文是课程《.NET 零基础入门》的免费部分,详细请参见TMJ .NET在线培训

打开电脑后,我们需要找到我们创建的打老鼠游戏,我要求你不要从电脑的本地打开解决方案,而是从我们的源码服务器上打开它。好的,我们的地址是:

https://luminji.visualstudio.com/DefaultCollection/MinjiProject

image

点击“Open new instance of Visual Studio”,打开VS:

image

然后按上图中的步骤1和2(双击2处),打开我们的解决方案,如下:

image

注意,双击红框,会显示Solution Explorer。

我们在上一节中,只是创建了打老鼠的解决方案,还完全没有编写任何代码。这个时候运行解决方案一下(记得吗,菜单中Debug->Start without debug,或Ctrl+F5。我喜欢用快捷键,而且你也必须快速熟悉起这些快捷键,使用快捷键可以节约时间)。

运行起来后,是一个空白的Windows窗体,如下:

image

现在我们就要在这个窗体上打老鼠了。

打老鼠这个游戏的最终效果图如下:

image

为了完成这个游戏,有两个图片资源要用到:

背景bg.png:(我已在线发送给你)

老鼠mouse.png:(我已在线发送给你)

备注:没错,这是一个付费课程的在线公开部分,如果你有任务疑问,请查看“TMJ .NET在线培训”;

请把这两个图片保存到我们的项目的根目录下,请查看如下视频进行图片资源的导入及背景设置:

Lesson1.swf:(我已在线发送给你)

现在我们看到的整个VS画面应该是这样的:

image

接下来,我们就该简单的把打老鼠游戏的整个编码实现思想说一下了。我们看到背景上有11个老鼠洞:

1:首先给11个老鼠洞都覆盖上老鼠形象;

2:把全体老鼠形象设置为不可见;

3:给程序设定一个始终,让时钟每隔1秒随机显示一个老鼠形象;

4:当老鼠形象出现的时候,鼠标击中了老鼠则计分+1;

由于我们是第一次编写WinForm程序,所以我们仍然用视频的方式进行教学,请看如下视频:

Lesson1_2.swf:(我已在线发送给你)

二:截止目前为止的打老鼠知识点

到目前为止,我们实现的打老鼠游戏虽然简单,却已经包含了很多的语法知识,如下11个知识点:

image

接下来,我们就需要一一学习一下这些知识。(注意,在本节下面的详细叙述当中,各个知识点我会只讲到当前必须知道的程度,随着课程的深入会逐步补充各个知识点的深入阐述。)

1和2:被引用的命名空间以及定义当前的类的命名空间

把类在归类一下,就叫命名空间。

命名空间和文件夹的关系?没有关系!当然,常用的做法是,一个命名空间就使用一个文件夹。

如果我们在当前类中要引用到别的类,则方便的做法是把别的类所在的命名空间用using引入进来,如上图的1;

反过来,我们现在在编写打老鼠这个类,就需要为当前的这个类定义一个命名空间,如上图的2;

3和4:类和实例

在C#的世界中,代码是以类为单位组织起来的,我们可以看到:

public partial class Form1 : Form

Form1就是一个类。关于一个类的最简单的形式如下:

class Mouse

{

}

至于打老鼠游戏中的Form1这个类声明当中的partial和后面的冒号后的内容,我们暂时可以不管它。

类和文件的关系?没有关系!当然,常用的做法是,一个类使用一个文件。

对类使用new关键字,就产生了类的一个实例,如:

Mouse aMouse = new Mouse();

 

5和10和11. 变量

在类以内,方法以外,没有修饰static的变量,为实例变量;

方法以内的变量,叫做局部变量;

变量在方法的声明内,叫做方法参数;

变量(或者说变量名),代表的就是某个你要操作的对象。

6和9. 方法

方法定义了类的行为,也就是类可以干什么。

有一类特殊的方法叫做构造器。它是在产生类的实例的时候首先被调用的。

7. 循环结构

foreach,for,while,都属于循环结构,光看代码,大家应该都能准确理解起意思,不在赘述。

8. 条件结构

If属于条件结构,很简单,不再赘述。

同属于条件结构的还有switch和三元运算符,等我们使用到的时候一并讲解,这里不再赘述。

三:本节任务

根据上课内容,将你自己的打老鼠游戏完成,并且尽自己的能力,尽可能的对我们的代码进行改善,然后签入。

TMJ .NET在线培训”本节知识点:

1:Winform程序的创建

2:Winform空间:Label, PictureBox, Timer

3:FCL(.NET Framework 基础类库)类型Random,List<T>(涉及,但不深入)

2:命名空间、类、实例、变量、方法、循环结构、条件结构

3:多线程、事件(涉及,但不深入,学员可自行思考本部分哪里用了多线程)

--------------------------------------

欢迎您,进入 我系程序猿 的cnBlog博客。

你不能改变你的过去,但你可以让你的未来变得更美好。一旦时间浪费了,生命就浪费了。

You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.

--------------------------------------

分享到QQ空间  

原文地址:https://www.cnblogs.com/jqmtony/p/2910831.html