#include <stdio.h>
#include <time.h>
#include <Windows.h>
#include <conio.h>
#include "Screen.h"
void gotoxy(int x, int y)
{
COORD CursorPosition = { x, y };
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), CursorPosition);
}
typedef struct _PLAYER
{
int nX;
int nY;
int nLife;
}PLAYER;
PLAYER g_Player;
typedef struct _ENEMY
{
int nX;
int nY;
int nLife;
}ENEMY;
ENEMY g_Enemy;
void Init()
{
g_Player.nX = 38;
g_Player.nY = 12;
}
void Update()
{
if( g_Enemy.nX == g_Player.nX && g_Enemy.nY == g_Player.nY )
{
}
}
void Render()
{
ScreenClear();
ScreenPrint( g_Player.nX, g_Player.nY, "■");
ScreenPrint( g_Enemy.nX = 29, g_Enemy.nY = 15, "○");
ScreenFlipping();
}
void Release()
{
}
int main()
{
int nKey;
ScreenInit();
Init();
while(1)
{
nKey = _getch();
switch( nKey )
{
case 72:
g_Player.nY--; //위
break;
case 80:
g_Player.nY++; //아래
break;
case 77:
g_Player.nX += 2; //오른쪽
break;
case 75:
g_Player.nX -= 2; //왼쪽
break;
}
Update();
Render();
}
ScreenRelease();
return 0;
}
지금 까지한게
주인공 캐릭터를 방향키로 조종해서 어떤 좌표에 잇는
적을 충돌시켜서 없애는 거 하려는데
충돌을 어떻게 해야할지 모르겟다ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
좌표를 같게해서 뭐하면 될거 같은데
충돌시키는 방법 없을까ㅠㅠㅠㅠ
안그래도 불쌍한 캐릭인데, 충돌시키지 마라.
바운드 박스 충돌 방식 검색해서 써봐라
너무 단순한 얘기이지만 힌트를 드리자면, \'충돌\'이라는 상황의 정의에 대해 생각해 보세요. 두 캐릭터가 이동을 했을 때 캐릭터의 일부가 서로 겹치게 된다면 그게 충돌이겠죠? 그렇다는 것은 다시 말해서 두 캐릭터의 좌표가 완전히 같을 필요는 없고 일정 이상(즉 캐릭터의 크기만큼) 가까우면 충돌이 발생하는 거 겠죠? 그렇다면 그 때에 충돌을 \'검출\'하게 되는거고, 충돌에 따른 영향(적이 튕겨 나간다거나 죽는다거나 하는) 등의 처리는 거기에 추가하면 되겠죠.
뭐가 불상햌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
바운드 박스 충돌 참고할게 고맙
아 그러고보니 충돌이란게 정하는거는 제가 직접하는거니 호옹이 감사합니다 다시 생각해봐야겟군요