uint8_tmove_number=((*p)>>6)&63;//Move number for the current penguin
uint32_tpenguin_copy=(*p)>>12;
//Direction A
if((penguin_copy&7)>move_number)
if((penguin_copy&7)>rel_move)//If the penguin total moves in this direction are greater than the move we want to do for it (not equal because moves start at 0)