Skip to content

Instantly share code, notes, and snippets.

@MightyPork
Created April 22, 2015 08:21
Show Gist options
  • Save MightyPork/876aa52ee16577316ef0 to your computer and use it in GitHub Desktop.
Save MightyPork/876aa52ee16577316ef0 to your computer and use it in GitHub Desktop.
(define (domain CRANE)
(:requirements :strips :typing)
(:types crane box location)
(:predicates
(atB ?x - box ?y - location) ;; box at location
(atC ?x - crane ?y - location) ;; crane at location
(clearL ?l - location) ;; location clear
(clearC ?c - crane) ;; crane empty
(holding ?c - crane ?b - box) ;; crane holding a box
)
;; zvedni kostku
(:action LIFT
:parameters (?c - crane ?l - location ?b - box)
:precondition (and
(atC ?c ?l)
(atB ?b ?l)
(clearC ?c)
)
:effect (and
(holding ?c ?b)
(not (clearC ?c))
(not (atB ?b ?l))
(clearL ?l)
)
)
;; poloz kostku
(:action PUT
:parameters (?c - crane ?l - location ?b - box)
:precondition (and
(atC ?c ?l)
(holding ?c ?b)
(clearL ?l)
)
:effect (and
(not (holding ?c ?b))
(clearC ?c)
(atB ?b ?l)
(not (clearL ?l))
)
)
;; presun jerab z lokace 1 do lokace 2
(:action MOVE
:parameters (?c - crane ?loc1 ?loc2 - location)
:precondition (atC ?c ?loc1)
:effect (and
(atC ?c ?loc2)
(not (atC ?c ?loc1))
)
)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment