C#课程设计 ——小游戏打地鼠

这篇具有很好参考价值的文章主要介绍了C#课程设计 ——小游戏打地鼠。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

课程设计说明书

代码(32条消息) C#课程设计-打地鼠小游戏-C#文档类资源-CSDN文库

设计题目: 打地鼠小游戏

院(系) 软件工程学院

专业年级 19级计科1班

学生姓名 学号

同组同学姓名 学号

指导教师

日 期 2021年12月

目  录

1 引 言 3

1.1课程设计的目的 3

1.2本选题的内容要求 3

1.3 软件开发运行环境 3

2 总体设计 4

2.1设计思路 4

2.2软件总体结构图 4

2.3主要功能模块的设计 5

3 详细设计与实现 6

3.1 界面模块 6

3.1.1界面功能设计 7

3.1.2游戏主界面设计 7

3.1.3主界面主要代码 8

3.2 各个界面 9

3.2.1登录注册界面功能设计 9

3.2.游戏界面设计 10

3.3 游戏区 10

3.3.1游戏区功能设计 11

3.3.2游戏区界面设计 11

3.3.3游戏区行列主要代码 12

4 小结和展望 13

参 考 文 献 14

  1. 引 言

1.1课程设计的目的

现如今,电子游戏已慢慢渗透进人们生活中,并在扮演着越来越重的角色。可以说,随着它的迅猛发展,现今的电子游戏已经不仅仅是一种娱乐,而是形成了一种文化现象。游戏本来的目的是为了要让人们在忙碌的生活节奏中放松身心,轻松一下、让人娱乐的。单机游戏,指仅使用一台计算机或者其它游戏平台就可以独立运行的电子游戏。由于其不必连入互联网也可进行游戏从而摆脱了很多的限制,只需要一台计算机即可体验游戏。

本游戏的制作属于简单的益智类游戏可以使玩家体验到娱乐与消遣,打地鼠作为娱乐性质的游戏项目,可以锻炼玩家的反应能力,其次,本游戏可通过敲击键盘来控制锤子打地鼠,还能锻炼玩家对键盘的熟悉程度。

打地鼠游戏设计牵涉到图像处理函数、以及鼠标控制等各方面知识,许多函数的使用方法可借鉴扫雷游戏的处理方法,通过对现有打地鼠游戏的改造,形成特有的TC下的打地鼠游戏。

1.2本选题的内容要求

本游戏需要与一般的其他游戏一样,能够便捷地良好的界面使用人员能快捷简单的进行操作。除此之外,还能即时准确的获得游戏结果

总结来说,本游戏应该能够满足用户的以下需求:

(1)能够体验游戏的畅玩的感觉。

(2)有信息的数字化显示,以方便所有用户对游戏结果的了解。

(3)运行欢迎界面和注册登录时,可现实简单的动画效果,使游戏增添无限乐趣。

(4)运行游戏时,可出现时间限制,增加用户对时间的观点操作。

(5)点击出现的地鼠,会触发地鼠被打之后的照片特效,可增加用户对本游戏畅玩的游戏快感。

1.3 软件开发运行环境

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员 AndersHejlsberg 的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows 网络框架的主角。

C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

  1. 总体设计

2.1设计思路

①显示栏的设计及功能实现:显示栏主要包括打中次数、总点击数、剩余时间三种常见显示数据。其中打中次数表示鼠标单击击中地鼠的次数,总点击数表示单机鼠标次数,剩余时间表示游戏结束时间(这里设置了三分钟倒计时)。

②画图区的设计:对图片的编辑处理区。

③设置栏的设计:不同的文本框和按钮生成游戏界面。

2.2软件总体结构图

打地鼠的界面分为三部分,第一部分最上面的显示栏部分,中间是游戏界面部分,最下面是设置栏按钮部分。利用Visual Studio 2012 Windows窗体应用程序首先开始设计一个整体的界面,菜单栏中分别有:打中次数、总点击数、剩余时间。显示部分由登录界面的图片以及生成界面组成,定义打地鼠所需要的按钮并赋给其按钮名称,使得使用打地鼠游戏简单明了,清晰可见,操作轻松。

给各个按钮进行属性设置,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的设置,生成数据并显示。

C#课程设计 ——小游戏打地鼠

2.3主要功能模块的设计

(1) 主界面功能表

注册登录

序号

功能内容

控件

对象名

备注

1

显示输入提醒

Lable1

输入游戏ID

2

