Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Verbo 'prendi_da': Attori in contenitori? #10

Open
3 tasks
tajmone opened this issue Jun 25, 2019 · 0 comments
Open
3 tasks

Verbo 'prendi_da': Attori in contenitori? #10

tajmone opened this issue Jun 25, 2019 · 0 comments
Labels
💀 bug Qualcosa non funziona come dovrebbe ⭐ verbi 🎬 Concerne: verbi/sintassi

Comments

@tajmone
Copy link
Owner

tajmone commented Jun 25, 2019

Il verbo prendi_da va rivisto perché contiene clausole impossibili e contradittorie.

  • Risolvi le falle di logica nel verbo che contraddicono l'assunto che l'oggetto possa anche essere un attore ma, di fatto, i CHECK lo prevengono.
  • Verifica tutti i CHECK che impediscono di eseguire il corpo DOES del verbo a un parametro di classe ACTOR.
  • Cerca di aggiustare la situazione di modo che sia possibile usare questo verbo simulando attori in contenitori tramite l'uso di attributi.

La sintassi:

SYNTAX prendi_da = prendi (ogg) da (detentore)
  WHERE ogg IsA THING
  ...
  AND detentore IsA CONTAINER
  ...

... consente di prendere un attore da un contenitore (incluse un altro attore), ma questo non può accadare dato che Alan non consente di mettere attori in contenitori.

Credo che l'idea originale fosse quella di implementare un qualche sistema per emulare attori in contenitori tramite classi specializzate che ridefinissero il verbo prendi_da — in fatti nel corpo del verbo leggiamo:

      DOES
        IF ogg IsA ACTOR
          THEN SAY THE ogg. "would probably object to that."
            -- actors are not prohibited from being taken in the checks; this is to
            -- allow for example a dog to be picked up, or a bird to be taken out of
            -- a cage, etc.

... ma questo è impedito dai seguenti CHECK:

ADD TO EVERY THING
  VERB prendi_da
    WHEN ogg
      CHECK [...]
      ...
      AND ogg IS spostabile
      ...
      AND ogg IS prendibile
      ...
      AND ogg IN detentore      <-- NON ACCADRÀ MAI!

Una possibile soluzione sarebbe quella di implmentare il verbo prendi_da anche sulla classe object e spostare lì i CHECK che non riguardano gli attori.

@tajmone tajmone added 💀 bug Qualcosa non funziona come dovrebbe ⭐ verbi 🎬 Concerne: verbi/sintassi labels Jun 25, 2019
@tajmone tajmone added this to the Implementazione Verbi milestone Jun 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💀 bug Qualcosa non funziona come dovrebbe ⭐ verbi 🎬 Concerne: verbi/sintassi
Projects
None yet
Development

No branches or pull requests

1 participant