view src/main.c @ 11:c0bb53eaa6f4

Calculate distances from goal for all passible points for pathfinding purposes
author Mike Pavone <pavone@retrodev.com>
date Sun, 12 Jan 2014 17:05:53 -0800
parents 3ed112d64b1b
children 1ee4a5c23c95
line wrap: on
line source

#include <genesis.h>
#include "creep.h"

u16 tilemap[40*28];
u16 countdown;

int main(void)
{
	u16 i;
	VDP_setPlanSize(64, 32);
	for (i = 6; i < 40*28; i += 4)
		if ((i > 80 || i & 4) && (i < 40*26 || !(i & 4)) && i % 40 < 38)
		{
			tilemap[i] = 'O' + TILE_FONTINDEX;
			tilemap[i+1] = 'O' + TILE_FONTINDEX;
		}

	tilemap[38 + 14*40] = TILE_ATTR_FULL(1, 0, 0, 0, 'G' + TILE_FONTINDEX);
	tilemap[39 + 14*40] = TILE_ATTR_FULL(1, 0, 0, 0, 'G' + TILE_FONTINDEX);
	tilemap[38 + 15*40] = TILE_ATTR_FULL(1, 0, 0, 0, 'G' + TILE_FONTINDEX);
	tilemap[39 + 15*40] = TILE_ATTR_FULL(1, 0, 0, 0, 'G' + TILE_FONTINDEX);
	gen_distances(38, 14);
	//print_distances();
	for (;;)
	{
		VDP_waitVSync();
		VDP_updateSprites();
		for (i = 0; i < 28; i++)
		{
			VDP_setTileMapRectByIndex(VDP_PLAN_B, tilemap + i*40, i*64, 40, 0);
		}
		if (cur_creeps < 4)
		{
			if (countdown)
				--countdown;
			else
			{
				spawn_creep(CREEP_NORMAL, 4, 122);
				countdown = 300;
			}
		}
	}
	return 0;
}