ftp.nice.ch/pub/next/developer/resources/libraries/gamekit_proj.NI.sa.tar.gz#/gamekit_proj/Examples/PacMan/PacMovement.h

This is PacMovement.h in view mode; [Download] [Up]

// used to move the player about during demo mode.
// stolen from the ghosts.

static intm demofind[3] = { { 0, 1, 2 }, { 3, 3, 4 }, { 5, 6, 7 } };
static intm demoDir[3] = { { 1, 4, 1 }, { 2, 1, 1 }, { 1, 8, 1 } };
static intm demoxvec[16] = {
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// no way to go
	{  2,  2,  2,  2,  2,  2,  2,  2 },		// right only
	{ -2, -2, -2, -2, -2, -2, -2, -2 },		// left only
	{  2, -2, -2,  2, -2,  2,  2, -2 },		// left or right
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// down only
	{  2,  2,  0,  0,  0,  0,  2,  0 },		// down or right
	{  0, -2, -2,  0,  0,  0, -2, -2 },		// down or left
	{  2,  2, -2,  0,  0,  2,  2, -2 },		// down, left, or right
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// up only
	{  2,  2,  0,  0,  0,  2,  2,  0 },		// up or right
	{  0, -2, -2,  0,  0,  0, -2, -2 },		// up or left
	{  2, -2, -2,  0,  0,  0, -2, -2 },		// up, left, or right
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// up or down
	{  0,  2,  0,  0,  0,  2,  2,  0 },		// up, down, or right
	{  0, -2, -2,  0,  0,  0, -2, -2 },		// up, down, or left
	{  2, -2,  0,  0,  0,  0,  2, -2 } };	// any which way

static intm demoyvec[16] = {
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// no way to go
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// right only
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// left only
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// left or right
	{ -2, -2, -2, -2, -2, -2, -2, -2 },		// down only
	{  0,  0, -2, -2, -2, -2,  0, -2 },		// down or right
	{ -2,  0,  0, -2, -2, -2,  0,  0 },		// down or left
	{  0,  0,  0, -2, -2,  0,  0,  0 },		// down, left, or right
	{  2,  2,  2,  2,  2,  2,  2,  2 },		// up only
	{  0,  0,  2,  2,  2,  0,  0,  2 },		// up or right
	{  2,  0,  0,  2,  2,  2,  0,  0 },		// up or left
	{  0,  0,  0,  2,  2,  2,  0,  0 },		// up, left, or right
	{  2,  2,  2,  2, -2, -2, -2, -2 },		// up or down
	{  2,  0,  2,  2, -2,  0,  0, -2 },		// up, down, or right
	{  2,  0,  0, -2,  2, -2,  0,  0 },		// up, down, or left
	{  0,  0,  2,  2, -2, -2,  0,  0 } };	// any which way

static intm chasexvec[16] = {
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// no way to go
	{  2,  2,  2,  2,  2,  2,  2,  2 },		// right only
	{ -2, -2, -2, -2, -2, -2, -2, -2 },		// left only
	{ -2,  2,  2, -2,  2, -2, -2,  2 },		// left or right
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// down only
	{  0,  0,  0,  0,  2,  2,  2,  2 },		// down or right
	{  0,  0,  0, -2,  0, -2, -2, -2 },		// down or left
	{ -2,  0,  0, -2,  2, -2, -2,  2 },		// down, left, or right
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// up only
	{  2,  2,  2,  0,  2,  0,  0,  0 },		// up or right
	{ -2, -2, -2, -2,  0, -2,  0,  0 },		// up or left
	{ -2, -2,  2, -2,  2,  0,  0,  2 },		// up, left, or right
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// up or down
	{  0,  0,  2,  0,  2,  0,  0,  2 },		// up, down, or right
	{ -2,  0,  0, -2,  0,  0,  0,  0 },		// up, down, or left
	{ -2,  0,  0, -2,  2,  0,  0,  2 } };	// any which way

static intm chaseyvec[16] = {
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// no way to go
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// right only
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// left only
	{  0,  0,  0,  0,  0,  0,  0,  0 },		// left or right
	{ -2, -2, -2, -2, -2, -2, -2, -2 },		// down only
	{ -2, -2, -2, -2,  0,  0,  0,  0 },		// down or right
	{ -2, -2, -2,  0, -2,  0,  0,  0 },		// down or left
	{  0, -2, -2,  0,  0,  0,  0,  0 },		// down, left, or right
	{  2,  2,  2,  2,  2,  2,  2,  2 },		// up only
	{  0,  0,  0,  2,  0,  2,  2,  2 },		// up or right
	{  0,  0,  0,  0,  2,  0,  2,  2 },		// up or left
	{  0,  0,  0,  0,  0,  2,  2,  0 },		// up, left, or right
	{ -2, -2, -2,  2, -2,  2,  2,  2 },		// up or down
	{ -2, -2,  0, -2,  0,  2,  2,  0 },		// up, down, or right
	{  0, -2, -2,  0,  2,  2,  2,  2 },		// up, down, or left
	{  0, -2,  2,  0,  0, -2,  2,  0 } };	// any which way

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.