@@ -215,16 +215,84 @@ def TableDrivenVacuumAgent():
215215 >>> environment.status == {(1,0):'Clean' , (0,0) : 'Clean'}
216216 True
217217 """
218- table = {((loc_A , 'Clean' ),): 'Right' ,
219- ((loc_A , 'Dirty' ),): 'Suck' ,
220- ((loc_B , 'Clean' ),): 'Left' ,
221- ((loc_B , 'Dirty' ),): 'Suck' ,
222- ((loc_A , 'Dirty' ), (loc_A , 'Clean' )): 'Right' ,
223- ((loc_A , 'Clean' ), (loc_B , 'Dirty' )): 'Suck' ,
224- ((loc_B , 'Clean' ), (loc_A , 'Dirty' )): 'Suck' ,
225- ((loc_B , 'Dirty' ), (loc_B , 'Clean' )): 'Left' ,
226- ((loc_A , 'Dirty' ), (loc_A , 'Clean' ), (loc_B , 'Dirty' )): 'Suck' ,
227- ((loc_B , 'Dirty' ), (loc_B , 'Clean' ), (loc_A , 'Dirty' )): 'Suck' }
218+ table = {
219+ ((loc_A , 'Dirty' ),): 'Suck' ,
220+ ((loc_A , 'Clean' ),): 'Right' ,
221+ ((loc_B , 'Dirty' ),): 'Suck' ,
222+ ((loc_B , 'Clean' ),): 'Down' ,
223+ ((loc_D , 'Dirty' ),): 'Suck' ,
224+ ((loc_D , 'Clean' ),): 'Left' ,
225+ ((loc_C , 'Dirty' ),): 'Suck' ,
226+ ((loc_C , 'Clean' ),): 'Up' ,
227+
228+ ((loc_A , 'Dirty' ), (loc_A , 'Clean' )): 'Right' ,
229+ ((loc_B , 'Dirty' ), (loc_B , 'Clean' )): 'Down' ,
230+ ((loc_D , 'Dirty' ), (loc_D , 'Clean' )): 'Left' ,
231+ ((loc_C , 'Dirty' ), (loc_C , 'Clean' )): 'Up' ,
232+ ((loc_A , 'Clean' ), (loc_B , 'Dirty' )): 'Suck' ,
233+ ((loc_B , 'Clean' ), (loc_D , 'Dirty' )): 'Suck' ,
234+ ((loc_D , 'Clean' ), (loc_C , 'Dirty' )): 'Suck' ,
235+ ((loc_C , 'Clean' ), (loc_A , 'Dirty' )): 'Suck' ,
236+ ((loc_A , 'Clean' ), (loc_B , 'Clean' )): 'Down' ,
237+ ((loc_B , 'Clean' ), (loc_D , 'Clean' )): 'Left' ,
238+ ((loc_D , 'Clean' ), (loc_C , 'Clean' )): 'Up' ,
239+ ((loc_C , 'Clean' ), (loc_A , 'Clean' )): 'Right' ,
240+
241+ ((loc_A , 'Clean' ), (loc_B , 'Clean' ), (loc_D , 'Clean' )): 'Left' ,
242+ ((loc_A , 'Clean' ), (loc_B , 'Clean' ), (loc_D , 'Dirty' )): 'Suck' ,
243+ ((loc_A , 'Clean' ), (loc_B , 'Dirty' ), (loc_B , 'Clean' )): 'Down' ,
244+ ((loc_A , 'Dirty' ), (loc_A , 'Clean' ), (loc_B , 'Clean' )): 'Down' ,
245+ ((loc_A , 'Dirty' ), (loc_A , 'Clean' ), (loc_B , 'Dirty' )): 'Suck' ,
246+ ((loc_B , 'Clean' ), (loc_D , 'Clean' ), (loc_C , 'Clean' )): 'Up' ,
247+ ((loc_B , 'Clean' ), (loc_D , 'Clean' ), (loc_C , 'Dirty' )): 'Suck' ,
248+ ((loc_B , 'Clean' ), (loc_D , 'Dirty' ), (loc_D , 'Clean' )): 'Left' ,
249+ ((loc_B , 'Dirty' ), (loc_B , 'Clean' ), (loc_D , 'Clean' )): 'Left' ,
250+ ((loc_B , 'Dirty' ), (loc_B , 'Clean' ), (loc_D , 'Dirty' )): 'Suck' ,
251+ ((loc_C , 'Clean' ), (loc_A , 'Clean' ), (loc_B , 'Clean' )): 'Down' ,
252+ ((loc_C , 'Clean' ), (loc_A , 'Clean' ), (loc_B , 'Dirty' )): 'Suck' ,
253+ ((loc_C , 'Clean' ), (loc_A , 'Dirty' ), (loc_A , 'Clean' )): 'Right' ,
254+ ((loc_C , 'Dirty' ), (loc_C , 'Clean' ), (loc_A , 'Clean' )): 'Right' ,
255+ ((loc_C , 'Dirty' ), (loc_C , 'Clean' ), (loc_A , 'Dirty' )): 'Suck' ,
256+ ((loc_D , 'Clean' ), (loc_C , 'Clean' ), (loc_A , 'Clean' )): 'Right' ,
257+ ((loc_D , 'Clean' ), (loc_C , 'Clean' ), (loc_A , 'Dirty' )): 'Suck' ,
258+ ((loc_D , 'Clean' ), (loc_C , 'Dirty' ), (loc_C , 'Clean' )): 'Up' ,
259+ ((loc_D , 'Dirty' ), (loc_D , 'Clean' ), (loc_C , 'Clean' )): 'Up' ,
260+ ((loc_D , 'Dirty' ), (loc_D , 'Clean' ), (loc_C , 'Dirty' )): 'Suck' ,
261+
262+ ((loc_A , 'Clean' ), (loc_B , 'Clean' ), (loc_D , 'Clean' ), (loc_C , 'Clean' )): 'Up' ,
263+ ((loc_A , 'Clean' ), (loc_B , 'Clean' ), (loc_D , 'Clean' ), (loc_C , 'Dirty' )): 'Suck' ,
264+ ((loc_A , 'Clean' ), (loc_B , 'Clean' ), (loc_D , 'Dirty' ), (loc_D , 'Clean' )): 'Left' ,
265+ ((loc_A , 'Clean' ), (loc_B , 'Dirty' ), (loc_B , 'Clean' ), (loc_D , 'Clean' )): 'Left' ,
266+ ((loc_A , 'Clean' ), (loc_B , 'Dirty' ), (loc_B , 'Clean' ), (loc_D , 'Dirty' )): 'Suck' ,
267+ ((loc_A , 'Dirty' ), (loc_A , 'Clean' ), (loc_B , 'Clean' ), (loc_D , 'Clean' )): 'Left' ,
268+ ((loc_A , 'Dirty' ), (loc_A , 'Clean' ), (loc_B , 'Clean' ), (loc_D , 'Dirty' )): 'Suck' ,
269+ ((loc_A , 'Dirty' ), (loc_A , 'Clean' ), (loc_B , 'Dirty' ), (loc_B , 'Clean' )): 'Down' ,
270+ ((loc_B , 'Clean' ), (loc_D , 'Clean' ), (loc_C , 'Clean' ), (loc_A , 'Clean' )): 'Right' ,
271+ ((loc_B , 'Clean' ), (loc_D , 'Clean' ), (loc_C , 'Clean' ), (loc_A , 'Dirty' )): 'Suck' ,
272+ ((loc_B , 'Clean' ), (loc_D , 'Clean' ), (loc_C , 'Dirty' ), (loc_C , 'Clean' )): 'Up' ,
273+ ((loc_B , 'Clean' ), (loc_D , 'Dirty' ), (loc_D , 'Clean' ), (loc_C , 'Clean' )): 'Up' ,
274+ ((loc_B , 'Clean' ), (loc_D , 'Dirty' ), (loc_D , 'Clean' ), (loc_C , 'Dirty' )): 'Suck' ,
275+ ((loc_B , 'Dirty' ), (loc_B , 'Clean' ), (loc_D , 'Clean' ), (loc_C , 'Clean' )): 'Up' ,
276+ ((loc_B , 'Dirty' ), (loc_B , 'Clean' ), (loc_D , 'Clean' ), (loc_C , 'Dirty' )): 'Suck' ,
277+ ((loc_B , 'Dirty' ), (loc_B , 'Clean' ), (loc_D , 'Dirty' ), (loc_D , 'Clean' )): 'Left' ,
278+ ((loc_C , 'Clean' ), (loc_A , 'Clean' ), (loc_B , 'Clean' ), (loc_D , 'Clean' )): 'Left' ,
279+ ((loc_C , 'Clean' ), (loc_A , 'Clean' ), (loc_B , 'Clean' ), (loc_D , 'Dirty' )): 'Suck' ,
280+ ((loc_C , 'Clean' ), (loc_A , 'Clean' ), (loc_B , 'Dirty' ), (loc_B , 'Clean' )): 'Down' ,
281+ ((loc_C , 'Clean' ), (loc_A , 'Dirty' ), (loc_A , 'Clean' ), (loc_B , 'Clean' )): 'Down' ,
282+ ((loc_C , 'Clean' ), (loc_A , 'Dirty' ), (loc_A , 'Clean' ), (loc_B , 'Dirty' )): 'Suck' ,
283+ ((loc_C , 'Dirty' ), (loc_C , 'Clean' ), (loc_A , 'Clean' ), (loc_B , 'Clean' )): 'Down' ,
284+ ((loc_C , 'Dirty' ), (loc_C , 'Clean' ), (loc_A , 'Clean' ), (loc_B , 'Dirty' )): 'Suck' ,
285+ ((loc_C , 'Dirty' ), (loc_C , 'Clean' ), (loc_A , 'Dirty' ), (loc_A , 'Clean' )): 'Right' ,
286+ ((loc_D , 'Clean' ), (loc_C , 'Clean' ), (loc_A , 'Clean' ), (loc_B , 'Clean' )): 'Down' ,
287+ ((loc_D , 'Clean' ), (loc_C , 'Clean' ), (loc_A , 'Clean' ), (loc_B , 'Dirty' )): 'Suck' ,
288+ ((loc_D , 'Clean' ), (loc_C , 'Clean' ), (loc_A , 'Dirty' ), (loc_A , 'Clean' )): 'Right' ,
289+ ((loc_D , 'Clean' ), (loc_C , 'Dirty' ), (loc_C , 'Clean' ), (loc_A , 'Clean' )): 'Right' ,
290+ ((loc_D , 'Clean' ), (loc_C , 'Dirty' ), (loc_C , 'Clean' ), (loc_A , 'Dirty' )): 'Suck' ,
291+ ((loc_D , 'Dirty' ), (loc_D , 'Clean' ), (loc_C , 'Clean' ), (loc_A , 'Clean' )): 'Right' ,
292+ ((loc_D , 'Dirty' ), (loc_D , 'Clean' ), (loc_C , 'Clean' ), (loc_A , 'Dirty' )): 'Suck' ,
293+ ((loc_D , 'Dirty' ), (loc_D , 'Clean' ), (loc_C , 'Dirty' ), (loc_C , 'Clean' )): 'Up' ,
294+
295+ }
228296 return Agent (TableDrivenAgentProgram (table ))
229297
230298
0 commit comments