#include <stdio.h>
#include <stdlib.h>
#define SCREEN_WIDTH 80
#define SCREEN_HEIGHT 20
#define PLAYER_X 40
#define PLAYER_Y 18
#define SPEED 1
typedef struct {
int x;
int y;
} Player;
void initPlayer(Player *player) {
player->x = PLAYER_X;
player->y = PLAYER_Y;
}
void movePlayer(Player *player, char key) {
switch (key) {
case 'w':
if (player->y > 0) player->y -= SPEED;
break;
case 's':
if (player->y < SCREEN_HEIGHT - 1) player->y += SPEED;
break;
case 'a':
if (player->x > 0) player->x -= SPEED;
break;
case 'd':
if (player->x < SCREEN_WIDTH - 1) player->x += SPEED;
break;
}
}
void draw(Player *player) {
system("cls");
for (int i = 0; i < SCREEN_HEIGHT; i++) {
for (int j = 0; j < SCREEN_WIDTH; j++) {
if (i == player->y && j == player->x) {
printf("P");
} else {
printf(" ");
}
}
printf("\n");
}
}
int main() {
Player player;
initPlayer(&player);
char key;
while (1) {
key = getchar();
movePlayer(&player, key);
draw(&player);
}
return 0;
}