网站大量收购闲置独家精品文档,联系QQ:2885784924

嵌入式linux魔幻盒子.pdf

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

桂林电子科技大学信息科技学院

《嵌入式操作系统》实训报告

学号

姓名

指导教师:韩桂明赵志鹏张锟

2014年4月1日

魔幻盒子

1系统设计

1.1设计要求

1.1.1设计任务

设计一个魔幻盒子,使四边为ASCII码字符且长、宽可变。

1.1.2性能指标要求

1.四边形的绘图(40点*30点)。

2.四边形的ASCII字符可以在按下某按键的情况下可以修改(如从“-”-“*”)。

3.四边形的四个角要求用不同的ASCII字符。

4.四边形的大小可变。

5.四边形中间输出自己的姓名与学号。

6.在按下某按键的情况下四边形的颜色可变。

7.在按下某按键实现四边形的立体化。

1.2设计思路及设计框图

1.2.1设计思路

1.获取终端的大小,确定终端中心点。

2以终端中心作为盒子正面四边形的中心。

3.跟据盒子中心点和边长确定四边形各定点。

4.以顶点为起始点循环打印输出字符,分别画出长和宽。画长时,行不变,列自加;

画宽(高)时,列不变,行自加。

5.盒子与四边形相比多了五条边,三个顶点,可以跟据要画斜边的长及斜边对应的长

宽,确定新点的位置。

6.由新顶点位置画出新的长和宽,以及三条斜边。

7.立体化完成。

8.主界面由echo语句输出。

9.各部分操作由case语句执行。

10.连续操作由while无限循环实现。

11.退出对盒子的编辑由break实现

12.改变边的字符和颜色,可以通过改变相应颜色参量和字符参量。

13.四边形长和宽的改变可以通过控制打印单个字符的循环次数实现。

1.2.2总设计框架

主流程图

2.各个模块程序的设计

2.1函数定义部分

2.1.1draw_box函数

draw_box()

{

ROW=`tputlines`获取终端大小

COL=`tputcols`

if[$1-lt10]||[$2-lt3]判断终端长是否大于10,宽是否大于3

then

clear

echoboxistoosmall

stty-igncr

break

fi

MROW=$[$ROW/2]获取终端中间行和中间列位置

MCOL=$[$COL/2]

Rs=$[$MROW-$2/2]根据终端中间行和中间列以及盒子的长宽确定要画的

四边形的四边所在行和列

Cz=$[$MCOL-$1/2]

Rx=$[$Rs+$2-1]

Cy=$[$Cz+$1-1]

pd=1

echo-ne\E[3${5}m设置打印输出的颜色,且由参变量$5来控制.

for((r=$Rs;pd=$2;r++))分别打印两列

do

draw_dot$r$Cz$3

draw_dot$r$Cy$3

letpd=pd+1

done

pd=1

for((c=$Cz;pd=$1;c++))分别打印两行

do

draw_dot$Rs$c$4

draw_dot$Rx$c$4

letpd=pd+1

done

}

2.1.2draw_zhujiemian函数

文档评论(0)

念念 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档