|
|
|
@ -17,16 +17,19 @@ void gameLoop(){ |
|
|
|
|
switch(ch){ |
|
|
|
|
case 'w': |
|
|
|
|
case 'W':{ |
|
|
|
|
if(allEntities[0].curYpos > 1){ |
|
|
|
|
struct CollisionEvent collisionEvent = collisionDetect(allEntities[0].nextYpos-1,allEntities[0].curXpos); |
|
|
|
|
if(!collisionEvent.collidedWithUnPassableChar && !collisionEvent.collidedWithBoundary){ |
|
|
|
|
allEntities[0].nextYpos--; |
|
|
|
|
if(allEntities[0].nextYpos < 0){ |
|
|
|
|
allEntities[0].nextYpos = 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
case 's':
|
|
|
|
|
case 'S':{ |
|
|
|
|
struct CollisionEvent collisionEvent = collisionDetect(allEntities[0].nextYpos+1,allEntities[0].curXpos); |
|
|
|
|
if(!collisionEvent.collidedWithUnPassableChar && !collisionEvent.collidedWithBoundary){ |
|
|
|
|
allEntities[0].nextYpos++; |
|
|
|
|
}; |
|
|
|
|
break; |
|
|
|
|
if(allEntities[0].curYpos < viewportWinRows - 2){ |
|
|
|
|
allEntities[0].nextYpos++; |
|
|
|
|
if(allEntities[0].nextYpos > viewportWinRows-1){ |
|
|
|
@ -37,6 +40,11 @@ void gameLoop(){ |
|
|
|
|
} |
|
|
|
|
case 'a': |
|
|
|
|
case 'A':{ |
|
|
|
|
struct CollisionEvent collisionEvent = collisionDetect(allEntities[0].curYpos,allEntities[0].nextXpos-1); |
|
|
|
|
if(!collisionEvent.collidedWithUnPassableChar && !collisionEvent.collidedWithBoundary){ |
|
|
|
|
allEntities[0].nextXpos--; |
|
|
|
|
}; |
|
|
|
|
break; |
|
|
|
|
if(allEntities[0].curXpos > 1){ |
|
|
|
|
allEntities[0].nextXpos--; |
|
|
|
|
if(allEntities[0].nextXpos < 0){ |
|
|
|
@ -47,6 +55,11 @@ void gameLoop(){ |
|
|
|
|
} |
|
|
|
|
case 'd': |
|
|
|
|
case 'D':{ |
|
|
|
|
struct CollisionEvent collisionEvent = collisionDetect(allEntities[0].curYpos,allEntities[0].nextXpos+1); |
|
|
|
|
if(!collisionEvent.collidedWithUnPassableChar && !collisionEvent.collidedWithBoundary){ |
|
|
|
|
allEntities[0].nextXpos++; |
|
|
|
|
}; |
|
|
|
|
break; |
|
|
|
|
if(allEntities[0].curXpos < stdscrCols-2){ |
|
|
|
|
allEntities[0].nextXpos++; |
|
|
|
|
if(allEntities[0].nextXpos > viewportWinCols-1){ |
|
|
|
|