C#课程设计(打砖块)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

辽宁工业大学

C#.NET程序设计课程设计(报告)题目:打砖块游戏

院(系):软件学院

专业班级:计算机信息管理101班

学号: *********

学生姓名:***

指导教师:**

教师职称:助教

起止时间:2011.11.21至2011.12.02

程序设计专题(报告)任务及评语

目录

第1章程序设计专题目的与要求 (1)

1.1 程序设计目的 (1)

1.2 程序设计的实验环境 (1)

1.3 程序设计的预备知识 (1)

1.4 程序设计要求 (1)

第2章程序设计内容 (2)

2.1概要设计 (2)

2.2程序整体设计说明 (2)

2.3程序部分源代码及注释 (8)

2.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)挡板可以左右移动以接住小球,若超过三次没有接住,则游戏结束,按退出键退

出,当所有砖块全部打光时则出现进入下一关的提示框,点击进入下一关。

2.2.1.1 程序中所用类说明

根据设计思路,可以为系统设计三个类,实现小球的类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坐标

/// 球的直径

相关文档
最新文档