Hello,

The problem is that this exercise have two worlds. You can switch between 
worlds by clicking on the combobox showing "Swiss cheese" in your interface.
As you can see, there is no (easy) way to hardcode a path for the buggles that 
will lead to the solution. 

It is very often the case in PLM that several worlds are used to have more than 
one test case for the code provided by the user. They act as separate unit 
tests for the proposed solution.
The same code is run by every buggles in every worlds (some exercises have 
multiple buggles on the same world, too).

In this case, you could still determine which is buggle is running by looking 
at the local configuration (where the walls are), and then hardcode a solution 
for each of them. So the exercise is not as robust as one could hope, but I'm 
not sure that it is worth fixing it. The maze lesson is just for fun anyway, 
the pedagogical value is not very high.

A better fix would be to:
- Change the error message to hint about the possibility that it occured in 
another world than the one currently displayed
- Make the combobox blink in red for the same effect

I think I prefer the first solution, because I'd like to change the PLM 
interface to move toward JavaFX so I prefer to not invest too much time to fix 
that swing interface. 

Do you confirm my analysis and validate my proposed fix?

Thanks for your interest,
Mt. 

----- Le 11 Juin 20, à 12:06, Georges Khaznadar georg...@debian.org a écrit :

> Package: plm
> Version: 2.8.1-1
> Severity: normal
> 
> Dear Maintainer,
> 
>   * I started plm, with locale=fr.FR-UTF8, and selected Python
>     language, then chose exercise #1: "RandomMouseMaze"
>   * I wrote a program to drive the buggle to its destination;
>     you can check the program in the attached screenshot and
>     attached source file.
>   * The target of the exercise was reached, but a spurious
>     warning is emitted when the buggle reaches a fork in the
>     maze, just after the interpretation of the substring
>     "DAGAGADAADAA". When the target is reached, I can read a
>     report about the program's behaviour which I cannot
>     understand.
> 
> 
> *** End of the template - remove these template lines ***
> 
> 
> 
> -- System Information:
> Debian Release: bullseye/sid
>  APT prefers stable
>  APT policy: (900, 'stable'), (499, 'testing'), (400, 'unstable')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
> 
> Kernel: Linux 4.19.0-6-amd64 (SMP w/4 CPU cores)
> Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8),
> LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /usr/bin/dash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled
> 
> Versions of packages plm depends on:
> ii  default-jdk              2:1.11-72
> ii  java-wrappers            0.3
> ii  jruby                    9.1.17.0-3
> ii  jython                   2.7.2+repack1-1
> ii  libgettext-commons-java  0.9.6-6
> ii  libhttpclient-java       4.5.11-1
> ii  libhttpcore-java         4.4.13-1
> ii  libhttpmime-java         4.5.11-1
> ii  libjgit-java             3.7.1-6
> ii  libjson-simple-java      2.3.0-1
> ii  libmiglayout-java        5.1-2
> ii  librsyntaxtextarea-java  2.5.8-1
> ii  scala                    2.11.12-4
> ii  scala-library            2.11.12-4
> 
> plm recommends no packages.
> 
> plm suggests no packages.
> 
> -- no debconf information
> 
> *** /tmp/random_mouse_maze.py
> chemin="DAGAGADAADAADAAGADA"
> for c in chemin:
>    if c=="D":
>      droite()
>    elif c=="G":
>      gauche()
>    elif c=="A":
>       avance()

Reply via email to