《猜猜看》游戏的开发总结

原创 2015年07月07日 12:26:11

                             《猜猜看》游戏的开发总结

1.最终成果


1.1课程设计的目的


      把软件工程中规范的软件开发方法应用到本次教师认识学生软件“猜猜看”的开发过程中,以经济地开发出高质量的软件并有效的维护它。


1.2课程设计的任务


根据软件开发工程的过程,分析设计一个教师认识学生软件,即“猜猜看”。


1.3课程设计采取的基本原理和主要技术方法


      本系统专门针对教师如何快速认识学生而开发的一个功能齐全、操作简单的猜猜看软件,适合教学人员使用。本系统实现以下基本功能;教师可以将自己学生的照片放入到该软件连接的指定路径的文件夹中,便于教师通过该软件迅速认识学生。


1.4软件展示


 猜猜看运行界面,如下图所示:


2.猜猜看游戏开发过程介绍


2.1问题定义


2.1.1开发该工程的原因


   由于现今大学学生纵多,而相对老师较少,每个老师教的学生数目多。一学期下来老师不能够认识所有学生,这样不便于师生之间互动,以及教师因材施教。从而设计了这样一个软件,便于教师迅速认识学生姓名,为教学过程中师生之间良好的互动提供了便利。


2.2.2该工程的基本目标


   开发猜猜看软件,以供教学人员迅速识别学生,方便根据不同的学生因材施教,而且也便于课堂师生互动。大大提高了老师的教学效率,从根本上讲是有利于老师教学和学生学习的。


2.1.3开发过程


开发时遇到了好多问题,首先第一步要做一个什么样的界面出来比较合适。到后来,如何实现随机显示图片等等。以及怎样计算每张学生识别正确的概率,然后如何根据概率控制图片出现的次数。


1>、界面设计

  1. starGame—游戏按钮,主要功能:开始游戏

  2. pictureBox1—随机显示一张图片。

  3. radioButton1radioButton2radioButton3,显示学生姓名,并供选择使用,单选框。

  4. label1—显示所选择答案是否正确。

  5. correctResult—显示正确答案按钮

  6. continueGame—继续游戏按钮

  7. exitGame—退出游戏按钮

  8. label2—该同学已显示次数

  9. label4—该同学认对的概率

  10. label3—显示该同学照片显示的次数

label5—显示该同学被认对的概率

2>、代码编写

在核心代码解读里详细介绍。

3>、猜猜看 运行

如图为软件运行的截图,

可以点击游戏按钮开始游戏;

然后选择人名,通过单选框radioButton来选择学生姓名,只能选择一个学生姓名;

如果选择错误,label1显示错误,可点击查看答案来查看正确答案,也可点击继续按钮继续游戏,若猜对,则继续游戏,无论对错,都可退出游戏。

3.开发时的学习与收获

通过这次编写软件,我意识到一个软件的开发,是要从计划->分析->设计->实现,等

这些阶段的。

   首先,我们要计划开发一个什么样的软件,该软件具有哪些功能,根据他的功能来设

计一些模块,然后让这些模块发挥出其应具有的功能。

   根据功能编写代码。调试代码,根据软件最后实现后表现的功能,调试代码,使其功

能得到完善。

收获:软件的编写是一个缜密的过程,代码只是实现功能的部分,而整个软件的开发过程

中:分析、设计等阶段是必不可少的,只有这些过程准确无误的设计了,开发过程才不会

误入歧途,是软件的开发更加高效,质量更好。

4.核心代码的解读

以下代码功能是描述了“游戏”按钮如何得到随机图片,并进行下一步操作:选择。

 private void starGame_Click(object sender, EventArgs e)
        {
            randomStudent();                        // 得到随机照片

            cleanRadio123();                        // 清空radiobutton选项
            getThreeChecked();                      // 得到三个选项的值
            continueGame.Visible = false;           // 隐藏继续游戏按钮
            correctResult.Visible = false;          // 隐藏查看正确答案按钮
            this.label1.Text = "请选择答案";
            re_elect = false;                       // 默认没有重选
            label5.Text = "选择答案查看";

        }


