小游戏坦克大战.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
小游戏坦克大战

非常简单的几个控件,实现了一个坦克移动,并打出子弹的小游戏.希望能给大家带来一点乐趣和知识.   注:本程序离真正的游戏差的很远,只用来让初学者对一些控件及线程更加深入的理解和应用才实现的.   所用控件及类:   Button,Label,ImageList,contextMenuStrip,Threading,ArrayList   所用事件:   Button :KeyPress事件.   注意:   在ImagesList控件中添加四张图片,分别是坦克的上下左右的四张图.然后用Button的ImageList属性绑定ImageList控件.   所用的四张图片:   Bullet是通过Lable类new出来的对象   线程调用方法时使用的是带参数调用ParameterizedThreadStart   contextMenuStrip右建菜单用来关闭程序   以下为游戏的源码:   坦克 using System; using System.Collections.Generic; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Threading;    namespace 坦克大战 {   /**//// summary   /// 说明:在.net2.0及WinForm中坦克小游戏的示例   /// 作者:剑了   /// 日期:2008-10-02   /// 首发地址:a href=/////a   /// /summary   public partial class Form1 : Form   {     private static int screenWidth;//屏幕宽度     private static int screenHeight;//屏幕高度     private string Direction;//定义当前方向     public Form1()     {       InitializeComponent();       screenHeight = Screen.PrimaryScreen.Bounds.Height;//获取屏幕宽度       screenWidth = Screen.PrimaryScreen.Bounds.Width;//获取屏幕高度       Control.CheckForIllegalCrossThreadCalls = false;//不捕获错误的线程     }     /**//// summary     /// 开炮的过程     /// /summary     /// param name=paramters/param     private void Fire(object paramters)     {       ArrayList al = (ArrayList)paramters;       Label Bullet = (Label)al[0];       string direction = (string)al[1];       bool outOfScreen = false;//子弹是否超出屏幕显示区域       while (!outOfScreen)//当子弹没有超出屏幕显示区域的时候,继续移动子弹       {         switch (direction)         {           case w:             Bullet.Top = Bullet.Top - 20;             break;           case s:             Bullet.Top = Bullet.Top + 20;             break;           case d:             Bullet.Left = Bullet.Left + 20;             break;           case a:             Bullet.Left = Bullet.Left - 20;             break;            }         //当子弹的顶点大于屏幕高度或者小于0时,子弹超出屏幕显示区域,不应显示         //当子弹的距离屏幕的左边距大于屏幕宽度或者小于0时,子弹超出显示区域,不应显示

文档评论(0)

ah82299 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档