谁有完整的游戏项目的netty项目视频教程程!!一定要C#代码的啊!

当前位置: >
利用c#开发扫雷游戏视频教程(共9讲)
时间: 11:43 来源:互联网 作者:源码搜藏 浏览:
前沿视频教程信息
课程主题:利用C#开发扫雷游戏
讲课老师:王继彬
教程出处:众志教程网
课程总数:共9讲
听众要求:熟练C#语言和面向对象的思想
游戏简介:扫雷游戏是微软附带在其操作系统中的小游戏,它通过点击格子并以出现的数字来判断附近地雷的数量,将全部地雷做上标记即可胜利,本视频教程利用C#描述扫雷游戏的开发过程和设计方法,面向对象,从需求到设计,从设计到测试,严格遵守开发规范,讲师语言深入浅出,对于深入C#编程的开发者,值得观看。微软扫雷游戏图片预览如下:
前沿视频教程导航
第01讲:作品展示、需求分析、概要设计、详细设计和测试用例的编写工作。
第02讲:用面向对象的思想分析扫雷游戏、画类图
第03讲:项目框架搭建和创建类
第04讲:利用C#语言实现扫雷游戏
第05讲:利用C#语言实现扫雷游戏
第06讲:利用C#语言实现扫雷游戏
第07讲:利用C#语言实现扫雷游戏
第08讲:利用C#语言实现扫雷游戏
第09讲:利用C#语言实现扫雷游戏
下载地址:
利用C#开发扫雷游戏视频教程(共9讲).rar[93.45 MB]
(责任编辑:源码搜藏)
猜你也喜欢看这些 ??????
其他类型的网站教程 ??????院校视频库 — 传智播客、黑马程序员视频资源下载库
没有账号?
C#开发虐人游戏像素鸟游戏项目
1086人在学
从零开始搭建像素鸟游戏开发项目,并将C#的高级面向对象的思想精髓和设计原则融入到游戏项目中,让您真正体会到开发的乐趣,面向对象思想的真正应用。...
从零开始搭建像素鸟游戏开发项目,并将C#的高级面向对象的思想精髓和设计原则融入到游戏项目中,让您真正体会到开发的乐趣,面向对象思想的真正应用。
第1节 - 传智播客c#游戏开发项目培训 像素鸟(1)
第2节 - 传智播客c#游戏开发项目培训 像素鸟(2)
请后发表评论,我们喜欢真实的你!
获取更多.NET技术资料
看过该课程的同学还看过
8291人学习 24414人学习 16722人学习 6576人学习 3887人学习 20555人学习 16596人学习 2627人学习 9749人学习 7308人学习 45864人学习 2085人学习 13045人学习 8200人学习
最近10 位同学与你共同奋战
物换星移几
已学完第 1 节
已学完第 1 节
已学完第 2 节
一份奶油蘑菇汤
已学完第 2 节
沧桑万千丶
已学完第 1 节
已学完第 1 节
已学完第 2 节
学霸不懂学
已学完第 1 节
已学完第 1 节
假装,成熟
已学完第 1 节
播妞微信号:boniu230
播妞技术福利交友群:
地址:北京市昌平区建材城西路金燕龙办公楼一层 邮编:100096
电话:400-618-4000
传真:010-
邮箱: 京ICP备号京公网安备c#版传奇完整源码(服务端+客户端),c#,游戏源码,6m5m游戏素材
请求处理中...
&c#版传奇完整源码(服务端+客户端),Mirserver.rar为配套服务端,vs2012编译,GameOfMir.rar为源代码,代码带部分注释,可正常编译运行,附编译和架设视频教程,数据库为SqlLite。下载错误已修正,现在可正常下载
或 0 积分 ()
下载871浏览人数7782交付方式直接下载
注意:【1】本站只是个免费分享平台,并不敢保证所有源码人人都能编译,因素太多,旨在学习研究,如果您有顾虑或斤斤计较就请不要下载了,大家都不容易,互相理解,才能让更多的好资源出现!【2】本站资源仅限于学习研究,请在下载后24小时内删除,不要用于任何商业用途。【3】部分素材压缩包因体积过大而上传到百度等网盘上,如果发现在本站下载的压缩包只要有几K大小,说明该压缩包里只是网盘的下载链接,并非文件损坏,本站的所有素材都是经过了审核,大家可放心下载,欢迎监督反馈。【4】做个好平台真心不容易,我们一直在努力,因本站素材量大,难免会出现某网盘下载链接失效等问题,请大家及时反馈,我们会及时修正保证您可以拿到素材,请大家支持和理解!
免责声明:本网所展示的素材与服务信息由买卖双方自行提供,其真实性、准确性和合法性由信息发布人负责。本网不提供任何保证,并不承担任何法律责任,如有不妥之处请及时反馈,本网将会妥善处理。
友情提醒:本站旨在游戏开发的学习,所分享的素材资源均来源于网络,仅适用于学习参考,尊重版权,禁止用于任何商业用途,否则后果自负,所展示的素材版权归原作者或公司所有,如果本站素材侵犯了您的权益,请联系我们,我们将及时处理。
猜您喜欢的游戏素材
0金币 / 个
0金币 / 个
1金币 / 个
3金币 / 个
1金币 / 个
1金币 / 个
0金币 / 个
0金币 / 个
1金币 / 个
0金币 / 个
好评率99.71%C# 游戏外挂实现核心代码
图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享C# 游戏外挂实现核心代码的教程,热爱PS的朋友们快点看过来吧!
最近经朋友介绍开始玩 密传
升级升级,突然觉得太费,于是自己用C#写了一个程序,想代替我的操作,自己去打怪物,自己升级 用这个东西升了好多级了,现在把源码贴出来,和大家共享,欢迎大家批评指正,感激不尽。 程序大概分成两个部分,一个部分是类库,一个是应用程序 大概的思路就是找到游戏进程的主窗口句柄,然后发送游戏按键消息(模拟按键)。 XDF.GamePlugInCommon 类库项目 //API.cs ,定义一些常用API函数及常量 using S using System.IO; using System.T using System.D using System.Runtime.InteropS namespace XDF.GamePlugInCommon { /// summary /// API 的摘要说明。 /// /summary public sealed class API { public static int WM_KEYDOWN = 0x0100; public static int WM_KEYUP = 0x0101; public static int WM_SYSKEYDOWN = 0x0104; public static int WM_SYSKEYUP = 0x0105; public static int WM_MOUSEMOVE = 0x0200; public static int WM_LTONDOWN = 0x0201; public static int WM_LBUTTONUP = 0x0202; public static int WM_LBUTTONDBLCLK = 0x0203; public static int WM_RBUTTONDOWN = 0x0204; public static int WM_RBUTTONUP = 0x0205; public static int WM_RBUTTONDBLCLK = 0x0206; public static int WM_USER = 0x0400; public static int MK_LBUTTON = 0x0001; public static int MK_RBUTTON = 0x0002; public static int MK_SHIFT = 0x0004; public static int MK_CONTROL = 0x0008; public static int MK_MBUTTON = 0x0010; public static int MK_XBUTTON1 = 0x0020; public static int MK_XBUTTON2 = 0x0040; [DllImport("user32.dll")] public static extern int SendMessage(IntPtr hWnd,int Msg,int wParam,int lParam); //此处主要用来让窗口置于最前(SetWindowPos(this.Handle,-1,0,0,0,0,0x1|0x0002);) [System.Runtime.InteropServices.DllImport("user32.dll")] public static extern bool SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, int uFlags ); /// summary /// 窗口置前 /// /summary /// param name="hWnd"/param public static void SetWindowPos(IntPtr hWnd) { SetWindowPos(hWnd,-1,0,0,0,0,0x1|0x0002); } /// summary /// /// /summary /// param name="processName"/param /// returns/returns public static Process GetGameProcess(string processName) { Process pro = Process[] pros = Process.GetProcessesByName(processName); if(pros.Length
0) { pro = pros[0]; }
} } } 项目(应用程序) XDF.TantraPlugIn //ControlItem.cs using S using System.IO; using System.Xml.S namespace XDF.TantraPlugIn { /// summary /// ControlItem 的摘要说明。 /// /summary [Serializable] public sealed class ControlItem { private string m_Name = ""; public string Name { get { return this.m_N } set { this.m_Name = } } private char m_KeyChar = 'a'; public char KeyChar { get { return this.m_KeyC } set { this.m_KeyChar = } } private int m_DelayTime = 100; public int DelayTime { get { return this.m_DelayT } set { this.m_DelayTime = } } public ControlItem() { } } [Serializable] public sealed class ControlItemCollection : System.Collections.CollectionBase { public ControlItem this[int index] { get { return (ControlItem)List[index]; } set { List[index] = } } public ControlItemCollection() { } public int Add(ControlItem item) { return List.Add(item); } public void Remove(ControlItem item) { List.Remove(item); } } } //TantraConfig.cs using S using System.IO; using System.Xml.S namespace XDF.TantraPlugIn { /// summary /// TantraConfig 的摘要说明。 /// /summary [Serializable] public class TantraConfig { private ControlItemCollection m_KillControls = new ControlItemCollection(); public ControlItemCollection KillControls { get { return this.m_KillC } set { this.m_KillControls = } } private ControlItemCollection m_BloodControls = new ControlItemCollection(); public ControlItemCollection BloodControls { get { return this.m_BloodC } set { this.m_BloodControls = } } private int m_BloodRate = 25; public int BloodRate { get { return this.m_BloodR } set { this.m_BloodRate = } } private string m_ProcessName = "HTLauncher"; public string ProcessName { get { return this.m_ProcessN } set { this.m_ProcessName = } } public TantraConfig() { } public bool Save(string file) { bool result = try { FileStream fs = new FileStream(file,FileMode.Create,File.Write); XmlSerializer xsl = new XmlSerializer(this.GetType()); xsl.Serialize(fs,this); fs.Close(); result = } catch { result = }
} public static TantraConfig LoadFromFile(string file) { TantraConfig config = try { FileStream fs = new FileStream(file,FileMode.Open,FileAccess.Read); XmlSerializer xsl = new XmlSerializer(typeof(TantraConfig)); config = (TantraConfig)xsl.Deserialize(fs); fs.Close(); } catch { }
} } } //Frmmain.cs using S using System.D using System.C ponentM using System.Windows.F using System.D using System.T using XDF.GamePlugInC namespace XDF.TantraPlugIn { /// summary /// Form1 的摘要说明。 /// /summary public class Frmmain : System.Windows.Forms.Form { private System.Windows.Forms.Button btnS private System.Windows.Forms.Timer timerM private System.Windows.Forms.Button btnS ponentModel.IC public Frmmain() { // // Windows 窗体器支持所必需的 // InitializeComponent(); this.Closing +=new CancelEventHandler(Frmmain_Closing); } /// summary /// 清理所有正在使用的资源。 /// /summary protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows 窗体设计器生成的代码 /// summary /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// /summary private void InitializeComponent() { ponents = ponentModel.Container(); System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Frmmain)); this.btnStart = new System.Windows.Forms.Button(); this.btnSetup = new System.Windows.Forms.Button(); this.timerMain = new System.Windows.Forms.ponents); this.SuspendLayout(); // // btnStart // this.btnStart.Location = new System.Drawing.Point(8, 16); this.btnStart.Name = "btnStart"; this.btnStart.Size = new System.Drawing.Size(65, 22); this.btnStart.TabIndex = 0; this.btnStart.Text = "开始(&S)"; this.btnStart.Click += new System.EventHandler(this.btnStart_Click); // // btnSetup // this.btnSetup.Location = new System.Drawing.Point(152, 16); this.btnSetup.Name = "btnSetup"; this.btnSetup.Size = new System.Drawing.Size(65, 22); this.btnSetup.TabIndex = 1; this.btnSetup.Text = "设置(&C)"; this.btnSetup.Click += new System.EventHandler(this.btnSetup_Click); // // Frmmain // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(226, 55); this.Controls.Add(this.btnSetup); this.Controls.Add(this.btnStart); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedD this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = this.MinimizeBox = this.Name = "Frmmain"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterS this.Text = "Tantra PlugIn beta1"; this.ResumeLayout(false); } #endregion /// summary /// 应用程序的主入口点。 /// /summary [STAThread] static void Main() { Application.Run(new Frmmain()); } private TantraConfig m_TantraConfig = private Thread m_Thread = private bool m_Stop = private IntPtr m_GameMainWindowHandle = IntPtr.Z private void btnSetup_Click(object sender, System.EventArgs e) { TantraConfig config = new TantraConfig(); ControlItemCollection items = config.KillC ControlItem item_e = new ControlItem(); item_e.DelayTime = 50; item_e.KeyChar = 'E'; item_e.Name = "选择最近的攻击目标"; items.Add(item_e); ControlItem item_r = new ControlItem(); item_r.DelayTime = 6000; item_r.KeyChar = 'R'; item_r.Name = "攻击选定的目标"; items.Add(item_r); ControlItem item_f = new ControlItem(); item_f.DelayTime = 500; item_f.KeyChar = 'F'; item_f.Name = "捡起打完怪物掉下的物品"; items.Add(item_f); ControlItem item_f2 = new ControlItem(); item_f2.DelayTime = 500; item_f2.KeyChar = 'F'; item_f2.Name = "捡起打完怪物掉下的金币"; items.Add(item_f2); ControlItem item_blood = new ControlItem(); item_blood.DelayTime = 1000; item_blood.KeyChar = '1'; item_blood.Name = "自动增加体能秘技"; config.BloodControls.Add(item_blood); config.Save("c:tantra.xml"); } private void btnStart_Click(object sender, System.EventArgs e) { if(this.m_Stop) { this.StartControl(); } else { this.StopControl(); } this.btnStart.Text = (this.m_Stop)?"开始(&S)":"停止(&S)"; } private void StartControl() { string file = Environment.CurrentDirectory + "tantra.xml"; this.m_TantraConfig = TantraConfig.LoadFromFile(file); if(this.m_TantraConfig == null) { MessageBox.Show("配置文件未找到,无法启动!");
} //HTLauncher //string proname = "TantraPlugIn"; System.Diagnostics.Process pro = API.GetGameProcess(this.m_TantraConfig.ProcessName); if(pro == null) { MessageBox.Show("游戏进程 "+this.m_TantraConfig.ProcessName+" 未找到,无法启动!");
} this.m_GameMainWindowHandle = pro.MainWindowH this.Text = "Game name:" + pro.ProcessN this.m_Stop = this.m_Thread = new Thread( new ThreadStart(TantraControl)); this.m_Thread.Start(); } private void StopControl() { if(this.m_Thread != null) { this.m_Stop = this.m_Thread.Abort(); } } private void TantraControl() { int count = 0; while(!this.m_Stop) { for(int i=0;ithis.m_TantraConfig.KillControls.Ci++) { API.SendMessage(this.m_GameMainWindowHandle,API.WM_KEYDOWN, Convert.ToInt32(this.m_TantraConfig.KillControls[i].KeyChar),0); Thread.Sleep(this.m_TantraConfig.KillControls[i].DelayTime); } count ++; if(count = this.m_TantraConfig.BloodRate) { count = 0; for(int i=0;ithis.m_TantraConfig.BloodControls.Ci++) { API.SendMessage(this.m_GameMainWindowHandle,API.WM_KEYDOWN, Convert.ToInt32(this.m_TantraConfig.BloodControls[i].KeyChar),0); Thread.Sleep(this.m_TantraConfig.BloodControls[i].DelayTime); } } } } protected override void WndProc(ref Message m) { base.WndProc (ref m); if(m.Msg == API.WM_KEYDOWN) { this.Text = m.WParam.ToInt32().ToString(); if(this.Text == "1") { MessageBox.Show("blood"); } } } private void Frmmain_Closing(object sender, CancelEventArgs e) { try { this.StopControl(); } catch { } } } } 附加我从12级开始外挂的配置文件 ?xml version="1.0"? TantraConfig xmlns:xsd="http://www.w3.org/2001/Schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" KillControls ControlItem Name选择最近的攻击目标/Name KeyChar69/KeyChar DelayTime50/DelayTime /ControlItem ControlItem Name攻击选定的目标/Name KeyChar82/KeyChar DelayTime5000/DelayTime /ControlItem ControlItem Name捡起打完怪物掉下的物品/Name KeyChar70/KeyChar DelayTime500/DelayTime /ControlItem ControlItem Name捡起打完怪物掉下的金币/Name KeyChar70/KeyChar DelayTime500/DelayTime /ControlItem /KillControls BloodControls ControlItem Name自动增加体能秘技/Name KeyChar49/KeyChar DelayTime1000/DelayTime /ControlItem /BloodControls BloodRate20/BloodRate ProcessNameHTLauncher/ProcessName /TantraConfig 今天发现的模拟键盘的操作,虽然我不能用上,希望有人会到。
来源:/n/1463.html
点击查看更多与《》相关的文章>>
今天图老师小编要跟大家分享C# 系统热键注册实现代码,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!
使用C#代码实现增加用户帐号,使用C#代码实现增加用户帐号
只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的C# Winform 实现屏蔽键盘的win和alt+F4的实现代码,手机电脑控们准备好了吗?一起看过来吧!
下面请跟着图老师小编一起来了解下C++中获取UTC时间精确到微秒的实现代码,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!
BASE64编码规则及C#实现,BASE64编码规则及C#实现
《奇迹时代3》游戏秘籍 作弊代码大全,《奇迹时代3》是由Triumph Studios团队协力打造的一款怀旧复刻版奇迹题材游戏作品,缅怀传承经典,再续奇迹传奇,下面就给大家带来《奇迹时代3》游戏秘籍 作弊代码大全大家一起来看看吧。
热门搜索:
PS教程 打造性感柔美私房色
怎么在电脑调整鼠标设置
PS教程 教你使用PS制作颓废qq签名档图片
用PS后期处理古装绘画为水灵效果
相信很多人听到Twitter都不会陌生,Twitter和Facebook都是目前世界上最流行和火爆的社交平台了。我们经常会从各种途径上听到某某人发了一个“推”,但是却鲜有人能拥有一个推特账号。今天就手把手的教你突破限制,亲手注册Twitter。
相信在小时候,大家都会海底世界充满了向往,觉得海底世界是一个神奇的地方,有蓝蓝的海水,还有各种各样的小鱼,下面,给大家带来手绘小鱼明信片教程,一起来看看学习吧,希望能够帮到你。
大家看到好看的画都会觉得眼前一亮,总是幻想自己也能够画出类似的,可实际开始操作又觉得简直是难,其实手绘还是很简单的,下面给大家带来的就是公鸡的手绘明信片教程,一起来看看吧。
哑铃是运动专用的器材,哑铃种类分为轻哑铃和重哑铃,轻哑铃即是女性专用保持身体协调的运动器材,而重哑铃顾名思义即是男性力量训练专用的辅助器材。今天我们就来画一个好看的轻哑铃简笔画。
怎么利用Photoshop给电商模特照片精修磨皮?很多朋友在工作中经常会遇到要求精修模特的情况,特别是做化妆品行业的电商设计师,所以总结了一下我的模特修图方法和技巧与大家分享,喜欢的朋友让我们一起来学习吧。
磨皮是我们ps照片最基本的技能,Photoshop人物磨皮是我们必须掌握的,如今不少国人对Photoshop修图的三大酷炫神技双曲线、中性灰与高低频几近痴迷,抓耳挠腮想学会它,下面一起看看教程吧。
掌握一点Photoshop教程对你是非常有用的,这篇教程是给大家分享PS简单快速创建眼睛彩虹美瞳效果方法,教程最终创建出来的效果非常漂亮,而且难度并不是很大,很值得大家学习,一起来学习吧。
2017年最受欢迎的生活服务APP!!生活服务类App的出现为日常生活带来极大便利,我们可以通过手机客户端预约各种家政服务,足不出户就能够享受实惠、便捷的生活服务,那么接下来我为大家推荐一些生活中必备生活app。
由于现在抢红包大热起来,很多app都开始支持发红包抢红包了,因此也出现了微信抢红包神器,可以自动抢微信红包,肯定比认为手动操作快,有消息就会自动打开,然后打开红包。今天就给大家分享2017微信自动抢红包神器大全。
2017手机赚钱软件排行榜!!很多朋友都在苦恼每天的钱不够话,空闲时间不知道怎么打发,总想寻找一种简单的赚钱方式,我们的手机app就有很多,下面具体给大家介绍手机赚钱软件有哪些,总有一款你中意的。
经常玩微信的朋友都知道,微信小程序已经全面上线了,对于小程序的出现是否会引发App变革众说纷纭,但不可否认的是小程序能够带给用户及产商一定的便利,那么今天为大家汇总目前上线的一些实用小程序。
男女交往一直都是人们比较关注的一个问题,都说相爱容易,相处不易,交往过的朋友应该都能深刻的体会到,女生常常抱怨着让男生理解自己,但男生也希望多体谅一下他们。尤其不要老是问一些无法回答的问题来考验他们。
很多朋友都信风水一说,对于自己家里房屋客厅的装修也是有一定要求的,因为客厅的风水关系着整个家居的运势,更关系着主人的财运与健康,因而客厅里的风水禁忌是需要我们谨慎注意的,那么风水学中客厅风水禁忌有哪些呢?
春天已经来临了,夏天也不远了,新的一才刚刚开始,时尚爱美的美眉们最关注的就是春夏服装设计的流行趋势了,早早的把握住时尚趋势走在流行的最尖端,今天就给大家整理分享2017春夏女装设计流行趋势 ,你绝对不能错过的亮点。

我要回帖

更多关于 项目管理视频教程 的文章

 

随机推荐