Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mateioprea/searching-in-an-infinite-space-prolog
PP2014 Prolog Homework
https://github.com/mateioprea/searching-in-an-infinite-space-prolog
Last synced: about 2 months ago
JSON representation
PP2014 Prolog Homework
- Host: GitHub
- URL: https://github.com/mateioprea/searching-in-an-infinite-space-prolog
- Owner: mateioprea
- Created: 2014-06-03T12:50:22.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-06-03T12:51:54.000Z (over 10 years ago)
- Last Synced: 2024-10-28T02:41:49.510Z (3 months ago)
- Language: Prolog
- Size: 113 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
README
Matei Oprea 332CA
Tema 4 PrologRezolvare tema:
În primul rând, ca să rezolv tema a trebuit să știu cum vreau să mă mișc.
Un desen:
__
_|_ |
|| | |
|__| |etc...merg in cerc, după ce am făcut o rotație completă, mă duc în nord și o iau de la capăt cu un alt pas.
Am implementat utilizand un semafor care-mi spune daca am facut pickBox sau nu ca sa stiu ce fac mai departe.
Variabila contor(_) îmi zice dacă o să trec în aceeași stare sau nu. Daca e 0, e ultima mișcare de move(_) pe care o fac, dacă e mai mare ca 0 o să rămân în aceeași stare move(_). Adică, dacă sunt in starea move(north) și contor > 0, urmatoarea stare o să fie tot move(north).Dacă ajung într-o căsuță în care am box, fac pickBox.
Dacă am făcut pickBox, verific dacă trebuie să merg într-o parte sau alta, sau să rămân pe loc. Dacă sunt în (0, 0) fac deliverBox, altfel fac moveWithBox(direcția_spre_0, 0).Probleme apărute:
Cred că am o problemă la un calcul sau ceva de nu trec celelalte teste. În teorie sună destul de bine ceea ce am făcut și nu ar fi trebui să facă asta.