体育365网址向没有感念过相同首 文章以平等天之内能来本大多碰击量。拖一个panel控件(俺就是爱拖控件。

中秋发的俄罗斯方系列的篇章,说实话我小菜一个

描绘了几节了 ,该收了咔嚓。

一向没想了千篇一律首 文章于相同龙内会来主几近沾击量

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

原先写滴那些 都过半个月了 顶多几十可怜了

末了以我们的form1窗体里
拖一个panel控件(俺就是欣赏拖控件,以呀咿呀哦),再放开个lable用来展示分数

百度上抄了下 连其他网站还让咱转载了。 嘿嘿

拖成这样:

诚然挺谢谢博客园管理员让我置顶,真的好感谢大家 ,谢谢大家。

体育365网址 1

 

 

博客园是只人才聚集,自由享受,学习之好地方

接下来再次放开个timmer控件 设置interval为500毫秒,设置enable=true

 

编写interval 事件:

末了谢谢

 

#5楼  回复 引用 查看  
2010-09-24 08:56 by toEverybody     
然, 就是运行控制的上发出点慢
还是用C++或Delphi快

 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();
        }

 

 

的过来,最后检查了下代码,这实则是 俺代码的问题 ⊙﹏⊙∥,

窗体载入时:

非是.net 效率不如不小的问题 ,你说现在电话那么快,.net效率又低
能低至哪里去呗,

 

俺们要相信Microsoft , 嘿嘿

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

 

 

深信同学等原来注意到此地方木有:

 

 

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

//one step
            gm.go();//对游戏逻辑 进行“下移” 操作(具体的下移到什么地方 比如到底了又如何 这些逻辑统统是在game类里面进行判断 操作)

            gm.display(panel1.Handle);//操作完成后进行显示

            score.Text = gm.score.ToString();

加紧下降纯粹只是一个 假象 (设置interval阀值
更粗如一度,别忘了于onkeyUp的时段恢复)

 

 

 

 

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

 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;
            }
        }

意是 要依靠timer ,也就是须每隔500毫秒 才会调用display
函数。就是说无论是你本得有多快
不会见立马以屏幕及见出,所以看起一卡一卡滴

 

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

 

 

 

从而现在 在“新本子”(呃~~~确实是初本子,咱管它们叫做1.1
release版,以前老是beta版。。。,啊  ̄□ ̄
别飞板砖过来)interval事件被拿display去丢了 ,嘿嘿

协调写的俄罗斯四方,玩起来倍感就是无一样 嘿嘿 (¯▽¯;)

直白将panel1的语句柄 赋给 game主调程序,

本人亲自来操作一将

然后以公以下错移 右移 或者 变形操作后 立即
display进行绘图处理,这样就算无见面出现卡的问题啦 (¯▽¯;)

体育365网址 2

 

哟报错了 ⊙﹏⊙∥

还有 感谢:

调整是顺序于初始勾画 到调通可是费了咱好死劲 ,俺菜嘛 。

 

 

#6楼  回复 引用 查看  
2010-09-24 12:24 by funskiller     
有BUG,在回落的时段,假如是反正在过出方块的地方,那下落的方框直接插了进去…..而无是判断发生物。

说到底提醒一下 本程序是根据 微软最先进滴.net 3.5
。没有的语自行搞定,有源码 没有.net 3.5底言语 拷到小版本的环境编译一下
即可,

 

想必 大概 也许 要小改一下代码⊙﹏⊙∥ 。

的回复

这是我于博客园上刊登了之极致丰富之稿子,也许下还有再增长滴
,更好之贡献于大家。

关于“插入”滴问题,不思量说了 (咋讲起倍感怪怪的捏, 贫僧又心生邪念
回去可以检查 ,哦弥陀佛。。。。。)

好了 《全文完》

本条bug大家可以把它当做一个技术来利用 ˇ▽ˇ

整体项目源码下充斥链接

倘惦记解决这个bug也非是啥难事,大家去研究研究代码就OK啦,都来注释的。

末了祝福大家 中秋快乐, 俺写这些为无轻 挺累的
连源码都叫大家了,如果你觉得还用就的话语 给留个评价吧 好让自身清楚。

 

还有即使是于变形的霎时
方块是“无敌”的,也不怕是足以“穿外露”,变形完成以后又见面进行 “下落操作”

这时程序才意识 原来已经“不可知降”了。于是乎方块即”嵌到墙壁里去矣“,
也就是说这个与方”插入“滴问题 是一个原理

非常风趣啊(¯▽¯;) 
大家以娱乐的经过遭到得管它们作为一个技巧来采取,这只是fc游戏机上从不的效力哦,嘿嘿

 

再有已把咱第四章老大申请专利了之“旋图”滴算法
改良了  ,

以中心吗基准点进行盘

当今大家玩的进程遭到 想咋旋 咋旋,想咋车 咋车 ,想咋转
咋转。。。。。(莫打我哈 ^_^)

 

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

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

自别忘了又把panel1对应的升幅 高度 设成  格子数X30诸如从

论调看  重新编译 是不是不雷同了^_^

 

再有 操作方式是 上下左右 加 空格,大家不见面不懂得吧 , ⊙﹏⊙∥

还有余就将程序更新了,大家可另行下来玩玩 ,有穿墙功能 又非卡 ,嘿嘿
好玩s了

 

完全项目源码下充斥链接

 

还有。。。。。。

木有了

 

末还要谢:

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

 

还的支撑

 

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

Thanx   谢谢大家。

相关文章