• C# 在线培训之零基础入门 04:打老鼠初级之枚举、重构、事件处理器


    一:为界面加入“开始”、“暂停”、“停止”按钮以及设定难度等级

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

    经过上节课程我们的交互的过程,我们的程序增加了用户友好度,同时也可以记录更为详尽的成绩了。但是我们仍然发现有很多地方需要值得改进(或许你还 发现了BUG?不着急。),首要的,似乎不应该让界面一出现,游戏就开始,我们需要为程序增加“开始”、“暂停”、“停止”按钮。而且,游戏太功能太单一 了,我们似乎应该增加一个难度等级,没错,暂时就分为“简单”、“中等”、“难”吧。

    现在,我们就来增加这些功能,查看视频:

    Lesson4.swf:(我已在线发送给你。若您不知如何获取,请查看TMJ .NET在线培训)。

    二:完善代码

    那么,完成了UI,接下来就要那么多的事件处理器增加游戏的逻辑,查看视频:

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

    三:我们需要总结一下这个视频

    1:首先,我们学到了如何使用如下快捷键,要知道,熟练的使用快捷键会增加你写代码的信心:

    Tab:让VS帮我们快速完成代码;

    Ctrl+C:不仅仅是复制哦,而是在不选中任何内容的时候进行复制;

    Ctrl+D:默认在当前之上粘贴剪贴板中的整行;

    Ctrl+Shift+箭头:选单词;

    Ctrl+右键头:智能感知;

    Ctrl+K+D:自动对齐代码;

    2:用switch取代if

    当出现太多的if的使用,可以尝试使用switch来进行取代if。当然如果出现了3个以上的if条件,就要小心了,也许我们应该修改代码了,因为太多的if条件,让代码显得那么的不面向对象。别急,我们即将会学到面向对象。

    3:新增文件

    在这个例子中,我们学习了如何为项目增加一个文件;

    4:如果出现了重复代码,就需要进行提炼方法,这种让代码质量持续改进的方法,有一个很时髦的名字:重构

    我们在下下节课中,将会学习面向对象编程(OOP),我们会进行大量的重构,我们应该要期待OOP,因为这会让我们像写诗一般去写代码。

    5:枚举

    枚举在C#中,是一个跟class等级别重要的概念。我们已经在之前的课程里讲过,类有属性和行为,而枚举呢,只有一组代表不同含义的指,如:周一到周日,可以定义一个这样的枚举:

    enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};

    我们在我们的游戏中,将难度定义成了一个枚举,如下:

    enum Level
    {
        Basic,
        Middle,
        High
    }

    6:事件处理器

    事件处理器是什么,就是方法,如果一个方法被赋值给了一个事件变量,那么这个方法就是一个事件处理器。原则上,这个概念我们会在下一小节讲到,包括 委托处理器,但是如果你一定要对Button按钮事件现在就做了解,那么我们就该知道这个概念。那么,什么叫给事件变量赋值呢?其实我们已经见过了这样的 代码了:

    image

    在我们这个游戏当中,我们当前的代码中:

    image

    就是一个事件处理器,它被赋值给Button的Click事件变量的语句是VS自动给我们生成在了Form1.Designer.cs中了,如下:

                this.buttonStart.Click += new System.EventHandler(this.buttonStart_Click);

    我们在今天的编码中,并没有编写如上的语句,是因为VS做好事,帮我们写了这样的语句,但是,如果我们一定要深究,为什么我Click之后,它就会自动执行游戏开始的代码呢?OK,看一看Form1.Designer.cs,就什么都知道了。

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

    1:快捷键若干;

    2:switch;

    3:New File;

    4:枚举;

    5:事件处理器;

    6:重构;

    下一节预告:委托、事件、FCL常用的委托类

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

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

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

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

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

    分享到QQ空间  

  • 相关阅读:
    实验8-1-8 报数 (20分) 浙大版《C语言程序设计实验与习题指导(第3版)》题目集
    6-11 求自定类型元素序列的中位数 (25分)
    L2-032 彩虹瓶 (25分)
    L2-031 深入虎穴 (25分)
    L2-029 特立独行的幸福 (25分)
    L1-064 估值一亿的AI核心代码 (20分) 团体程序设计天梯赛-练习集
    7-16 一元多项式求导 (20 分) 数据结构与算法题目集(中文)
    7-28 搜索树判断 (25 分) 数据结构与算法题目集(中文)
    数据加密之SymmetricAlgorithm加密
    数据加密之RijndaelManaged加密
  • 原文地址:https://www.cnblogs.com/jqmtony/p/2910836.html
Copyright © 2020-2023  润新知