• 俄罗斯方块源码解析 系列 更新


    中秋发的俄罗斯方块系列的文章,说实话本人小菜一个

    从来没有想过一篇 文章在一天之内能有千多点击量

    以前写滴那些 都过半个月了 顶多几十不得了了

    百度上搜了下 连其他网站都给俺转载了。 嘿嘿

    真的很感谢博客园管理员给我置顶,真的很感谢大家 ,谢谢大家。

    博客园是个人才聚集,自由分享,学习的好地方

    最后感谢


    #5楼  回复 引用 查看  
    2010-09-24 08:56 by toEverybody     
    不错, 就是运行控制的时候有点慢
    还是用C++或Delphi快

    的回复,最后检查了下代码,这实际上是 俺代码的问题 ⊙﹏⊙∥,

    不是.net 效率低不低的问题 ,你说现在机子那么快,.net效率再低 能低到哪里去嘛,

    咱要相信Microsoft , 嘿嘿

    相信同学们原来注意到这个地方木有:

    //one step
                gm.go();//对游戏逻辑 进行“下移” 操作(具体的下移到什么地方 比如到底了又如何 这些逻辑统统是在game类里面进行判断 操作)
    
                gm.display(panel1.Handle);//操作完成后进行显示
    
                score.Text = gm.score.ToString();
    

    注意了就是那句 //操作完后进行显示那句,timer 的interval事件里的

    意思是 要依靠timer ,也就是必须每隔500毫秒 才能调用display 函数。就是说不论你按得有多快 不会立即在屏幕上表现出来,所以看起来一卡一卡滴

    貌似是由于.net效率低下造成的。

    所以现在 在“新版本”(呃~~~确实是新版本,咱把它称之为1.1 release版,以前那个是beta版。。。,啊  ̄□ ̄ 别飞板砖过来)interval事件中把display去掉了 ,嘿嘿

    直接把panel1的句柄 赋给 game主调程序,

    然后在你按下左移 右移 或者 变形操作后 立即 display进行绘制处理,这样就不会出现卡的问题啦 (¯▽¯;)

    还有 感谢:

    #6楼  回复 引用 查看  
    2010-09-24 12:24 by funskiller     
    有BUG,在下落的时候,假如是横着过有方块的地方,那下落的方块直接插了进去.....而不是判断有东西。

    的回复

    至于“插入”滴问题,不想说了 (咋讲起来感觉怪怪的捏, 贫僧又心生邪念 回去好好反省 ,哦弥陀佛。。。。。)

    这个bug大家可以把它当作一个技巧来使用 ˇ▽ˇ

    要想解决这个bug也不是啥难事,大家去研究研究代码就OK啦,都有注释的。

    还有就是在变形的瞬间 方块是“无敌”的,也就是可以“穿透”,变形完成过后又会进行 “下落操作”

    这时程序才发现 原来已经“不能下落”了。于是乎方块就”嵌到墙壁里去了“, 也就是说这个跟上面”插入“滴问题 是一个原理

    很有意思哦(¯▽¯;)  大家在玩的过程中可以把它作为一个技巧来使用,这可是fc游戏机上没有的功能哦,嘿嘿

    还有已经把俺第四章那个申请专利了的“旋图”滴算法 改良了  ,

    以中心为基准点进行旋转

    现在大家玩的过程中 想咋旋 咋旋,想咋车 咋车 ,想咋转 咋转。。。。。(莫打我哈 ^_^)

    还有就是 shape类里面 方块 的种类 是可以调的(那个switch语句),

    gameArea 类里面 width 跟height 也是可以调的,调了后“容器”的横向格子数 跟纵向格子数会变大(建议不要少于初始值 要不有可能会报错),

    当然别忘了同时把panel1对应的宽度 高度 设成  格子数X30像素

    调调看  重新编译 是不是不一样了^_^

    还有 操作方式是 上下左右 加 空格,大家不会不知道吧 , ⊙﹏⊙∥

    还有俺已经把程序更新了,大家可以重新下来玩玩 ,有穿墙功能 又不卡 ,嘿嘿 好玩s了

    完整项目源码下载链接

    还有。。。。。。

    木有了

    最后还要感谢:


    #1楼  回复 引用 查看  
    2010-09-24 07:05 by Alan.Zhu     
    呵呵,先支持一个:D
    学习ing

    一如既往的支持

    以及其他童鞋提出的宝贵意见,

    Thanx   谢谢大家。

  • 相关阅读:
    如何解除任务管理器被禁用
    一、JavaScript概述
    001_html基本结构
    postman常见问题记录
    fidder工具使用
    SonarQube工具使用问题汇总
    业余书籍读后感
    jmater常见问题处理
    测试知识记录(更新中)
    HTTP协议
  • 原文地址:https://www.cnblogs.com/assassinx/p/1834229.html
Copyright © 2020-2023  润新知