Гравитация: просто импульс, сообщающийся каждый кадр по -dy; если персонаж заколлизился/оверлапнулся с чем-то, выкидываешь его обратно против вектора движения, либо упрощённо по одной Y координате.
По птеродактелю: если *в одной комнате*, то А* не нужен и пойдёт в минус, задачка скорее всего на понимание алгоритмов и насколько догадаешься использовать наиболее подходящий.