重庆海天软件学院的WINFORM实训项目-疯狂的小鸟

C# Winform开发教程 1.创建新的Winform工程 打开VS新建窗体应用就可以了,起个名字,设置路径 创建完毕后,会有一个Program.cs的脚本文件,这里的Main为入口函数。 2.窗体编辑 单击顶条区域,右侧弹出对应的属性栏。接下来只介绍几个常用的设置,其他各位可以自行去了解。 窗口样式 -> Icon:设置工具的icon。 窗口样式 -> MainMenuStrip:关联右键菜单(右键菜单的使用后面详解)。 设计 -> Name:本工具的脚本名(Program) ... 阅读详情

重庆海天软件学院第二学期 微软4班 WINFORM实训项目 截图:

最近学生们学习了2个月的C#和WINFORM,没有学习数据库。故设计了这样的一个小游戏,基本覆盖了C#语言常用的语法,已经面向对象的基本思想。本实训课程分为8个阶段来实践,效果非常好。故录制成视频分为8个阶段,每个阶段15分钟左右。
此游戏开发为在课堂上即兴编写,即兴录制。没有事先准备,故有些地方不是很完美,请见谅!不过,大家可以学习丁老师在完成软件开发中的需求的时候,思考的过程和完整的思路,以及遇到错误如果去调试和解决的方法,这个大家会有收获。
下载地址:http://www.kuaipan.com.cn/file/id_5393847563583517.htm

主要实现思路为:用GDI+在窗体上绘制图形,在主窗体加入了一个Time控件来做游戏循环,不断的绘图。使用的DoubleBuffer技术,屏幕不闪烁。效果还是可以的,但是在面向对象设计这块设计得有点罗嗦了,没有设计好,需要进一步完善。

代码展示:

 

