C#课程设计(打砖块).doc_第1页
C#课程设计(打砖块).doc_第2页
C#课程设计(打砖块).doc_第3页
C#课程设计(打砖块).doc_第4页
C#课程设计(打砖块).doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

辽 宁 工 业 大 学 C#.NET程序设计 课程设计(报告)题目: 打砖块游戏 院 (系): 软件学院 专业班级: 计算机信息管理101班 学 号: 101403009 学生姓名: 姜洪亮 指导教师: 胡 峰 教师职称: 助 教 起止时间:2011.11.21至2011.12.02程序设计专题(报告)任务及评语院(系):软件学院 教研室:软件教研窒学 号101403009学生姓名姜洪亮专业班级计算机信息管理101班程序设计(报告)题目打砖块游戏程序设计(报告)任务程序设计专题的任务与要求:(1)掌握c#.net编程、面向对象的基础知识。(2)较熟练地编写c#.net windows应用程序。(3)了解C#.net的常用类库、编程技巧、异常处理。(5)联系已学过的内容,巩固所学的理论,增强独立工作能力。(6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。(7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。程序设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出实训报告。指导教师评语及成绩成绩: 指导教师签字: 2011 年 12月 02日目 录第1章 程序设计专题目的与要求11.1 程序设计目的11.2 程序设计的实验环境11.3 程序设计的预备知识11.4 程序设计要求1第2章 程序设计内容22.1概要设计22.2程序整体设计说明22.3程序部分源代码及注释82.4测试结果12第3章 程序设计总结13参考文献14第1章 程序设计目的与要求1.1 程序设计目的C#.Net程序设计是计算机科学与技术专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是软件技术专业学生学习完C#.Net程序设计课程后,进行的一次全面的综合训练,C#.Net程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。1.2 程序设计的实验环境硬件要求能运行Windows xp操作系统的微机系统。C#.Net程序设计语言及相应的集成开发环境visual 。1.3 程序设计的预备知识熟悉c#语言及visual 集成开发环境。1.4 程序设计要求按程序设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握c#.net2003的基本技能和面向对象的概念和方法;了解windows编程。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。第2章 程序设计内容2.1程序设计题目打砖块游戏:作为我们一款熟知的游戏我想大家都不陌生吧,就是通过挡板把小球挡回,不让小球落地,直到打光所有砖块为止,游戏过关进入更难得模式小球速度更快,砖块组成的图案发生改变,是一个很有趣味的小游戏。2.2程序整体设计说明2.2.1程序设计内容 1. 需求分析 本系统为一个用C#实现的为我们所熟悉的简单的打砖块游戏,该系统的具体功能如下:1) 能简便的开始游戏,游戏中的功能与日常我们所熟悉的游戏的功能一致 ,直到砖块全部打光过关和在砖块打光之前机会用完游戏结束功能;2) 当游戏结束时会自动弹出消息框提示本关所获得得分数;3) 当过关时会出现提示图片,点击进入下一关,下一关的方块位置和所组成的形状会发生改变 2 设计环境 本程序选择Visual Studio 2008作为实验环境。3. 程序设计内容和思路1) 游戏设计游戏开始时,小球会停在挡板正中间,而且此时小球可以随着挡板左右自由移动,当按下空格键小球弹出,并在程序设定的区域中不停碰撞反弹。2) 当小球碰撞到墙壁、挡板、和砖块的时候,均以相同的速度反弹,并且砖块被碰撞后会以相同的速度反弹,并且当砖块被碰撞后会消失。3) 挡板可以左右移动以接住小球,若超过三次没有接住,则游戏结束,按退出键退出,当所有砖块全部打光时则出现进入下一关的提示框,点击进入下一关。 程序中所用类说明根据设计思路,可以为系统设计三个类,实现小球的类RussiaBlock继承Object类,主窗体类MainForm类,设置窗体类SettingForm类。 using System;using System.Collections.Generic;using System.Text;using System.Drawing;namespace Arkanoid class DisposeDAO / / 处理球碰到砖块后弹的方向(上下) / / 砖的X坐标 / 砖的Y坐标 / 砖的水平长度 / 砖的高度 / 球的X坐标 / 球的Y坐标 / 球的直径 / 返回string类型值 public static string DisposeTopDown(int bx, int by, int bw, int bh, int qx, int qy, int qr) string Yfangxiang = ; int f = 0; /方向 if (Math.Abs(by - (qy + qr) = 2) f = 1; /从上碰撞到球 else if (Math.Abs(qy - (by + bh) = 2) f = 2; /从下碰撞到球 if (f = 1) Yfangxiang = YTop; else if (f = 2) Yfangxiang = YDown; return Yfangxiang; / / 处理球碰到砖块后弹的方向(左右) / / 砖的X坐标 / 砖的Y坐标 / 砖的水平长度 / 砖的高度 / 球的X坐标 / 球的Y坐标 / 球的直径 / 返回string类型值 / / 处理球碰撞到砖块后的动作 / / 砖块的坐标 / 球的X坐标 / 球的Y坐标 / 球的直径 / 目前X方向 / 目前Y方向 / RreturnDataDbean类型值 public static ReturnDataBean DisposeBrick(Point point, int qx, int qy, int qr, string xfangxiang, string yfangxiang) rn rdb; 2.2.2.程序窗体程序主界面进入游戏时的主界面,可以选择开始、帮助和退出功能。程序主界面 游戏界面游戏开始前的画面,显示游戏信息,分数、关卡、及生命次数。游戏界面帮助界面帮助信息,是关于游戏如何开始,介绍游戏玩法,以及开发作者的游戏说明。帮助界面开始游戏进入游戏之后,游戏开始画面,空格开始游戏,可以通过键盘的、来控制挡板的移动。开始游戏游戏结束游戏结束画面,当你用完所有的生命时,会弹出此窗口,提示你所得分数,游戏结束,可退出。游戏结束游戏过关提示当你打光所有砖块时,屏幕会出现此字样,提示你点击进入下一关,显示剩余生命值。游戏过关2.2.3异常处理说明退出命令。用户可直接退出程序。 注意,如果在游戏过程中鼠标点击别的地方,或关闭别的文件,此时游戏会继续运行,只要点击窗口则会继续进行。2.2.4程序运行效果及存在的问题未处理问题未处理问题2.3程序部分源代码及注释2.3.1 RussiaBlock类以下涉及的词语基本块指的是由四个小方块构成的实体,四个小方块指的是小正方形。方块与基本块同义。1) 构造函数,通过给定的参数:控件实例,左边界,底边界,小方块(一个基本块由4个小方块构成)单位象素,形状号,起始位置,颜色。2) 程序部分源代码及注释using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Threading;namespace Arkanoid public partial class GameCol1 : Form public GameCol1() InitializeComponent(); Point pointPic = new Point50; /封装pictureBox对象 string keySpace = ; /是否按下空格键 string key = ; /是否按下左右键 string xfangxiang = XRight; /X方向默认为右 string yfangxiang = YTop; /Y方向默认为上 int x = 4; /X坐标移动方向 int y = 4; /Y坐标移动方向 public static int count = 3; /剩余机会 int bw = 0; /砖块宽度 int bh = 0; /砖块高度 int qr = 0; /球的直径 Point dispoint = new Point(999, 999); /移动砖块到XY位置 public static int score = 0; /得分 int _count = -1; int countB = 50; ReturnDataBean rdb = new ReturnDataBean(); /控制球的移动timer事件 private void timer1_Tick(object sender, EventArgs e) _count = -1; /击中的哪一个砖块 if (countB = 0) keySpace = Stop; xfangxiang = ; yfangxiang = ; this.picNext.Location = new Point(12, 254); /右上 if (keySpace = Space & xfangxiang = XRight & yfangxiang = YTop) this.TopRight(); /左下 else if (keySpace = Space & xfangxiang = XLeft & yfangxiang = YTop) this.TopLeft(); /左下 else if (keySpace = Space & xfangxiang = XLeft & yfangxiang = YDown) this.DownLeft(); /右下 else if (keySpace = Space & xfangxiang = XRight & yfangxiang = YDown) this.DownRight(); /判断是否击中球 if (_count = 0 & _count = (this.picLeftborder.Location.X + 18) Fpoint.X -= 10; if (keySpace = ) Qpoint.X -= 10; this.picFeichuan.Location = Fpoint; this.picQiu.Location = Qpoint; else if (key = Right) Point Fpoint = this.picFeichuan.Location; Point Qpoint = this.picQiu.Location; if (this.picFeichuan.Location.X = (this.picRightborder.Location.X - 97) Fpoint.X += 10; if (keySpace = ) Qpoint.X += 10; this.picFeichuan.Location = Fpoint; this.picQiu.Location = Qpoint; 3) 游戏结束代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;namespace Arkanoid public partial class GameOver : Form public GameOver() InitializeComponent(); private void lblExit_Click(object sender, EventArgs e) Application.Exit(); private void lblExit_MouseEnter(object sender, EventArgs e) this.lblExit.ForeColor = Color.Red; private void lblExit_MouseLeave(object sender, EventArgs e) this.lblExit.ForeColor = Color.Black; private void GameOver_Load(object sender, EventArgs e) this.lblScore.Text = GameCol1.score.ToString(); private void label1_Click(object sender, EventArgs e) 2.4 测试结果2.4.1 主窗体运行界面编程完毕后,运行调试,主窗体界面,及游戏信息。2.4.1主窗体运行界面第3章 程序设计总结在期末的课程设计中,我选择的是设计一个游戏(打砖块),这对于我们来说是一次尝试与创新的过程,也可以说是一个挑战的过程毕竟以前没有做过这类的课设,缺乏一定的经验,现在利用自己学到的知识设计并制作一个游戏,这本身就是一个知识转化为生产力的过程,所以我很兴奋,投入了很高的热情和努力在具体设计和实施中,我感受到了一个程序与无到有的过程,对具体的设计步骤,思路,方法,技巧都有了进一步的了解,并且感受深刻。在设计中我基本按照规范的方法和步

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论