This commit is contained in:
felicianoa237
2024-12-23 11:40:58 -06:00
commit 72674393e3
47 changed files with 4013 additions and 0 deletions

63
game.c Normal file
View File

@@ -0,0 +1,63 @@
//
// Created by tony on 11/28/2024.
//
#include "game.h"
void gameINIT(Game *pGame)
{
pGame->hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(&pGame->hConsole, &pGame->csbi);
clearConsole();
SMALL_RECT region = {
.Top = 0,
.Left = 0,
.Bottom = 29,
.Right = 180
};
// INIT Entities
const int MAX_ENTITIES = 10;
Entity *entities = NULL;
append(&entities, 0, 'X', 'P', (COORD) {(SHORT) 20, (SHORT) 20});
append(&entities, 1, 'N', 'N', (COORD) {10, 10});
append(&entities, 2, 'N', 'N', (COORD) {11, 10});
append(&entities, 3, 'N', 'N', (COORD) {12, 10});
append(&entities, 4, 'N', 'N', (COORD) {13, 10});
struct Entity *bufferEntity;
// INIT Clock targeting
const int targetFPS = 60; // Target frames per second
const int frameDelay = 1000 / targetFPS; // Frame duration in milliseconds
// Main Loop
bool run = true;
while (run)
{
clock_t startTime = clock();
GetConsoleScreenBufferInfo(&pGame->hConsole, &pGame->csbi);
getUserInput(&entities[0], &region);
printList(&pGame->hConsole,*pGame->charsWritten,&entities);
// Calculate the elapsed time and delay if necessary
clock_t elapsedTime = clock() - startTime;
int delayTime = frameDelay - (elapsedTime * 1000 / CLOCKS_PER_SEC);
// Ensure the frame time does not exceed the target FPS
if (delayTime > 0)
{
Sleep(delayTime);
}
if (GetAsyncKeyState(VK_ESCAPE))
{
run = false;
};
clearConsole();
}
freeList(&entities);
}