Skip to content
Snippets Groups Projects
Commit 92da8d9e authored by dgelessus's avatar dgelessus
Browse files

Show error when using :show in an uninitialised state

parent 3251d787
Branches
Tags
No related merge requests found
%% Cell type:code id: tags:
``` prob
:help :show
```
%% Output
```
:show
```
Show the machine's animation function visualisation for the current state.
:show
Show the machine's animation function visualisation for the current state.
%% Cell type:code id: tags:
``` prob
:load Hanoi.mch
```
%% Output
Loaded machine: Hanoi : []
%% Cell type:code id: tags:
``` prob
:show
```
%% Output
<table><tbody>
<tr>
<td style="padding:0">![null](null)</td>
<td style="padding:0">![null](null)</td>
</tr>
<tr>
<td style="padding:0">![null](null)</td>
<td style="padding:0">![null](null)</td>
</tr>
</tbody></table>
<Animation function visualisation>
:show: Machine is not initialised, cannot show animation function visualisation
%% Cell type:code id: tags:
``` prob
:constants
```
%% Output
Machine constants set up using operation 0: $setup_constants()
%% Cell type:code id: tags:
``` prob
:show
```
%% Output
<table><tbody>
<tr>
<td style="padding:0">![null](null)</td>
<td style="padding:0">![null](null)</td>
</tr>
<tr>
<td style="padding:0">![null](null)</td>
<td style="padding:0">![null](null)</td>
</tr>
</tbody></table>
<Animation function visualisation>
:show: Machine is not initialised, cannot show animation function visualisation
%% Cell type:code id: tags:
``` prob
:init
```
%% Output
Machine initialised using operation 1: $initialise_machine()
%% Cell type:code id: tags:
``` prob
:show
```
%% Output
<table><tbody>
<tr>
<td style="padding:0">![1](images/Disc1.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
<tr>
<td style="padding:0">![2](images/Disc2.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
<tr>
<td style="padding:0">![3](images/Disc3.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
<tr>
<td style="padding:0">![4](images/Disc4.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
<tr>
<td style="padding:0">![5](images/Disc5.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
</tbody></table>
<Animation function visualisation>
%% Cell type:code id: tags:
``` prob
:exec Move
```
%% Output
Executed operation 2: Move(orig,dest,1)
%% Cell type:code id: tags:
``` prob
:show
```
%% Output
<table><tbody>
<tr>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
<tr>
<td style="padding:0">![2](images/Disc2.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
<tr>
<td style="padding:0">![3](images/Disc3.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
<tr>
<td style="padding:0">![4](images/Disc4.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
<tr>
<td style="padding:0">![5](images/Disc5.gif)</td>
<td style="padding:0">![1](images/Disc1.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
</tbody></table>
<Animation function visualisation>
%% Cell type:code id: tags:
``` prob
:exec Move
```
%% Output
Executed operation 4: Move(orig,Stakes3,2)
%% Cell type:code id: tags:
``` prob
:show
```
%% Output
<table><tbody>
<tr>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
<tr>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
<tr>
<td style="padding:0">![3](images/Disc3.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
<tr>
<td style="padding:0">![4](images/Disc4.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
<td style="padding:0">![0](images/Disc_empty.gif)</td>
</tr>
<tr>
<td style="padding:0">![5](images/Disc5.gif)</td>
<td style="padding:0">![1](images/Disc1.gif)</td>
<td style="padding:0">![2](images/Disc2.gif)</td>
</tr>
</tbody></table>
<Animation function visualisation>
......
......@@ -44,6 +44,10 @@ public final class ShowCommand implements Command {
final Trace trace = this.animationSelector.getCurrentTrace();
if (!trace.getCurrentState().isInitialised()) {
throw new UserErrorException("Machine is not initialised, cannot show animation function visualisation");
}
final GetImagesForMachineCommand cmd1 = new GetImagesForMachineCommand();
trace.getStateSpace().execute(cmd1);
final Map<Integer, String> images = cmd1.getImages();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment