zoukankan      html  css  js  c++  java
  • 俄罗斯方块源码解析(带下载)[5]

    写了几章了 ,该完了吧。

    是骡子是马拉出来溜溜 ,好歹得给点东西大家瞧瞧啊,光说不练假把式。

    最后在我们的form1窗体里 拖一个panel控件(俺就是喜欢拖控件,以呀咿呀哦),再放个lable用来显示分数

    拖成这样:

    然后再放个timmer控件 设置interval为500毫秒,设置enable=true

    编写interval 事件:

     private void timer1_Tick(object sender, EventArgs e)
            {
                if (gm.isOver)
                {
                    timer1.Enabled = false;
                    MessageBox.Show("gameOver");
                    return;
                }
    
                //one step
                gm.go();//对游戏逻辑 进行“下移” 操作(具体的下移到什么地方 比如到底了又如何 这些逻辑统统是在game类里面进行判断 操作)
    
                gm.display(panel1.Handle);//操作完成后进行显示
    
                score.Text = gm.score.ToString();
            }
    

    窗体载入时:

    public game gm;//主程序
            private void Form1_Load(object sender, EventArgs e)
            {
                //在窗体载入时 开始游戏
                gm = new game();
                gm.start();
            }      
    

    编写窗体的OnkeyDown事件(注意窗体上不要拖其他多余控件 要不然keydown无法响应):

    加速下落纯粹只是一个 假象 (设置interval阀值 更小而已,别忘了在onkeyUp的时候恢复)

     private void Form1_KeyDown(object sender, KeyEventArgs e)
            {
                switch (e.KeyCode)
                {
                    case Keys.Up://旋转
                        gm.Pivot();
                        //gm.left();
                        break;
                    case Keys.Left:
                        gm.left();
                        break;
                    case Keys.Right:
                        gm.right();
                        break;
                    case Keys.Down:
                        timer1.Interval = 30;
                        break;
                    case Keys.Space:                           //空格:暂停
                        timer1.Enabled = !timer1.Enabled;
                        break;
                }
            }
    

    自己写的俄罗斯方块,玩起来感觉就是不一样 嘿嘿 (¯▽¯;)

    俺亲自来操作一把

    什么报错了 ⊙﹏⊙∥

    调这个程序从开始写 到调通可是费了俺好大劲 ,俺菜嘛 。

    最后提醒一下 本程序是基于 微软最先进滴.net 3.5 。没有的话自行搞定,有源码 没有.net 3.5的话 拷到低版本的环境编译一下 即可,

    可能 大概 也许 要小改一下代码⊙﹏⊙∥ 。

    这是本人在博客园上发表过的最长的文章,也许以后还有更长滴 ,更好的奉献给大家。

    好了 《全文完》

    完整项目源码下载链接

    最后祝大家 中秋快乐, 俺写这些也不容易 挺累的 连源码都给大家了,如果你感觉还将就的话 给留个评论吧 好让我知道。

  • 相关阅读:
    修复PLSQL Developer 与 Office 2010的集成导出Excel 功能
    Using svn in CLI with Batch
    mysql 备份数据库 mysqldump
    Red Hat 5.8 CentOS 6.5 共用 输入法
    HP 4411s Install Red Hat Enterprise Linux 5.8) Wireless Driver
    变更RHEL(Red Hat Enterprise Linux 5.8)更新源使之自动更新
    RedHat 5.6 问题简记
    Weblogic 9.2和10.3 改密码 一站完成
    ExtJS Tab里放Grid高度自适应问题,官方Perfect方案。
    文件和目录之utime函数
  • 原文地址:https://www.cnblogs.com/assassinx/p/1833687.html
Copyright © 2011-2022 走看看