using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Linq;
 using System.Text;
 using System.Windows.Forms;
 
 namespace CrazyBird_GDI
 {
     /// <summary>
     /// 重庆海天软件工程学院 微软7班 WINFORM实训项目----疯狂的小鸟
     /// 微软讲师:丁浩   Email:dinghao80@qq.com QQ:37112555
     /// 项目需求:射击游戏
     /// 实现步骤:1.采用GDI+技术,双缓冲实训精灵的绘制
     /// 2.绘制背景 
     /// 3.绘制小鸟
     /// 4.绘制小猪
     /// 5.绘制子弹
     /// </summary>
     public partial class Form1 : Form
     {
         public Form1()
         {
             InitializeComponent();
         }
         Bitmap bitmap;
         Pig pig;
         //第七步4
         List<Bullet> bullets = new List<Bullet>();
         BirdOP birdop;
         //第十步6:  当子弹碰到小鸟的开关
         bool isTouched = false;
         private void timer1_Tick(object sender, EventArgs e)
         {
             //在time控件中循环绘制,约33帧的FPS
             //第一步:导入所需资源
             //第二步:搭建双缓冲模型,将资源不断的绘制在虚拟画布上面,这个技术可以消除屏幕闪烁
             //最后将虚拟画布bitmap的内容复制在窗体绘图区
 
             using (Graphics dc=Graphics.FromImage(bitmap))
             {
                 //第三步:导入背景图片资源
                 BackGround bg = new BackGround(this.Width, this.Height);
                 bg.Draw(dc);
                 //固定窗体不能拖动
 
                 //**-------//第一阶段完成。思考:BackGround设计成了一个类,为什么?好处在哪儿?-------------------------------------------------------------------------------------------
                 //第四步:绘制小鸟  需求一共64只小鸟,成8*8排列 设计小鸟类
                
                //第九步6:绘制小鸟
                 birdop.Draw(dc);//之前要装载小鸟
                
                 
 
                 //**------//第二阶段完成。-----------------------------------------------------------------------------------------------
                 //第五步:绘制小猪
               
                 pig.Width = 70;
                 pig.Height = 60;
                
                 pig.Draw
C#WinForm案例(持续更新) 全选,反选,.两个ListBox中的内容左右相互移动,下拉框简易二级联动,简易2048,番茄钟,视频播放器 阅读详情

相关推荐

手把手教你新建一个winform项目(史上最全)

本文介绍如何利用visual studio新建一个winform程序

qq_34059233的博客 4万+

C# WinForm 实例

WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,一般使用 C# 编程。C# WinForm 编程需要创建「Windows窗体应用程序」项目。 .NET 提供了大量 Windows 风格的控件和事件,我们可以直接拿来使用,上手简单,开发快速。 Windows 窗体应用程序是 C# 语言中的一个重要应用,也是 C# 语言最常见的应用。这套 C# WinForm 教程将教会大家如何使用 WinForm 进行界面设计,并绑定对应的事件,开

sam的博客 5688

C# WinForm控件应用教程及实例解析

在现代软件开发中,Winform(Windows Forms)仍然是构建桌面应用程序的流行框架之一。它基于.NET平台,以其便捷的拖放设计、丰富的控件库和快速的开发周期而受到开发者的青睐。本章将概览Winform控件及其在C#环境中的应用,为后续章节深入讲解各种控件的功能和最佳实践打下基础。Winform控件是可视化的界面元素,例如按钮、文本框和列表等,这些控件被用来构建Windows应用程序的用户界面。

weixin_42518334的博客 1077

C# WinForm经典实例详解与项目实战

Windows Forms(WinForm)是微软 .NET Framework 平台中用于构建 Windows 桌面应用程序的核心技术之一。它提供了一套丰富的图形用户界面(GUI)控件库和事件驱动的编程模型,使开发者能够快速构建功能完善的桌面应用。WinForm 采用可视化设计与代码逻辑分离的方式,开发者可通过拖拽控件快速搭建界面,并通过 C# 编写事件响应逻辑。其底层基于 GDI+ 进行图形绘制,具备良好的性能和兼容性。

weixin_34392511的博客 1873

重庆海天软件工程学院winform实训项目--抽奖系统

最近写了一个关于winform的实训小项目(抽奖系统),有一、二、三等奖和幸运奖,摇奖时加了减速效果,摇奖结果保存在文件里面,感觉还不错,所以贴出来分享一下,希望能帮到大家

C# 窗体(WInform)界面开发大全

C#界面设计典例,WInform界面开发系列的介绍,主要针对性介绍Winform开发过程中,经常用到的模块:数据字典模块、参数配置模块、权限管理模块的模块化应用,以及各模块的分合之道。

C#实训报告 基于windows应用程序

基于windows应用程序开发的小型计算器作为实训报告,附录报告。

从硬件拆解到图像生成:一次搞懂MRI设备(主磁体、梯度线圈、射频系统)是如何协同工作的

本文深入解析MRI设备的三大核心系统——主磁体、梯度线圈和射频系统如何协同工作,实现从量子现象到诊断图像的转化。通过详细的技术参数和临床案例,揭示磁共振成像(MRI)在医疗图像处理中的精密工程原理和最新技术突破,帮助读者全面理解这一现代医学影像技术的运作机制。

weixin_33734785的博客 548

BRepNet与图神经网络融合:提升3D CAD加工特征识别的精度与泛化能力

本文探讨了BRepNet与图神经网络(GNN)融合技术如何显著提升3D CAD加工特征识别的精度与泛化能力。通过将CAD模型视为图结构,利用GNN的消息传递机制增强对复杂拓扑关系的理解,并结合BRepNet的局部特征提取,该融合方法在MFCAD++数据集上实现了高达99.53%的准确率,有效解决了传统方法在处理复杂相交特征时的局限性,为智能制造提供了关键技术支撑。

android的专栏 775

HexView 脚本自动化工具:从刷写文件处理到批量转换实战

本文详细介绍了如何利用HexView脚本自动化工具高效处理嵌入式刷写文件。通过实战演示,文章展示了如何使用bat脚本实现S19、HEX等格式文件的剪切、填充、合并与批量转换,构建自动化流水线,从而显著提升汽车电子等领域的开发与生产效率。

weixin_29237635的博客 356

基于USB总线的虚拟摄像头(UVC)原理简介

前面文章中我们分析了虚拟声卡的实现,在文章中我们展示了创建一个虚拟麦克风和虚拟扬声器的技术原理。完成了音频的虚拟化之后,这里就要谈论一下对于视频的虚拟化了——虚拟摄像头的实现。关于虚拟麦克风和虚拟扬声器的实现,可以参考。虚拟摄像头应用也是非常普遍的,例如云桌面远程摄像头的实现,直播技术。目前对于虚拟摄像头有三种实现方式:DirectShow虚拟摄像头,这个是一种比较古老的技术;在新版本应用中,该项技术基本失效了,尤其是UWP框架程序,DirectShow虚拟摄像头就失效了。

tianxilink的博客 5415

用C#完成最小二乘法拟合平面方程,再计算点到面的距离

【代码】用C#完成最小二乘法拟合平面方程,再计算点到面的距离。

MechMaster 647

汽车行业OTD业务模式入门学习

本文是在学习彭俊松老师的《汽车行业整车订单交付系统》后,对于OTD理解的一些摘录,供诸位参考学习。

qq_40664711的博客 1万+

python实现马丁策略(股市) (附完整源码)

python实现马丁策略(股市) (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 603

Open3D KD-tree的使用【2025最新版】

Open3d使用FLANN构建KDTree以便进行快速最近邻检索。博客长期更新,本文最近一次更新时间为:2025年1月1日,代码已同步更新至Open3D 0.18.0版本。

点云侠的博客 40万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

上一篇: 和线程安全相关的一些技术
老九不彪悍
博客等级 码龄18年 71粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值