From 507bdfd6e424f84aac7c30bcd7d7fe9ede7a563a Mon Sep 17 00:00:00 2001 From: Eytan Moudahi Date: Tue, 4 Apr 2017 17:09:47 -0700 Subject: [PATCH] Fixes an ArrayIndexOutOfBoundsException when block dude is at the edge of a map facing the edge. --- .../burlap/domain/singleagent/blockdude/BlockDudeModel.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/burlap/domain/singleagent/blockdude/BlockDudeModel.java b/src/main/java/burlap/domain/singleagent/blockdude/BlockDudeModel.java index 2337e39d..efe42f6c 100644 --- a/src/main/java/burlap/domain/singleagent/blockdude/BlockDudeModel.java +++ b/src/main/java/burlap/domain/singleagent/blockdude/BlockDudeModel.java @@ -138,7 +138,7 @@ public void moveUp(BlockDudeState s){ int nx = ax+dir; int ny = ay+1; - if(nx < 0 || nx > maxx){ + if(nx < 0 || nx >= maxx){ return; } @@ -241,6 +241,10 @@ public void putdownBlock(BlockDudeState s){ int nx = ax + dir; + + if (nx < 0 || nx >= maxx) { + return; // cannot drop block past the edge of the map + } int heightAtNX = greatestHeightBelow(s, map, maxx, nx, ay+1); if(heightAtNX > ay){