start turret
This commit is contained in:
64
main.c
64
main.c
@@ -24,7 +24,6 @@ typedef struct GameState {
|
||||
GameState gameState;
|
||||
|
||||
int loadGameState(char *filename, Player *plr) {
|
||||
printf("hello from load\n");
|
||||
fflush(stdout);
|
||||
FILE *gameSave = fopen(filename, "rb");
|
||||
if (gameSave) {
|
||||
@@ -154,18 +153,6 @@ int init() {
|
||||
loadItems(mainRenderer);
|
||||
loadEntities(mainRenderer);
|
||||
|
||||
Entity entTest;
|
||||
memset(&entTest, 0, sizeof(Entity));
|
||||
entTest.tileRect.x = 4;
|
||||
entTest.tileRect.y = 5;
|
||||
entTest.renderRect.w = TILE_SIZE;
|
||||
entTest.renderRect.h = TILE_SIZE;
|
||||
entTest.target.x = 0;
|
||||
entTest.target.y = 0;
|
||||
entTest.health = 100;
|
||||
entTest.type = GHOST;
|
||||
add_entity(&entities, entTest);
|
||||
|
||||
setupTiles();
|
||||
|
||||
// for (ItemType i = 0; i < ITEMREGISTRY_SIZE; i++) {
|
||||
@@ -312,6 +299,25 @@ int processEvent(SDL_Event e) {
|
||||
case SDLK_F10:
|
||||
renderAtlas = !renderAtlas;
|
||||
break;
|
||||
case SDLK_F11:
|
||||
printf("Enemy is at tile X:%d, Y:%d\n", entities.entities[0].tileRect.x,
|
||||
entities.entities[0].tileRect.y);
|
||||
break;
|
||||
|
||||
case SDLK_F2:
|
||||
Entity entTest;
|
||||
memset(&entTest, 0, sizeof(Entity));
|
||||
entTest.tileRect = player.tileRect;
|
||||
entTest.renderRect.w = TILE_SIZE;
|
||||
entTest.renderRect.h = TILE_SIZE;
|
||||
entTest.target.x = -1;
|
||||
entTest.target.y = -1;
|
||||
entTest.health = 100;
|
||||
entTest.type = GHOST;
|
||||
entTest.health = 100;
|
||||
add_entity(&entities, entTest);
|
||||
break;
|
||||
|
||||
case SDLK_F4:
|
||||
Tile *tile = &tileMap[playerTileY][playerTileX];
|
||||
break;
|
||||
@@ -620,8 +626,28 @@ int main(__attribute__((unused)) int argc, __attribute__((unused)) char *args[])
|
||||
running = processEvent(e);
|
||||
}
|
||||
|
||||
entities.entities[0].target = player.tileRect;
|
||||
|
||||
if (animationStep % 60 == 0) {
|
||||
for (int i = 0; i < entities.activeCount; i++) {
|
||||
int x = player.tileRect.x;
|
||||
int y = player.tileRect.y;
|
||||
x += (rand() % 10) - 5;
|
||||
y += (rand() % 10) - 5;
|
||||
if (x < 0) {
|
||||
x = 0;
|
||||
}
|
||||
if (y < 0) {
|
||||
y = 0;
|
||||
}
|
||||
if (x >= MAP_WIDTH) {
|
||||
x = MAP_WIDTH - 1;
|
||||
}
|
||||
if (y >= MAP_HEIGHT) {
|
||||
y = MAP_HEIGHT - 1;
|
||||
}
|
||||
entities.entities[i].target.x = x;
|
||||
entities.entities[i].target.y = y;
|
||||
}
|
||||
}
|
||||
updateItems();
|
||||
updateEntities();
|
||||
updatePlayer(&player);
|
||||
@@ -723,10 +749,10 @@ void genInitMap() {
|
||||
if (baseType != BGType_WATER_SHALLOW && baseType != BGType_WATER_DEEP) {
|
||||
if (oreNrm > 0.86) {
|
||||
double sub = (oreNrm - 0.86) / (1.0 - 0.86);
|
||||
if (sub < 0.25) finalType = BGType_PLATINUM_ORE;
|
||||
else if (sub < 0.50) finalType = BGType_GOLD_ORE;
|
||||
else if (sub < 0.80) finalType = BGType_SILVER_ORE;
|
||||
else finalType = BGType_IRON_ORE;
|
||||
if (sub < 0.25) finalType = BGType_IRON_ORE;
|
||||
else if (sub < 0.50) finalType = BGType_SILVER_ORE;
|
||||
else if (sub < 0.80) finalType = BGType_GOLD_ORE;
|
||||
else finalType = BGType_PLATINUM_ORE;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user