playergame/src/movement.h

43 lines
1.2 KiB
C
Raw Normal View History

2022-03-08 08:36:06 -05:00
//TODO fix this bug
//there is a bug with the units arg
//it doesnt check weather EVERY spot in its path is vaiid so it allows the possibity of going thru walls if units is more than 1
2022-03-05 11:22:25 -05:00
int attempt_move(int x, int y, int units, int direction) {
int xfuture = x;
int yfuture = y;
switch (direction) {
case 0: // right
xfuture = xfuture + units;
if (readmap(xfuture, y) == '&') {
return 0;
}
else {
return 1;
}
case 1: // up
yfuture = yfuture - units; // we subtract because moving up
if (readmap(x, yfuture) == '&') {
return 0;
}
else {
return 1;
}
case 2: // left
xfuture = xfuture - units;
if (readmap(xfuture, y) == '&') {
return 0;
}
else {
return 1;
}
case 3: // down
yfuture = yfuture + units;
if (readmap(x, yfuture) == '&') {
return 0;
}
else {
return 1;
}
}
return 0;
}