当前位置:Linux教程 - Linux - X-windows 系统使用指南(11)

X-windows 系统使用指南(11)



         第11章 示□与游戏程式

    11.1 找出通过随机迷宫的路径 - maze
    11.2 担任指标的大眼睛 - xeyes
    11.3 智慧盘游戏 - puzzle
    11.4 列印一个大X语标 - xlogo
    11.5 跳动的多面体 - ico
    11.6 动态几何图样 - muncher 与 plaid
    11.7 结论

    第11章 示□与游戏程式

    MIT 发行的 core 版本提供了少数的示□程式以及仅有的一个游戏程式.
    它们展现出某些视窗系统的威力, 且能给人一种强烈的美好印象 -- 特别是在
    彩色萤幕上.



    11.1 找出通过随机迷宫的路径 - maze

    maze 在视窗中产生一个随机的迷宫 (图 11 - 1), 它会自动找出从入口
    通过迷宫到达出口的路径. 它会追踪它走过的轨迹, 当它从一个死巷中退出时
    则将轨迹消除. 你可以用滑鼠按钮启动, 暂停, 继续或停止程式, 就如同在手
    册页中所描述的. maze不提供颜色.

    注意 : 中间按钮对暂停与重新启动的作用并不可靠.

    ┌————————————————┐
    │ p125. fig 11 - 1 │
    │ │
    │ │
    │ │
    │ │
    │ 图 11 - 1 迷宫程式 │
    └————————————————┘



    11.2 担任指标的大眼睛 - xeyes

    xeyes 在视窗中绘出两个大眼睛, 且它们永远保持看著指标 (图 11 - 2).
    当指标移动时眼睛也随著调整 (且若你移动指标到它自己的眼睛之间, 它们会
    变成斗鸡眼! (cross eyed!)

    你可以明确地给视窗的每个元素设定颜色 - 瞳孔, 背景, 外框等.

    注意 : xeyes 会使你的系统执行速度变慢.

    ┌————————————————┐
    │ p126. fig 11 - 2 │
    │ │
    │ │
    │ │
    │ │
    │ 图 11 - 2 xeyes 程式 │
    └————————————————┘



    11.3 智慧盘游戏 - puzzle

    puzzle 是一种古老的游戏, 有 15 个编号的小方块被一个 4x4 框架围住.
    你必须移动小方块使它们按照数字顺序排列. (图 11 - 3)

    ┌————————————————┐
    │ p127. fig 11 - 3 │
    │ │
    │ │
    │ │
    │ │
    │ 图 11 - 3 智慧盘游戏 │
    └————————————————┘

    你可以使用滑鼠控制游戏 :

    启动游戏 : 藉著在控制棒的左上边盒子内碰触按钮可以重新搅和小方块.

    移动小方块 : 将指标移到与空白位置相同的行或列的小方块上,碰触按
    钮以移动该小方块与所有它之前的所有小方块进入空的位置. (所以
    移动後, 空位置在你碰触按钮的地方)

    由 puzzle 自己去解 : 在控制棒的右手边盒子上碰触按钮.

    离开 (跳出) : 在控制棒的中间碰触中间按钮.


    11.3.1 puzzle 的命令列选项

    使用一个大小不是 4x4 的框架 : 使用选项 - size width x height,
    其中尺寸是以小方块为单位.

    改变小方块被移动的速率 : 使用选项 -speed num. 此处 num 是每秒移动
    的数目 (预设值为 5).



    11.4 列印一个大X语标 - xlogo

    xlogo 建立一个视窗并在它里面显示一个X语标(logo),如图 11 - 4. 假
    如你重定视窗大小,语标再次被绘出, 且尽可能地将视窗填满.

    ┌————————————————┐
    │ p127. fig 11 - 4 │
    │ │
    │ │
    │ │
    │ │
    │ 图 11 - 4 xlogo 程式 │
    └————————————————┘



    11.5 跳动的多面体 - ico

    ico 产生一个视窗且在它里面有一个 12 面体 - 一个具有 12 面的实心
    体 - 如图11 - 5 所示. 这个多面体是会动的, 它在视窗内不断地碰撞跳跃.
    在单色显示器上你可能只有一个直线构成的图 (使用选项 -i 可以反白显示),
    但是在彩色显示萤幕上, 你可以看到实心的彩色面.

    试下面的例子 :

    ico -nodeges -faces -colors red blue yellow green

    你可以设定一个跳跃的12面体在一个根视窗内 (背景视窗),而不必靠它自
    己使用 -r 选项指定特定视窗. 另外, ico 可指定多面体的面数, 不是只有12
    面体 : 如果你想得到一个完整的列表可以键入下列命令 :

    ico -objhelp

    ┌————————————————┐
    │ p128. fig 11 - 5 │
    │ │
    │ │
    │ │
    │ │
    │ 图 11 - 5 ico 程式 │
    └————————————————┘



    11.6 动态几何图样 - muncher 与 plaid

    muncher 与 plaid 重覆地绘出变化多端而有趣的几何图样 (图 11 - 6a
    与 b).

    ┌————————————————┐
    │ p129. fig 11 - 6 │
    │ │
    │ │
    │ │
    │ │
    │ 图 11 - 6 muncher 与 plaid 程式│
    └————————————————┘



    11.7 结论

    core版本中没有非常广泛的示□程式. 假如你曾读取 contrib 的磁带, 你
    可能会发现下列有趣的程式 :

    paint : 简单的绘图程式. (像一个画图程式, 但你可以对区域涂上纹理
    或颜色, 不只是线.)

    xcolors : 一个可展示你的系统上所有颜色名称的好程式.

    xfish : 设定鱼在你的整个背景视窗内游动. 有趣的部分是你可以用滑鼠
    射击它们.

    qix : 一个 qix 射击游戏的程式.

    xmille : 和你玩一个 Mille Bournes 的牌戏.

    xsol : 和你玩一个单人玩的牌戏.

    xtrek : 一个令人著迷的太空游戏.


    发布人:netbull 来自:嵌入式Linux