以下代码块描述了软件是如何随机显示学生照片的,其原则如下:

1、随机显示 一张相片 与 若干个名字(如3个),选择正确的名字。

2、记录老师对每个学生的认识概率P,并根据认识概率,确定“猜猜看”游戏中学生出现的频率。


认识概率P =识别的准确次数/(识别的准确次数+识别的错误次数)


 原则1:认识概率 高的学生,在猜猜看游戏中出现的频率相对低一些。


 原则2:认识概率 低的学生,在猜猜看游戏中出现的频率相对高一些。


 原则3:认识概率 100%的学生,也有出现的可能性。


 原则4:认识概率 0%的学生,也不必每次都出现。

 // 随机显示照片
        void randomStudent()
        {
            bool boo = new bool();
            boo = true;
            Random ran = new Random();
            t = ran.Next(56);
            while (t == m || t == n)
            {
                t = ran.Next(56);
            }
            //imageList1.ImageSize = new Size(120, 120);

            // 判断学生认识率是否大于 60%
            while (boo)
            {
                if (percent[t] >= 0.6)
                {
                    // 学生认识率高于99%时,出现的概率为原来的1/10
                    if (percent[t] >= 0.99)
                    {
                        m5++;
                        if (tp[t] == 9)
                        {
                            pictureBox1.Image = imageList1.Images[t];
                            sumStudentPhoto[t]++;
                            this.label3.Text = sumStudentPhoto[t].ToString();
                            tp[t] = 0;
                            boo = false;
                        }
                        else
                        {
                            tp[t]++;
                            t = ran.Next(56);
                        }
                    }
                    // 学生认识率在90%到99%之间,出现的概率为原来的1/5
                    if (percent[t] >= 0.9 && percent[t] < 0.99)
                    {
                        m4++;
                        if (tp[t] == 4)
                        {
                            pictureBox1.Image = imageList1.Images[t];
                            sumStudentPhoto[t]++;
                            this.label3.Text = sumStudentPhoto[t].ToString();
                            tp[t] = 0;
                            boo = false;
                        }
                        else
                        {
                            tp[t]++;
                            t = ran.Next(56);
                        }
                    }

该代码功能是描述了如何获得学生姓名,笔者是通过把学生姓名写在文本文档中,再通过文件读取流来获取学生姓名,从而供教师选择。

 void getStudentName()
        {

            StreamReader reader = new StreamReader(@"E:\caicaikan\student_name\name.txt", Encoding.GetEncoding("gb2312"));

            String line = reader.ReadLine();
            int i = 0;
            while (line != null)
            {
                sumStudentNames[i] = line;
                i++;
                line = reader.ReadLine();
            }
            reader.Close();
        }
        int randomStudentName1()
        {
            Random ran = new Random();
            m = ran.Next(56);
            while (m == n || m == t)
            {
                m = ran.Next(56);
            }
            return m;
        }

8.开发后的感受与体会


通过这次对软件开发全过程报告的总结,我清楚的认识到了软件开发所要做的具体工作,例如:软件开发前的概要设计,可用性分析,如何实现以及需求分析。开发过程中要考虑当初的设计思路,按照设计要求做相应的功能。开发结束后要对整个开发过程做详细总结,小到每个功能模块,大到整个软件的设计思路等等。


从这一个小软件中,让我看到了.net开发出来的软件如此漂亮、应勇性功能如此之强,也许这就是我们一直选择微软.net开发平台的原因。确实,开发软件的时候注意软件的细节将会使软件给用户更好的体验,我们学习微软的技术,更要学习微软的细心以及全面为用户考虑的精神,而不是满足于软件可以使用功能能够实现的情况,多关注一些细节,将会使你的软件更完美。


当然,还有许多需要注意的技术和非技术的细节问题,往往我们技术人员觉得不重要的东西偏偏是用户觉得最重要的。我相信,在软件开发的过程中,多关注开发过程中的细节,将会使我们的软件更加完美,当然付出得越多,得到的越多。


   继续加油!!!


《猜猜看》游戏开发总结

《猜猜看》游戏总结   1.成果展示     首先想说明此游戏并没有加入概率统计模块,也没有对猜完的结果进行保存和统计,功能比较简单。下面是《猜猜看》这个游戏的操作展示:   开始游戏前的界...
  • salvatore14
  • salvatore14
  • 2015年07月07日 17:15
  • 267

猜猜看游戏的开发总结

一、  猜猜看游戏的开发过程介绍 开发总时间:断断续续用了三天的时间,大概需要32个小时。 开发大概过程: (1)  鉴于本学期选修了JSP这门课程,之前也做过《星星书屋》的课程设计,对JSP相...
  • xj_sy
  • xj_sy
  • 2015年07月05日 21:06
  • 317

猜猜看游戏开发总结

一、   设计目的 通过完成课程设计,熟悉和掌握JavaScript编程语言的编程规则和技巧,深化对已掌握的编程技术和方法的理解与应用。了解JavaScript、JSP和C#编程的优缺点,为今后更进...
  • d0105055134
  • d0105055134
  • 2015年07月07日 19:48
  • 231

《猜猜看》游戏的开发总结

1 最终成果    看名字猜图片: 看图片猜名字: 程序的结构:  2 猜猜看游戏的开发过程介绍 一 设置Form1界面,利用按钮的触发事件功能,分别转向不同的2个窗口 ...
  • WMCTG
  • WMCTG
  • 2015年07月08日 15:08
  • 233

C#《猜猜看》游戏开发总结

1. 最终成果(图片放入imagelist后出现了失真的现象) 开发界面 开始界面 第一次猜点击开始猜,之后点击下一张 答对了 答错了 ...
  • CJF207
  • CJF207
  • 2015年07月08日 12:03
  • 549

总结半年的游戏开发经验

转眼我做游戏开发已经半年多了,回顾这半年,印象最深的是当初一心想学游戏什么都阻挡不了我的决心。记得那会为了学游戏,网上找了好多资料,才确定从cocos2d入门。然后下了好多入门的电子书和视频。那会刚好...
  • qq_35064774
  • qq_35064774
  • 2016年07月18日 20:11
  • 948

android写的猜猜看小游戏

android版猜猜看     首先分析作业的需求,随机出现三张图片,每张图片一个名字,从三张图片中选出一个名字,然后用户选择图片,如果图片与名字相符合,则提示选择正确,否则错误。然后这是个老师认识学...
  • u013013970
  • u013013970
  • 2015年06月06日 09:59
  • 517

C#程序设计开发总结(猜猜看游戏开发)

《C#程序设计》开发总结 李 杰 信息学院;物联1121;201211672114 一、课程设计的任务     设计一个猜数字游戏程序,该游戏可以由程序产生随机数字,玩家通过输入数字来匹配程序...
  • lgcss09xl7313
  • lgcss09xl7313
  • 2015年07月08日 10:49
  • 833

H5游戏项目开发总结

今年5月1日公司立项准备开发一款SLG的H5游戏。经过调研决定使用LayaAir引擎。 目前游戏第一轮测试已经结束。简单回顾一下: 明确要求赶在暑期档上线,由于之前一直是用cocos2dx-lua...
  • yhhwatl
  • yhhwatl
  • 2016年09月10日 20:44
  • 1264

《C#程序设计》猜猜看游戏开发总结

《猜猜看》游戏开发总结: 开发目的: 在校园中,我们经常遇到某个学生叫自己老师,但老师却想不出该学生的名字,彼此显得有点尴尬。不仅师生之间的互动交流会有这样的问题存在,就连我们身边的同学之间也有这样的...
  • qy_WLX
  • qy_WLX
  • 2015年06月29日 09:46
  • 627
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《猜猜看》游戏的开发总结
举报原因:
原因补充:

(最多只允许输入30个字)