도와주세요!!
c언어 초보구요ㅜㅜ
지렁이 게임만들고있는대 소스보고 수정좀 해주세요ㅠㅠ
그리구 아직완성 못했는대 완성하려면 어떤 문법 더공부해야 할지도 가치 알려주시면 감사하겠습니다..ㅎㅎ
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <Windows.h>
#include <conio.h>
#include <stdlib.h>
using namespace std;
void Movexy(int x,int y); //지렁이이동을 위한함수 o
int GameRule(); //게임 규칙을 정하는 함수 o
int ControlWorm(char key, int *x, int *y, int x_m, int y_m); //지렁이 조종하게하는 함수 o
void WormMove(); //지렁이 이동함수 o
void GameMap(); //게임 화면 o
void WormManage(); //지렁이관리함수
void Fooditem(); //지렁이 먹이생성 함수
void WormTail(); //지렁이 꼬리를 관리하는 함수
void Progress(); //게임 진행을 위해 필요한 함수
#define left 75
#define right 77
#define up 72
#define down 80
#define ESC 27
#define X_MAX 79
#define Y_MAX 24
int main()
{
GameRule();
}
void WormManage()
{
}
void GameMap()
{
int x=39,y=24;
system("cls");
printf("┌"); //위쪽
for(int i=0; i<x-2 ;i++)
{
printf("─");
}
printf("┐");
printf("\n");
for(int j = 0;j<y-2;j++) //양옆
{
printf("│");
for(int i = 0;i<x-2;i++)
{
printf(" ");
}
printf("│");
printf("\n");
}
printf("└"); //아래
for(int i=0 ; i<x-2 ; i++)
{
printf("─");
}
printf("┘");
}
int GameRule()
{
int Userinput;
Movexy(15,10);
printf("게임을 시작하시려면 1 종료하시려면 0 을입력하시오 : ");
scanf("%d",&Userinput);
if(Userinput==1)
{
WormMove();
}
else
{
printf("종료합니다.\n");
return 0;
}
}
void WormMove()
{
system("cls");
char key;
int x=10, y=10;
do
{
Movexy(x,y);
printf("■");
key = getch();
do
{
if(ControlWorm(key, &x, &y, X_MAX, Y_MAX)==1)
{
return;
}
Movexy(x,y);
printf("■");
Sleep(50);
system("cls");
Movexy(1,1);
GameMap();
}
while(!kbhit());
}
while(key!=27);
}
int ControlWorm(char key, int *x1, int *y1, int x_m, int y_m) //지렁이 조종함수
{
int x =30, y=10;
switch(key)
{
case left : //left
(*x1)-=2;
if(*x1<1)
{
*x1=1;
Movexy(x,y);
printf("GAME OVER\n");
return 1;
}
break;
case right : //right
(*x1)+=2;
if(*x1>x_m)
{
*x1=x_m;
Movexy(x,y);
printf("GAME OVER\n");
return 1;
}
break;
case up ://up
(*y1)--;
if(*y1<1)
{
*y1=1;
Movexy(x,y);
printf("GAME OVER\n");
return 1;
}
break;
case down : //down
(*y1)++;
if(*y1>y_m)
{
*y1=y_m;
Movexy(x,y);
printf("GAME OVER\n");
return 1;
}
break;
default :
return 0;
}
}
void Movexy(int x, int y)
{
COORD Pos = { x-1, y-1 };
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}