【Rhapsody学习笔记】2:Count Down

Exercise 2 : Count Down

1 复制项目

打开第一个实例Hello.rpy,选择“文件”–“另存为”,新建一个文件夹重命名,将项目保存为“CountDown.rpy”。

2 添加属性

双击“Display”类,选择“属性(Attributes)”标签。
点击“新建”,添加int类型属性Count
设置初始值为0
在这里插入图片描述

3 生成代码

保存,然后编辑代码(详细操作见【Rhapsody学习笔记】1:Hello World
在这里插入图片描述
在这里插入图片描述

  • 设置accessor和mutator的可见性(Visibility),可以在浏览器–“Display”类–“属性”–“count”,双击打开或右键“特征”,可见性下拉菜单选择,但是只能改变accessor和mutator的可见性,无法改变数据的可见性。如下图所示:

4 添加操作

右键“Display”类选择“特征”,点击“操作”标签,点击“新建”–“Operation”,修改名称为print
在这里插入图片描述

5 添加参数

双击“print”操作打开特征窗口,选择“参数”标签,添加int类型参数n
在这里插入图片描述

6 添加实现

选择“实现”标签(“print”操作特征),添加代码cout << "Count = " << n << endl;
在这里插入图片描述

7 再次添加操作

按照第4~6步再次添加print操作,有char*类型参数"s"以及实现:cout << s << endl;
在这里插入图片描述

8 添加操作isDone()

添加操作isDone(),返回“bool”型参数,有实现:return (0==count);
在这里插入图片描述

  • 活动代码视图——可以打开活动代码视图显示,活动代码视图会根据模型的改变而自动更新,并且会自动跳转到所选模块对应的代码处。但是会降低模型操作的速度。
  • 带吗双向传递——这次终于找到如何设置了,“文件”–“项目属性”–“属性”–“查看全部”–“CPP_Roundtrip”–“General”–“RoundtripScheme”,设置为Basic。
    在这里插入图片描述
    在这里插入图片描述
    我们在活动代码视图中修改display函数,模型中相应地改变。

9 添加状态图

我们准备让Display类以200ms为间隔从10倒数至0。为此我们需要给类添加一些行为,可以通过添加状态图来实现。
右键“Display”类,选择“新增”–“状态图”。
在这里插入图片描述

10 绘制状态图

绘制如下状态图
在这里插入图片描述

11 编译执行

结果如下图所示:
在这里插入图片描述
到现在为止,我们已经实现了目标。但是当我们面对更加复杂的模型时,我们需要验证模型,下面将介绍设计级调试(level debugging)来验证模型,这被称为“动画(Animation)”。

附1 新建配置

打开浏览器,选择“组件”–“Test”–“配置”,展开,按住“Ctrl”键,用鼠标拖动“Release”到配置下,得到一个新配置。
在这里插入图片描述
重命名其为“Debug”,设置检测模式为“动画”(“设置”–“监测模式”)。
在这里插入图片描述

附2 多配置操作

我们现在有两种配置,需要选择一种使用,有两种方法:

  • 在菜单栏选择
    在这里插入图片描述

  • 在相应配置处右键,选择“设置为活动配置”
    在这里插入图片描述

附3 开始动画

  • 点击“转至步骤”按钮,直至出现“Ex而出table is Idle”。
    在这里插入图片描述
  • 此时在浏览器–“包”–“Default”–“类”–“Display”下出现“instance”–“Display[0]”,打开其特征,可以看到count以及被初始化为10。
    在这里插入图片描述
  • 右键“Display[0]”,选择打开实例状态图,可以看到高亮的状态
    在这里插入图片描述
    在这里插入图片描述
  • 重复点击“转为闲置”或点击“执行”直到“Display[0]”被销毁。
    在这里插入图片描述
  • 退出执行

附4 析构函数

添加析构函数(与添加构造函数一样,详细步骤见【Rhapsody学习笔记】1:Hello World),实现为:print("Destroyed");
在这里插入图片描述

附5 序列图

浏览器中新增时序图。我们将用它捕获模型执行时发生的情况。
在这里插入图片描述

附6 添加实例

拖拽Display类到时序图中,并添加系统边界。
在这里插入图片描述

附7 绘制时序图

在这里插入图片描述

附8 开始动画

如果存在一个时序图,Rhapsody会基于此创建一个动画时序图。
在这里插入图片描述

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值