-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patheat_food.pddl
72 lines (68 loc) · 1.65 KB
/
eat_food.pddl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
(define (problem eat_food)
(:domain maze)
(:objects
j1 j2 j3 j4 - Junction
p - Player
m m1 - Monster
k - Key
in - Inventory
s - Shield
banana - Food
f - Floor
sword knife - Weapon
box - Box
g - Gold
tree - Platform
v - Vendor
)
(:init
(=(platformLevel f) 0)
(=(platformLevel box) 1)
(=(platformLevel tree) 2)
(isConnected j1 j2)
(= (distanceBetweenJunctions j1 j2) 1)
(isConnected j2 j1)
(isConnected j2 j3)
(= (distanceBetweenJunctions j2 j3) 1)
(isConnected j3 j4)
(= (distanceBetweenJunctions j3 j4) 1)
;player
(atLocation p j1)
(on p f)
(= (playerHealth ) 30)
(= (playerWealth ) 0)
;food
(atLocation banana j2)
(on banana f)
(=(foodValue banana) 30)
; weapon 1
(atLocation sword j2)
(on sword f) ;weapon on the floor
(= (weaponDamage sword) 30)
; weapon 2
(atLocation knife j3)
(on knife f) ;weapon on the floor
(= (weaponDamage knife) 30)
; monster 1
(atLocation m j3)
(on m f)
(not(isMonsterDead m))
(= (monsterStrength m) 30)
(= (monsterHealth m) 15)
; monster 2
(atLocation m1 j4)
(on m1 f)
(not(isMonsterDead m1))
(= (monsterStrength m1) 30)
(= (monsterHealth m1) 15)
(= (monstersSlain ) 0)
(= (inventoryCount ) 0)
(= (maxInventorySize ) 5)
)
(:goal (and
(atLocation p j4)
(isMonsterDead m)
(isMonsterDead m1)
)
)
)