hantu 于 2009-05-30 01:53:16发表:

[i=s] 本帖最后由 hantu 于 2009-5-30 01:55 编辑 [/i]

写这个代码的人功底很深,台港,2003年写的。

大家学习也很不错,我就来简单地分析一下它的算法吧,先要搞懂方块的表示:

box0到box6是七种不同方块的参数,分别是y、x坐标,如下所示:

box0=(0 0 0 1 1 0 1 1)

┌─┬─┬─┬─┐

│■│■│ │ │

├─┼─┼─┼─┤

│■│■│ │ │

├─┼─┼─┼─┤

│ │ │ │ │

├─┼─┼─┼─┤

│ │ │ │ │

└─┴─┴─┴─┘

box1=(0 2 1 2 2 2 3 2 1 0 1 1 1 2 1 3)

┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐

│ │ │■│ │ │ │ │ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │ │■│ │ │■│■│■│■│

├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │ │■│ │ │ │ │ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │ │■│ │ │ │ │ │ │

└─┴─┴─┴─┘ └─┴─┴─┴─┘

box2=(0 0 0 1 1 1 1 2 0 1 1 0 1 1 2 0)

┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐

│■│■│ │ │ │ │■│ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │■│■│ │ │■│■│ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │ │ │ │ │■│ │ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │ │ │ │ │ │ │ │ │

└─┴─┴─┴─┘ └─┴─┴─┴─┘

box3=(0 1 0 2 1 0 1 1 0 0 1 0 1 1 2 1)

┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐

│ │■│■│ │ │■│ │ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│■│■│ │ │ │■│■│ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │ │ │ │ │ │■│ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │ │ │ │ │ │ │ │ │

└─┴─┴─┴─┘ └─┴─┴─┴─┘

box4=(0 1 0 2 1 1 2 1 1 0 1 1 1 2 2 2 0 1 1 1 2 0 2 1 0 0 1 0 1 1 1 2)

┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐

│ │■│■│ │ │ │ │ │ │ │ │■│ │ │ │■│ │ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │■│ │ │ │■│■│■│ │ │ │■│ │ │ │■│■│■│ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │■│ │ │ │ │ │■│ │ │■│■│ │ │ │ │ │ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

└─┴─┴─┴─┘ └─┴─┴─┴─┘ └─┴─┴─┴─┘ └─┴─┴─┴─┘

box5=(0 1 1 1 2 1 2 2 1 0 1 1 1 2 2 0 0 0 0 1 1 1 2 1 0 2 1 0 1 1 1 2)

┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐

│ │■│ │ │ │ │ │ │ │ │■│■│ │ │ │ │ │■│ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │■│ │ │ │■│■│■│ │ │ │■│ │ │ │■│■│■│ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │■│■│ │ │■│ │ │ │ │ │■│ │ │ │ │ │ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

└─┴─┴─┴─┘ └─┴─┴─┴─┘ └─┴─┴─┴─┘ └─┴─┴─┴─┘

box6=(0 1 1 1 1 2 2 1 1 0 1 1 1 2 2 1 0 1 1 0 1 1 2 1 0 1 1 0 1 1 1 2)

┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐

│ │■│ │ │ │ │ │ │ │ │ │■│ │ │ │ │■│ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │■│■│ │ │■│■│■│ │ │■│■│ │ │ │■│■│■│ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │■│ │ │ │ │■│ │ │ │ │■│ │ │ │ │ │ │ │

├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤

│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

└─┴─┴─┴─┘ └─┴─┴─┴─┘ └─┴─┴─┴─┘ └─┴─┴─┴─┘

(待续)

linux中shell俄罗斯方块源代码,跟我学shell编程之shell版本的俄罗斯方块相关推荐

  1. linux dash 全局变量,Shell编程之shell基础

    一.shell介绍 1.编程语言分类 2.shell简介 3.shell脚本 1)什么是shell脚本? 2)什么时候用到脚本? 3)shell脚本能干啥? 4)shell脚本的基本写法 5)shel ...

  2. centos中bash占用cpu,Linux中显示内存和CPU使用率最高的进程和SHELL脚本例子

    显示CPU占用率最高的十个进程信息 #  ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head USER       PID %CPU %MEM  ...

  3. 一、shell编程之shell简介

    1. shell简介 1.1. 什么是 shell Shell俗称壳程序,是一种由C语言编写的用于和操作系统交互的命令解析器软件.它用来接收用户输入命令,然后调用相应的应用程序. Shell 是一个用 ...

  4. theoretical-零基础学Qt4编程之Qt核心机制与原理之信号与槽-

    信号与槽 信号和槽机制是Qt的核心机制之一,要掌握Qt编程就需要对信号和槽有所了解.信号和槽是一种高级接口,它们被应用于对象之间的通信,它们是Qt的核心特性,也是Qt不同于其它同类工具包的重要地方之一 ...

  5. 关于论青少年尽早学少儿编程之说

    关于论青少年尽早学少儿编程之说 正如一本书中所描述的一句话"尽早学习编程,是孩子为未来做好准备必不可少的一步".看完这句话之后,给我们的直观印象可能就是,不教孩子学习编程在某种程度 ...

  6. shell编程之shell脚本(下)

    文章目录 字符截取命令 cut命令 printf 格式化输出命令 awk命令 sed命令 字符处理命令 排序命令 ----sort 统计命令--wc 条件判断式--test 流程控制 if语句 cas ...

  7. 浅谈Linux中ldconfig和ldd的用法

    ldd 查看程序依赖库 ldd 作用:用来查看程式运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题. 示例:查看test程序运行所依赖的库: /opt/app/todeav1/te ...

  8. linux中怎么安装ded包_快速提示:如何在Linux中安装.deb和.tar文件 - push博客

    在本快速教程中,我将解释如何使用终端命令在Linux中安装程序.本教程使用LinuxMint 18(肉桂64位),但是下面提供的命令对于其他版本的Linux是通用的,比如Ubuntu.对于那些刚接触l ...

  9. linux中cd命令及范例,15个Linux中的“cd”命令的实际示例

    在Linux中"CD"( 更改目录 )命令是新手以及系统管理员中最重要和最广泛使用的命令之一. 对于无头的服务器上管理员,"CD"是导航到一个目录来查看日志,执 ...

最新文章

  1. audio type多种类型_http content-type常见文件格式类型
  2. How to learn wxPython
  3. Tomcat8.0.11优化相关
  4. 【Python基础】学习用Pandas处理分类数据!
  5. 止欲知足,为获得幸福生活的根本法则之一
  6. c语言中next如何用,c语言的数据结构中,next是如何指向下一个元素的?
  7. 如何使用BetterZip mac版将大文件分卷压缩
  8. 《博客页面制作》教程
  9. 如何在WORD2007中文档中,奇数页页眉是书名,偶数页页眉是章节。各章章节不同,请详细步骤!!!...
  10. OSChina 周六乱弹 —— 我媳妇是条蛇
  11. 使用cpolar内网穿透搭建远程监控
  12. Java开发常用词汇表
  13. linux用户的主要配置文件,Linux用户和组的主要配置文件及其相关命令
  14. 网站服务器高主频还是多核心,服务器中的高主频与核心数有什么区别?
  15. Spring @Resource详解
  16. 随机变量的相关性与独立性
  17. 剧推|2019hulu原创剧集激情推荐!
  18. macOS配置java环境
  19. 浏览器f12的调试介绍
  20. 门禁管理系统设计c语言,基于RFID技术的智能门禁系统设计(控制部分)

热门文章

  1. uni-app从后端返回的mp4链接视频截取一帧为封面
  2. InterSystems IRIS、IRIS for Health和Health Connect 2021.1预览版现已发布
  3. 2022hdu暑期1
  4. 迷人的学霸操作!教你Python中合并字典的多种解题方法
  5. 每周一篇 文献阅读—paper 5
  6. 简述计算机音乐系统的组成,简述计算机系统的构成 简述电脑音乐制作系统的构成.doc...
  7. pickle.load函数
  8. python图像文字识别(附灰度化二值化和压缩图片)
  9. 创成汇荣获最佳组织奖!泉州市首届“同心杯”创业大赛结果出炉
  10. Excel2007版的常用功能(9):Excel中的Countif函数与Countifs函数