옵션 |
|
아주 저급한 게임을 만들고 있는데요.
총알을 어떻게 움직이게 하는 지 감이 안 오네요 ㅠㅠ
아래부터 코드입니다 ㅠㅠ
전 글에서도 많이 이야기했지만, 노트북이 망가져서 수리센터에 맡겼거든요.
물론 수리기간동안 노트북을 빌려주지만, 그 노트북으로는 웹 브라우징만 할 수 있어서
피씨방에 와서 코딩해봤는데, 총알이 출력은 되지만, 위로 안 올라가네요 ㅠㅠ
while(1)문을 열고 적하고 충돌할 때까지 y--로 올라가야할텐데, 쉽지가 않네요 ㅠㅠ
도와주세요 ㅠㅠ
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>
#include <conio.h>
#define LEFT 75 //좌로이동
#define RIGHT 77 //우로이동
#define UP 72 //발사
void TitleMenu();
void gotoxy();
void myjet();
void enemy();
int main()
{
TitleMenu();
gamescreen();
myjet();
void enemy();
return 0;
}
void TitleMenu(void){
int start;
printf("\n\n\n");
printf("\t\t*** ***** ***** ***** * * ***** *****\n");
printf("\t\t* * * * * * * * * * \n");
printf("\t\t* * ***** *** ***** * * * ***** *****\n");
printf("\t\t* * * * * * ** * * \n");
printf("\t\t*** ***** * ***** * * ***** *****\n\n\n");
printf("\t\tPress Space bar to start!!\n");
printf("\t\tPress any other key to exit!!\n");
start=getch();
if (start==32){
system("cls");
}else{
exit(1);
}
}
void gamescreen(void){
int x=3;
int y=3;
int i=0;
for (i=0;i<24;i++){
gotoxy(50,y+i); printf("|");
}
gotoxy(52,5);printf("Score:");
}
void myjet(void){
int move;
int y=27;
int x_min=3;
int x_max=50;
int x=26;
gotoxy(x,27);printf("A");
while (1){
move=getch();
switch (move){
case LEFT: //좌로 이동
gotoxy(x,27);printf(" "); //왼쪽 방향키를 눌렀을 때 전에 있던 자리에는 아무것도 없음
x--; //비행기의 새로운 x좌표값
gotoxy(x,27);printf("A"); //새로운 비행기 자리에 비행기 출력
if (x==0){ //맨 왼쪽에 갔을 때 맨 오른쪽으로 나타남
gotoxy(x,27);printf(" ");
x=50;
gotoxy(x,27);printf("A");
}
break;
case RIGHT:
gotoxy(x,27);printf(" "); //오른쪽 방향키를 눌렀을 때 전에 있던 자리에는 아무것도 없음
x++; //비행기의 새로운 x좌표값
gotoxy(x,27);printf("A"); //새로운 비행기 자리에 비행기 출력
if (x==50){ //맨 오른쪽에 갔을 때 맨 왼쪽으로 나타남
gotoxy(x,27);printf(" ");
x=0;
gotoxy(x,27);printf("A");
}
break;
case UP:
gotoxy(x,y-1);printf("^"); //총알 발사
break;
}
}
}
void gotoxy(int x, int y)
{
COORD Cur;
Cur.X=x;
Cur.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Cur);
}