-
Notifications
You must be signed in to change notification settings - Fork 0
/
ShipBringPlasma.pddl
225 lines (177 loc) · 6.05 KB
/
ShipBringPlasma.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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
;
; ship problem
;
(define (problem ShipProblem)
(:domain ShipDomain)
(:objects
bridge
transporterRoom
engineeringRoom
briefingRoom
scienceLab
sickBay
shuttleBay
cargoBay
captain
engineer
navigator
doctor
scientist
transporterChief
security
botMatt3000
deliveryMan
floor1
floor2
floor3
ground
ship
Mars
Venus
Jupiter
Saturn
Earth
asteroidbelt
clear
gold
none
insulin
painkillers
Rover
CommunicationTower
left
right
charged
notcharged
rocks
plasma
plasma1
damaged
working
sick
healthy
notalive
)
(:init
(planetResources Venus rocks)
(planetResources Jupiter plasma)
(planetResources Mars plasma)
(planetResources Venus plasma)
;starting ship shipCondition
(shipCondition clear)
;transporterRoom shipCondition
(transporterCondition working)
;hand empty
(handEmpty captain left)
(handEmpty captain right)
(handEmpty navigator left)
(handEmpty navigator right)
(handEmpty engineer left)
(handEmpty engineer right)
(handEmpty transporterChief left)
(handEmpty transporterChief right)
(handEmpty doctor left)
(handEmpty doctor right)
(handEmpty security left)
(handEmpty security right)
(handEmpty scientist left)
(handEmpty scientist right)
;lightObject
(lightObject gold)
(lightObject insulin)
(lightObject painkillers)
;objectLocation
(objectLocation floor2 gold scienceLab)
(objectLocation floor1 insulin sickBay)
(objectLocation floor1 painkillers sickBay)
(heavyObjectLocation floor1 Rover cargoBay)
(heavyObjectLocation floor1 CommunicationTower cargoBay)
;ship starting point
(shipLocation Earth)
;personnel starting point
(personnelLocation floor1 captain cargoBay)
(personnelLocation floor1 navigator shuttleBay)
(personnelLocation floor3 engineer bridge)
(personnelLocation floor1 transporterChief sickBay)
(personnelLocation floor2 doctor briefingRoom)
(personnelLocation floor2 security briefingRoom)
(personnelLocation floor3 scientist bridge)
;create different method for robot potentially
(personnelLocation floor3 botMatt3000 transporterRoom)
(personnelLocation floor2 deliveryMan briefingRoom)
;health condition
(personnelCondition captain healthy)
(personnelCondition navigator healthy)
(personnelCondition engineer healthy)
(personnelCondition transporterChief healthy)
(personnelCondition doctor healthy)
(personnelCondition botMatt3000 notalive)
(personnelCondition deliveryMan sick)
(personnelCondition security healthy)
(personnelCondition scientist sick)
;change to clear or asteroidbelt
;ship flight route
(shipPath Earth clear Saturn)
(shipPath Earth clear Jupiter)
(shipPath Earth asteroidbelt Venus)
(shipPath Earth asteroidbelt Mars)
(shipPath Saturn clear Earth)
(shipPath Saturn clear Jupiter)
(shipPath Saturn asteroidbelt Venus)
(shipPath Saturn asteroidbelt Mars)
(shipPath Jupiter clear Saturn)
(shipPath Jupiter clear Earth)
(shipPath Jupiter asteroidbelt Venus)
(shipPath Jupiter asteroidbelt Mars)
(shipPath Venus clear Earth)
(shipPath Venus clear Saturn)
(shipPath Venus clear Jupiter)
(shipPath Venus asteroidbelt Mars)
(shipPath Mars clear Earth)
(shipPath Mars clear Saturn)
(shipPath Mars clear Jupiter)
(shipPath Mars asteroidbelt Venus)
;path within ship
(path floor3 floor3 bridge transporterRoom)
(path floor3 floor3 transporterRoom bridge)
(path floor3 floor2 bridge engineeringRoom)
(path floor2 floor3 engineeringRoom bridge)
(path floor3 floor2 transporterRoom scienceLab)
(path floor2 floor3 scienceLab transporterRoom)
(path floor2 floor2 engineeringRoom briefingRoom)
(path floor2 floor2 briefingRoom engineeringRoom)
(path floor2 floor2 briefingRoom scienceLab)
(path floor2 floor2 scienceLab briefingRoom)
(path floor2 floor1 engineeringRoom sickBay)
(path floor1 floor2 sickBay engineeringRoom)
(path floor2 floor1 scienceLab cargoBay)
(path floor1 floor2 cargoBay scienceLab)
(path floor1 floor1 sickBay shuttleBay)
(path floor1 floor1 shuttleBay sickBay)
(path floor1 floor1 shuttleBay cargoBay)
(path floor1 floor1 cargoBay shuttleBay)
;path betweeen transporterRoom and planets
(path floor3 ground transporterRoom Earth)
(path floor3 ground transporterRoom Jupiter)
(path floor3 ground transporterRoom Mars)
(path floor3 ground transporterRoom Saturn)
(path floor3 ground transporterRoom Venus)
(path ground floor3 Earth transporterRoom)
(path ground floor3 Jupiter transporterRoom)
(path ground floor3 Mars transporterRoom)
(path ground floor3 Saturn transporterRoom)
(path ground floor3 Venus transporterRoom)
;path between floor3 and floor1 (lift can go more than 1 level at a time)
(path floor3 floor1 bridge sickBay)
(path floor1 floor3 sickBay bridge)
(path floor3 floor1 transporterRoom cargoBay)
(path floor1 floor3 cargoBay transporterRoom)
;(traveller doctor Jupiter)
)
(:goal
(and
(shipDelivery Venus plasma)
(shipDelivery Jupiter plasma)
)
)
)