转跳到注册界面

Button1

注册

3

转跳到游戏界面

Button2

登录

(2) 游戏界面功能表

序号

功能内容

控件

对象名

备注

1

游戏界面显示

Panel

panel1;

2

开始及界面生成

Panel

panel2;

3

开始按钮

Button

button2;

4

生成界面按钮

Button

button1;

5

行列输入

TextBox

textBox1;

6

提示输入行列

Label

label1;

7

地鼠出现时间

Timer

timer1;

8

最上面显示栏

Panel

panel3;

9

总点击次数

Label

label5;

10

总点击次数

Label

label4;

11

打中次数

Label

label3;

12

打中次数

Label

label2;

13

剩余时间

Label

label7;

14

剩余时间

Label

label6;

15

倒计时计时

Timer

timer2;

  1. 详细设计与实现

3.1 界面模块

3.1.1界面功能设计

打地鼠的主界面分为注册,登陆界面栏、游戏界面三部分。其中,游戏界面区实现了显示栏实现了游戏的记录、计时等操作;登录界面栏实现了输入账号登录,实现账号注册操作;状态栏实现了显示鼠标当前状态。

C#课程设计 ——小游戏打地鼠
C#课程设计 ——小游戏打地鼠

3.1.2游戏主界面设计

打地鼠的主界面如下图所示,在登入界面加入图片,使其界面更为美观;一开始调明剩余时间让玩家有三分钟倒计时准备。

C#课程设计 ——小游戏打地鼠

图3-1 主界面图

3.1.3主界面主要代码

namespace WindowsFormsApplication6

{

public partial class Form1 : For

{

public Form1()

{

InitializeComponent();

}

//设置游戏显示界面最大,最小行列数

int DSIZE = 60;

int COUNT = 4;

Button[,] btn;

//游戏开始按钮的相关设置

点击开始后把button2属性text由“开始”变为“停止”

private void button2_Click(object sender, EventArgs e)

{

if (button2.Text == "开始")

{

timer1.Enabled = true;

button2.Text = "停止";

timer2.Start();

}

else

{

timer1.Enabled = false;

button2.Text = "开始";

timer2.Stop();

}

}

private void panel1_MouseEnter(object sender, EventArgs e)

{

this.Cursor = new Cursor("imgs/hit.cur");//锤子

}

private void panel1_MouseLeave(object sender, EventArgs e)

{

this.Cursor = new Cursor("imgs/hit.cur");

}

private void panel1_Paint(object sender, PaintEventArgs e)

{

}

private void Form1_Click(object sender, EventArgs e)

{

int zong=int.Parse(label5.Text);

zong++;//点击次数计数

label5.Text =zong + " ";

Button bn = (Button)sender;

if (bn.Tag.ToString() =="1" )

{

bn.BackgroundImage = Image.FromFile("imgs/heatmouse.png");//播放挨打

int dj = int.Parse(label3.Text);//打中次数

dj++;

label3.Text = dj + " ";

}

}

//游戏倒计时设置,180秒

int time = 180;

int count = 0;

private void timer2_Tick(object sender, EventArgs e)

{

count++; //计当前秒

label7.Text = (time - count).ToString() + "秒";//显示剩余时间 不需要提取,可以不加空格

if(count == time)

{

timer2.Stop();//时间到,停止计时

MessageBox.Show("时间到,游戏结束!!", "提示");//弹出提示框 show("内容","标题")

}

}

}

}

3.2 各个界面

3.2.1登录注册界面功能设计

登陆界面包括登录界面和注册界面两部分。注册新账号保存在 name.txt

登录时在文件中查找,实现代码如下:

C#课程设计 ——小游戏打地鼠

注册界面实现代码如下:

private void button1_Click(object sender, EventArgs e)

{

bool flage = true;

if (textBox1.Text == "")

MessageBox.Show("注册名不能为空!");

else

{

string s;

StreamReader reader = new StreamReader("name.txt");

do

{

s = reader.ReadLine();

if (s == textBox1.Text)

{

flage = false;

MessageBox.Show("该用户已注册!");

}

}

while (!reader.EndOfStream && flage);

reader.Dispose();

if (flage)

{

StreamWriter writer = new StreamWriter("name.txt", true);

writer.WriteLine(textBox1.Text);

MessageBox.Show("用户注册成功,请进行登录!");

writer.Dispose();

}

3.2.2游戏界面设计

从本地资源中导入图片进行插入达到美观效果

C#课程设计 ——小游戏打地鼠

引入图片包制作鼠标、生成界面效果

C#课程设计 ——小游戏打地鼠

3.3 游戏区

3.3.1游戏区功能设计

游戏区可以利用鼠标单机生成的方块格,电脑进行识别计数。

3.3.2游戏区界面设计(例4*4)

C#课程设计 ——小游戏打地鼠

图3-9 画图界面

3.3.3游戏区行列主要代码

private void button1_Click(object sender, EventArgs e)

{

panel1.Controls.Clear();

int x= int.Parse(textBox1.Text);//获得输入的数

if (x > COUNT)//

COUNT = x;

//图片在界面显示

btn=new Button[COUNT,COUNT];//申明一个二维数组

DSIZE = panel1.Width / COUNT;

for(int i = 0;i < COUNT;i++ )//

{

for(int j=0;j<COUNT;j++)

{

btn[i,j] = new Button();

// btn[i, j].Text = i + "," + j;//显示坐标

btn[i,j].BackgroundImage=Image.FromFile("imgs/field.png");

//显示图片

btn[i, j].BackgroundImageLayout = ImageLayout.Stretch;

//背景图片布局,铺满

btn[i, j].Tag = 0;//0表示地洞,1表示地鼠

btn[i,j].Click+=Form1_Click;//委托

btn[i,j].Width = DSIZE;

btn[i,j].Height = DSIZE;

btn[i,j].Left = j * DSIZE;

btn[i,j].Top = i * DSIZE;

panel1.Controls.Add(btn[i,j]);

}

}

button1.Enabled = false;

button2.Enabled = true;

}

  1. 小结和展望

本文集中讨论了一个基于C#的打地鼠游戏系统的设计与实现。文章首先分析了系统的关键技术,包括C#、SQL技术等。接着在关键技术的基础上,提出了打地鼠游戏系统的设计,设计是基于对整个系统的需求分析的。最后,利用划分模块的方法实现了整个系统并进行了测试。测试的结果表明,打地鼠游戏系统能够对用户进行工作减压和能够打发无聊的时间,能够快速地将结构化的信息导出使用。同时,测试结果也表明了打地鼠游戏系统具有可扩展性强、事务处理速率快、响应时间短、持续工作能力强等特点。

本游戏是以C#作为开发语言、Visual Stduio 2012为开发平台来实现的。该系统的开发以模块化设计作为思想,编码时十分注意编码规范,充分吸取设计模式的精髓思想。不仅保证了程序的正常运行,注释详尽、命名规范、可读性强、可修改性强的一份代码也保证了程序的可维护性、易维护性。

本游戏重点是在于对数据的处理,以及逻辑思维的运用。当游戏开始时,读数据的处理也就开始了,每次点击出现的地鼠按钮都调用分数处理方法,对每个地鼠得分情况的分值进行统计。逻辑思维方面的问题,用Button点击事件精准而且简单。

但本游戏还可以尽量完善,就是游戏进行联机操作以及实现游戏分享等功能。还有待进一步的开发。开所欠缺的知识太多,无法进行。因为还没有相关的技术以及相关的材料,所以联机访问远程数据库功能实现,我会在学习这方面有关的知识,让游戏更加的完善,让本游戏向商业化发展。

参考文献

[1]朱浩悦,计算机软件JAVA编程特点分析[M].黑龙江科技信息,2007

[2]邢翀,基于Java的在线考试系统的设计与实现[M].科技创新导报,2015

[3] 王保罗.Java面向对象程序设计[M]. 北京:清华大学出版社,2003

[4] 张珣,杨三成.关键技术JSP与JDBC应用详解[M].中国铁道出版,2010

[5] 刘腾红,孙细明.信息系统分析与设计[M].北京:科学出版社,2003

[6] 于万波、刘其昌等.Java语言实用教程.北京:清华大学出版社,2008

[7] 毕广吉.Java程序设计实例教程[M]. 北京:冶金工业出版社,2007

[8] 朱战立,沈伟. Java程序设计实用教程〔M].北京:清华大学出版社,2005

[9] 耿祥义,张跃平.Java设计模式[M].北京:清华大学出版社,2009

[10] Bruce Eckel.Java编程思想[M].北京:机械工业出版社,2003

[11]王军,基于Java的垂直搜索引擎的设计方式构建[M].信息化建设,2009

评阅成绩: 评阅教师: 文章来源地址https://www.toymoban.com/news/detail-495054.html

到了这里,关于C#课程设计 ——小游戏打地鼠的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python项目分享 打地鼠小游戏设计与实现 (源码)

    🔥 Hi,各位同学好呀,这里是L学长! 🥇今天向大家分享一个今年(2022)最新完成的毕业设计项目作品 python小游戏毕设 打地鼠小游戏设计与实现 (源码) 🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分) 难度系数:3分 工作量:3分 创新点:4分 项目获取: htt

    2024年01月17日
    浏览(36)
  • 【计算机毕设项目】打地鼠小游戏设计与实现 (源码)

    🔥 Hi,各位同学好呀,这里是L学长! 🥇今天向大家分享一个今年(2022)最新完成的毕业设计项目作品 python小游戏毕设 打地鼠小游戏设计与实现 (源码) 🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分) 难度系数:3分 工作量:3分 创新点:4分 项目获取: htt

    2024年02月03日
    浏览(38)
  • 基于Verilog HDL的按键控制流水灯即打地鼠小游戏的设计

    (1)用4个按键key0-key3对应控制4个小灯LED0-LED3;用触摸按键进行模式切换;用一位数码管显示当前控制模式,两位数码管显示当前得分。 (2)触摸按键没有按下时处于模式1,按下后处于模式2。用模式数码管显示当前的控制模式。 (3)模式1工作方式:当点亮LED0时,若按下

    2024年02月12日
    浏览(38)
  • 【Android】开发”打地鼠“小游戏

    【Android】移动端设备介绍(工业手持机) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/130604517 【Android】开发”打地鼠“小游戏 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129398048 【H5】avalon前端数据双向绑定 本文链接:https://blog.csdn.net/youcheng_ge/article/details/131067

    2024年02月05日
    浏览(38)
  • Python课程设计 飞机大战小游戏

    目录 飞机大战小游戏 1.概述 1.1 开发环境及技术 1.2 实现功能描述 1.2.1主要的工作内容 1.2.2 实现功能 1.2.3 功能完善 1.2.4 参考项目 2.项目介绍 2.1 项目内容介绍 2.2 项目介绍 2.2.1 项目代码逻辑 2.2.2 涉及到的知识 2.2.3 遇到的问题 2.3 最终运行效果​编辑 3.附件 3.1 Bullet。py 3.

    2024年01月17日
    浏览(40)
  • python项目分享 python打地鼠小游戏

    🔥 Hi,各位同学好呀,这里是L学长! 🥇今天向大家分享一个今年(2022)最新完成的毕业设计项目作品 python小游戏毕设 打地鼠小游戏设计与实现 (源码) 🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分) 难度系数:3分 工作量:3分 创新点:4分 项目获取: htt

    2024年02月03日
    浏览(43)
  • Java拼图小游戏------《Java程序设计》课程设计

    目录 1.1 研究的背景  1.2 研究的意义  1.3 国内外研究现状  国内研究现状: 国外研究现状:          2.1 Java技术          2.2 GUI技术           2.3 内容设计要求及算法的实现 内容: 要求: 设计算法实现:          3.1设计流程图          3.2系统界面展示          

    2024年02月04日
    浏览(37)
  • 100行Python代码,做一个打地鼠小游戏~

    最近在学习使用 Python 来完成一些小游戏,使用到的有 Pygame 和 PyQt5 等,根据网上前人的代码,整理了一个打地鼠的小游戏,今天也分享给大家,一起学习! 游戏画面 首先先进行游戏画面排版, 对于 PyQt5 来说,需要创建一个全局的 Application 对象,其参数是命令行参数列表,

    2024年02月03日
    浏览(37)
  • Python课程设计 基于python的俄罗斯方块小游戏

    目录 基于python的俄罗斯方块小游戏 1.概述 1.1 摘要 1.2 开发背景 1.3 开发环境 1.4 实现功能 2.代码描述 2.1 模块导入 2.2 初始化变量 2.3 播放音乐 2.4 创建方块类 2.5 绘制游戏地图 2.6 游戏初始化 2.7 绘制有边框矩形 2.8 绘制我的文字 2.9 游戏主体 2.10 主程序运行 3.运行效果 4.注

    2024年02月22日
    浏览(45)
  • 基于Python开发的玛丽大冒险小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)

    本项目是一套基于Python开发的玛丽冒险小游戏程序,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含:项目源码、项目文档等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,确保可以运行! 本系统的软件开发及运行环境

    2024年02月09日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包