Situation Calculus Based Programs for Representing and Reasoning about Game Structures