C 언어 마 탑 게임 의 실현 코드
게임 캡 처:
 
  
  
 컴 파일 환경:VS 2017
게임 은 그림 이 필요 합 니 다.원 하 는 것 이 있 거나 게임 에 대해 어떤 견 해 를 가지 고 있 는 지 제 QQ 2985486630 토론 을 추가 할 수 있 습 니 다.잠시 대답 이 없 으 면 블 로그 아래 에 글 을 남 길 수 있 습 니 다.그때 보 겠 습 니 다.번 거 로 우 시 면 바로 다운로드 하 세 요.
압축 해제 후 sln 파일 을 누 르 면 바로 실행 할 수 있 습 니 다.
다음은 제 가 게임 의 주요 기능 과 실현 방식 을 소개 하 겠 습 니 다.
먼저 유저 의 정의 입 니 다.구조 체 를 사용 하면 이 이름 은 스스로 바 꿀 수 있 습 니 다.
struct gamerole
{
	char name[20] = "  "; //    
	int HP;	  //  
	int MP;
	int DEF;	//  
	int ATT;  //  
	int Lv;   //  
	int Exp;  //  
	int Num_Blue_Key; //     
	int Num_Yellow_Key;
}player; 
 함수:
void SetPlayer()
{
	putimage(60 * 13, 0, &Message);	
	outtextxy(60 * 13 + 12, 100, player.name);
	outtextxy(60 * 13 + 12, 180, intToString(player.Lv));
	outtextxy(60 * 13 + 12, 235, intToString(player.Exp));
	outtextxy(60 * 13 + 12, 362, intToString(player.HP));
	outtextxy(60 * 13 + 12, 425, intToString(player.MP));
	outtextxy(60 * 13 + 12, 517, intToString(player.ATT));
	outtextxy(60 * 13 + 12, 567, intToString(player.DEF));
	outtextxy(60 * 13 + 12, 689, intToString(player.Num_Yellow_Key));
	outtextxy(60 * 13 + 12, 759, intToString(player.Num_Blue_Key));
}
//       
char *intToString(int Number)
{
	int len = 0;
	
	if (Number == 0) {
		str[0] = '0';
		len++;
	}
	while (Number)
	{
		str[len++] = Number % 10+'0';
		Number /= 10;
	}
	for (int i = 0; i < len/2; i++) {
		char t = str[i];
		str[i] = str[len - i - 1];
		str[len - i - 1] = t;
	}
	str[len] = '\0';
	return str;
}
struct monster
{
	int HP;	  //  
	int ATT;  //  
	int DEF;	//  
	int Exp;  //  
};
void SetMap()
{
	for (int i = 0; i < 13; i++)
	{
		for (int j = 0; j < 13; j++)
		{
			switch (map[i][j])
			{
 
			case 0:
				putimage(j * 60, i * 60, &Wall);     // 
				break;
			case 1:
				putimage(j * 60, i * 60, &Ground);    //  
				break;
			case 2:
				putimage(j * 60, i * 60, &Blue_door);   //  
				break;
			case 3:
				putimage(j * 60, i * 60, &Yellow_door);  //  
				break;
			case 4:
				putimage(j * 60, i * 60, &Blue_Cry);     //   
				break;
			case 5:
				putimage(j * 60, i * 60, &Red_Cry);     //   
				break;
			case 6:
				putimage(j * 60, i * 60, &Blue_Key);    //   
				break;
			case 7:
				putimage(j * 60, i * 60, &Yellow_Key);   //   
				break;
			case 8:
				putimage(j * 60, i * 60, &Red_Med);     //   
				break;
			case 9:
				putimage(j * 60, i * 60, &Blue_Med);     //   
				break;
			case 10:
				putimage(j * 60, i * 60, &Small_Bat);    //   
				break;
			case 11:
				putimage(j * 60, i * 60, &Small_Wizard);   //   
				break;
			case 12:
				putimage(j * 60, i * 60, &Small_Skull);   //   
				break;
			case 13:
				putimage(j * 60, i * 60, &Big_Skull);    //   
				break;
			case 14:
				putimage(j * 60, i * 60, &Green_Slime);   //    
				break;
			case 15:
				putimage(j * 60, i * 60, &Red_Slime);    //    
				break;
			case 98:
				putimage(j * 60, i * 60, &Ladder);     //  
				break;
			case 99:
				putimage(j * 60, i * 60, &Player);     //  
				break;
			}
 
		}
	}
}
case 'w':
case 72:
if (map[playerx - 1][playery] == 1) {     //      
	map[playerx - 1][playery] = 99;
	map[playerx][playery] = 1;
	playerx--;
}열쇠 라면,대응 하 는 열쇠 수 를 1 로 늘 려 라.
문 이 라면 해당 색상 의 열쇠 가 충분 한 지,충분 하 다 면 열쇠 수 를 1 로 줄 이 고 해당 위치 에 있 는 문 을 공 터 로 만든다.
회복 제 라면,먹고 나 면 생명 이 늘어난다.
수정 이 라면 수정의 색깔 에 대응 하 는 속성 을 추가 합 니 다.
몬스터 를 만 났 을 때 전투 가 일어나 서로 다른 몬스터 를 분리 처리 합 니 다.다음은 작은 박쥐의 처리 입 니 다.
case 10:
    ID = MessageBox(hwnd, "   ", "    ?", MB_YESNO);
    if (ID == IDYES)
	{
	  if (VS(player.HP, player.ATT, player.DEF, Small_Bat_Pro.HP, Small_Bat_Pro.ATT, Small_Bat_Pro.DEF)) {
			player.Exp += Small_Bat_Pro.Exp;
			return 1;
		  }	
	}
	break; 
 전투 성공 여 부 를 계산 하 는 VS 함수 가 있 습 니 다.성공 하면 해당 속성 을 추가 하고 실패 하면 이 길 수 없 는 창 이 팝 업 됩 니 다.
int VS(int playHP, int playATT, int playDEF, int monHP, int monATT, int monDEF)
{
	while (playHP > 0 || monHP > 0)
	{
		monHP -= (playATT - monDEF);
		if (monHP < 0)
			break;
		playHP -= (monATT - playDEF);
	}
	if (playHP > 0) {
		player.HP = playHP;
		return 1;
	}
		
	else {
		MessageBox(hwnd, "", "   ", MB_YESNO);
		return 0;
	}
}
SetMap(); //      
SetPlayer(); //        마지막 으로 모든 코드 를 더 하면 주석 에서 말 하 는 것 도 비교적 명확 하 다.
#include <stdlib.h>
#include <graphics.h>
#include <windows.h>
#include<conio.h>
#include<graphics.h>
#include<windows.h>
#include <stdio.h>
 
void initgamePicture();  //      
void SetPlayer();    //      
void initPlayer();   //       
void SetMap();     //      
char *intToString(int Number); //         
void playGame();     //    
int Combat(int x);
int VS(int playHP, int playATT, int playDEF, int monHP, int monATT, int monDEF);
 
int playerx, playery;
char str[20] = "";
//  1
int map[13][13] = {
	{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
	{ 0, 98, 1, 14, 15, 14, 1, 1, 1, 1, 1, 1, 0 },
	{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
	{ 0, 8, 1, 1, 2, 1, 0, 5, 6, 1, 0, 1, 0 },
	{ 0, 1, 12, 1, 0, 1, 0, 4, 8, 1, 0, 1, 0 },
	{ 0, 0, 2, 0, 0, 1, 0, 0, 0, 14, 0, 1, 0 },
	{ 0, 6, 1, 1, 0, 1, 3, 10, 11, 10, 0, 1, 0 },
	{ 0, 1, 13, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0 },
	{ 0, 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0 },
	{ 0, 1, 1, 1, 0, 0, 14, 0, 0, 0, 14, 0, 0 },
	{ 0, 8, 1, 6, 0, 7, 1, 6, 0, 1, 10, 1, 0 },
	{ 0, 8, 1, 6, 0, 1, 99, 1, 0, 14, 9, 14, 0 },
	{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};
IMAGE Wall, Ground, Green_Slime, Red_Slime, Blue_Cry, Red_Cry, Blue_Key, Yellow_Key,
Red_Med, Blue_Med, Ladder, Small_Skull, Big_Skull, Small_Bat, Small_Wizard,
Blue_door, Yellow_door, Player, Message;
HWND hwnd;
struct gamerole
{
	char name[20] = "  "; //    
	int HP;	  //  
	int MP;
	int DEF;	//  
	int ATT;  //  
	int Lv;   //  
	int Exp;  //  
	int Num_Blue_Key; //     
	int Num_Yellow_Key;
}player;
 
struct monster
{
	int HP;	  //  
	int ATT;  //  
	int DEF;	//  
	int Exp;  //  
};
struct monster Green_Slime_Pro = { 50,10,12,100 };  //         
struct monster Red_Slime_Pro = { 100, 50, 12, 500 }; //      
struct monster Small_Wizard_Pro = { 100, 30, 9, 400 };//     
struct monster Small_Bat_Pro = { 20, 10, 9, 50 };     //     
struct monster Small_Skull_Pro = {30, 20, 10, 200};  //     
struct monster Big_Skull_Pro = {60, 50, 25, 300};   //     
 
 
int main()
{
	initPlayer();
	hwnd = initgraph(60 * 14, 60 * 13);
	initgamePicture();
 
	while (1) {
		SetMap();
		SetPlayer();
		playGame();
	}
 
	return 0;
}
 
/*
*      
*/
void SetPlayer()
{
	putimage(60 * 13, 0, &Message);	
	outtextxy(60 * 13 + 12, 100, player.name);
	outtextxy(60 * 13 + 12, 180, intToString(player.Lv));
	outtextxy(60 * 13 + 12, 235, intToString(player.Exp));
	outtextxy(60 * 13 + 12, 362, intToString(player.HP));
	outtextxy(60 * 13 + 12, 425, intToString(player.MP));
	outtextxy(60 * 13 + 12, 517, intToString(player.ATT));
	outtextxy(60 * 13 + 12, 567, intToString(player.DEF));
	outtextxy(60 * 13 + 12, 689, intToString(player.Num_Yellow_Key));
	outtextxy(60 * 13 + 12, 759, intToString(player.Num_Blue_Key));
}
 
/*
*        
*/
void initgamePicture()
{
	loadimage(&Wall, " .jpg", 60, 60);
	loadimage(&Ground, "  .jpg", 60, 60);
	loadimage(&Green_Slime, "    .jpg", 60, 60);
	loadimage(&Red_Slime, "    .jpg", 60, 60);
 
	loadimage(&Blue_Cry, "   .jpg", 60, 60);
	loadimage(&Red_Cry, "   .jpg", 60, 60);
 
	loadimage(&Blue_Key, "   .jpg", 60, 60);
	loadimage(&Yellow_Key, "   .jpg", 60, 60);
 
	loadimage(&Red_Med, "    .jpg", 60, 60);
	loadimage(&Blue_Med, "    .jpg", 60, 60);
 
	loadimage(&Ladder, "  .jpg", 60, 60);
	loadimage(&Small_Bat, "   .jpg", 60, 60);
	loadimage(&Small_Wizard, "   .jpg", 60, 60);
	loadimage(&Small_Skull, "   .jpg", 60, 60);
	loadimage(&Big_Skull, "    .jpg", 60, 60);
 
	loadimage(&Blue_door, "  .jpg", 60, 60);
	loadimage(&Yellow_door, "  .jpg", 60, 60);
	loadimage(&Player, " .jpg", 60, 60);
	loadimage(&Message, "info.jpg");
}
 
/*
*       
*/
void initPlayer()
{
	player.Lv = 0;
	player.ATT = 50;
	player.DEF = 50;
	player.Num_Blue_Key = 0;
	player.Num_Yellow_Key = 0;
	player.HP = 500;
	player.MP = 250;
	player.Exp = 0;
	playerx = 11;
	playery = 6;
}
 
//       
char *intToString(int Number)
{
	int len = 0;
	
	if (Number == 0) {
		str[0] = '0';
		len++;
	}
	while (Number)
	{
		str[len++] = Number % 10+'0';
		Number /= 10;
	}
	for (int i = 0; i < len/2; i++) {
		char t = str[i];
		str[i] = str[len - i - 1];
		str[len - i - 1] = t;
	}
	str[len] = '\0';
	return str;
}
 
/*
*      
*
*/
void SetMap()
{
	for (int i = 0; i < 13; i++)
	{
		for (int j = 0; j < 13; j++)
		{
			switch (map[i][j])
			{
 
			case 0:
				putimage(j * 60, i * 60, &Wall);     // 
				break;
			case 1:
				putimage(j * 60, i * 60, &Ground);    //  
				break;
			case 2:
				putimage(j * 60, i * 60, &Blue_door);   //  
				break;
			case 3:
				putimage(j * 60, i * 60, &Yellow_door);  //  
				break;
			case 4:
				putimage(j * 60, i * 60, &Blue_Cry);     //   
				break;
			case 5:
				putimage(j * 60, i * 60, &Red_Cry);     //   
				break;
			case 6:
				putimage(j * 60, i * 60, &Blue_Key);    //   
				break;
			case 7:
				putimage(j * 60, i * 60, &Yellow_Key);   //   
				break;
			case 8:
				putimage(j * 60, i * 60, &Red_Med);     //   
				break;
			case 9:
				putimage(j * 60, i * 60, &Blue_Med);     //   
				break;
			case 10:
				putimage(j * 60, i * 60, &Small_Bat);    //   
				break;
			case 11:
				putimage(j * 60, i * 60, &Small_Wizard);   //   
				break;
			case 12:
				putimage(j * 60, i * 60, &Small_Skull);   //   
				break;
			case 13:
				putimage(j * 60, i * 60, &Big_Skull);    //   
				break;
			case 14:
				putimage(j * 60, i * 60, &Green_Slime);   //    
				break;
			case 15:
				putimage(j * 60, i * 60, &Red_Slime);    //    
				break;
			case 98:
				putimage(j * 60, i * 60, &Ladder);     //  
				break;
			case 99:
				putimage(j * 60, i * 60, &Player);     //  
				break;
			}
 
		}
	}
}
 
int Combat(int x)
{
	int ID;
	switch (x) {
		case 10:
			ID = MessageBox(hwnd, "   ", "    ?", MB_YESNO);
			if (ID == IDYES)
			{
				if (VS(player.HP, player.ATT, player.DEF, Small_Bat_Pro.HP, Small_Bat_Pro.ATT, Small_Bat_Pro.DEF)) {
					player.Exp += Small_Bat_Pro.Exp;
					return 1;
				}	
			}
			break;
		case 11:
			ID = MessageBox(hwnd, "     ", "    ?", MB_YESNO);
			if (ID == IDYES)
			{
				if (VS(player.HP, player.ATT, player.DEF, Small_Wizard_Pro.HP, Small_Wizard_Pro.ATT, Small_Wizard_Pro.DEF)) {
					player.Exp += Small_Wizard_Pro.Exp;
					return 1;
				}
			}
			break;
		case 12:
			ID = MessageBox(hwnd, "     ", "    ?", MB_YESNO);
			if (ID == IDYES)
			{
				if (VS(player.HP, player.ATT, player.DEF, Small_Skull_Pro.HP, Small_Skull_Pro.ATT, Small_Skull_Pro.DEF)) {
					player.Exp += Small_Skull_Pro.Exp;
					return 1;
				}
			}
			break;
		case 13:
			ID = MessageBox(hwnd, "     ", "    ?", MB_YESNO);
			if (ID == IDYES)
			{
				if (VS(player.HP, player.ATT, player.DEF, Big_Skull_Pro.HP, Big_Skull_Pro.ATT, Big_Skull_Pro.DEF)) {
					player.Exp += Big_Skull_Pro.Exp;
					return 1;
				}
			}
			break;
		case 14:
			ID = MessageBox(hwnd, "      ", "    ?", MB_YESNO);
			if (ID == IDYES)
			{
				if (VS(player.HP, player.ATT, player.DEF, Green_Slime_Pro.HP, Green_Slime_Pro.ATT, Green_Slime_Pro.DEF)) {
					player.Exp += Green_Slime_Pro.Exp;
					return 1;
				}
			}
			break;
		case 15:
			ID = MessageBox(hwnd, "      ", "    ?", MB_YESNO);
			if (ID == IDYES)
			{
				if (VS(player.HP, player.ATT, player.DEF, Red_Slime_Pro.HP, Red_Slime_Pro.HP, Red_Slime_Pro.HP)) {
					player.Exp += Green_Slime_Pro.Exp;
					return 1;
				}
			}
			break;
 
	}
	return 0;
}
 
int VS(int playHP, int playATT, int playDEF, int monHP, int monATT, int monDEF)
{
	while (playHP > 0 || monHP > 0)
	{
		monHP -= (playATT - monDEF);
		if (monHP < 0)
			break;
		playHP -= (monATT - playDEF);
	}
	if (playHP > 0) {
		player.HP = playHP;
		return 1;
	}
		
	else {
		MessageBox(hwnd, "", "   ", MB_YESNO);
		return 0;
	}
}
void playGame()
{
	while (1)
	{
		char ch = _getch();
		switch (ch) {
			case 'w':
			case 72:
				if (map[playerx - 1][playery] == 1) {     //      
					map[playerx - 1][playery] = 99;
					map[playerx][playery] = 1;
					playerx--;
				}
				else if (map[playerx-1][playery]== 6) {   //       
					player.Num_Blue_Key++;
					map[playerx - 1][playery] = 99;
					map[playerx][playery] = 1;
					playerx--;
				}
				else if (map[playerx - 1][playery] == 7) {   //       
					player.Num_Yellow_Key++;
					map[playerx - 1][playery] = 99;
					map[playerx][playery] = 1;
					playerx--;
				}
				//      
				else if (map[playerx - 1][playery] == 10 || map[playerx - 1][playery] == 11 ||
						 map[playerx - 1][playery] == 12 || map[playerx - 1][playery] == 13 ||
						 map[playerx - 1][playery] == 14 || map[playerx - 1][playery] == 15)
				{
					int x = Combat(map[playerx - 1][playery]);
					if (x == 1) {
						map[playerx - 1][playery] = 99;
						map[playerx][playery] = 1;
						playerx--;
					}
				}
				//    
				else if (map[playerx - 1][playery] == 8 || map[playerx - 1][playery] == 9) {
					if (map[playerx - 1][playery] == 8)
						player.HP += 200;
					else
						player.HP += 500;
					map[playerx - 1][playery] = 99;
					map[playerx][playery] = 1;
					playerx--;
				}
				//   
				else if (map[playerx - 1][playery] == 2 || map[playerx - 1][playery] == 3) {
					if (map[playerx - 1][playery] == 2 && player.Num_Blue_Key) {
						player.Num_Blue_Key--;
						map[playerx - 1][playery] = 99;
						map[playerx][playery] = 1;
						playerx--;
					}
					if (map[playerx - 1][playery] == 3 && player.Num_Yellow_Key) {
						player.Num_Yellow_Key--;
						map[playerx - 1][playery] = 99;
						map[playerx][playery] = 1;
						playerx--;
					}
				}
				//    
				//   +2  
				//   +2  
				else if (map[playerx - 1][playery] == 4 || map[playerx - 1][playery] == 5) {
					if (map[playerx - 1][playery] == 4)
						player.DEF += 2;
					else if (map[playerx - 1][playery] == 5)
						player.ATT += 2;
					map[playerx - 1][playery] = 99;
					map[playerx][playery] = 1;
					playerx--;
				}
				break;
			case 's':
			case 80:
				if (map[playerx + 1][playery] == 1) {     //      
					map[playerx + 1][playery] = 99;
					map[playerx][playery] = 1;
					playerx++;
				}
				else if (map[playerx + 1][playery] == 6) {   //       
					player.Num_Blue_Key++;
					map[playerx + 1][playery] = 99;
					map[playerx][playery] = 1;
					playerx++;
				}
				else if (map[playerx + 1][playery] == 7) {   //       
					player.Num_Yellow_Key++;
					map[playerx + 1][playery] = 99;
					map[playerx][playery] = 1;
					playerx++;
				}
				//      
				else if (map[playerx + 1][playery] == 10 || map[playerx + 1][playery] == 11 ||
					map[playerx + 1][playery] == 12 || map[playerx + 1][playery] == 13 ||
					map[playerx + 1][playery] == 14 || map[playerx + 1][playery] == 15)
				{
					int x = Combat(map[playerx + 1][playery]);
					if (x == 1) {
						map[playerx + 1][playery] = 99;
						map[playerx][playery] = 1;
						playerx++;
					}
				}
				//    
				else if (map[playerx + 1][playery] == 8 || map[playerx + 1][playery] == 9) {
					if (map[playerx + 1][playery] == 8)
						player.HP += 200;
					else
						player.HP += 500;
					map[playerx + 1][playery] = 99;
					map[playerx][playery] = 1;
					playerx++;
				}
				//   
				else if (map[playerx + 1][playery] == 2 || map[playerx + 1][playery] == 3) {
					if (map[playerx + 1][playery] == 2 && player.Num_Blue_Key) {
						player.Num_Blue_Key++;
						map[playerx + 1][playery] = 99;
						map[playerx][playery] = 1;
						playerx++;
					}
					if (map[playerx + 1][playery] == 3 && player.Num_Yellow_Key) {
						player.Num_Yellow_Key++;
						map[playerx + 1][playery] = 99;
						map[playerx][playery] = 1;
						playerx++;
					}
				}
				//    
				//   +2  
				//   +2  
				else if (map[playerx + 1][playery] == 4 || map[playerx + 1][playery] == 5) {
					if (map[playerx + 1][playery] == 4)
						player.DEF += 2;
					else if (map[playerx + 1][playery] == 5)
						player.ATT += 2;
					map[playerx + 1][playery] = 99;
					map[playerx][playery] = 1;
					playerx++;
				}
				break;
			case 'a':
			case 75:
				if (map[playerx][playery - 1] == 1) {     //      
					map[playerx][playery - 1] = 99;
					map[playerx][playery] = 1;
					playery--;
				}
				else if (map[playerx][playery - 1] == 6) {   //       
					player.Num_Blue_Key++;
					map[playerx][playery - 1] = 99;
					map[playerx][playery] = 1;
					playery--;
				}
				else if (map[playerx][playery - 1] == 7) {   //       
					player.Num_Yellow_Key++;
					map[playerx][playery - 1] = 99;
					map[playerx][playery] = 1;
					playery--;
				}
				//      
				else if (map[playerx][playery - 1] == 10 || map[playerx][playery - 1] == 11 ||
					map[playerx][playery - 1] == 12 || map[playerx][playery - 1] == 13 ||
					map[playerx][playery - 1] == 14 || map[playerx][playery - 1] == 15)
				{
					int x = Combat(map[playerx][playery - 1]);
					if (x == 1) {
						map[playerx][playery - 1] = 99;
						map[playerx][playery] = 1;
						playery--;
					}
				}
				//    
				else if (map[playerx][playery - 1] == 8 || map[playerx][playery - 1] == 9) {
					if (map[playerx][playery - 1] == 8)
						player.HP += 200;
					else
						player.HP += 500;
					map[playerx ][playery- 1] = 99;
					map[playerx][playery] = 1;
					playery--;
				}
				//   
				else if (map[playerx][playery - 1] == 2 || map[playerx][playery - 1] == 3) {
					if (map[playerx][playery - 1] == 2 && player.Num_Blue_Key) {
						player.Num_Blue_Key--;
						map[playerx][playery - 1] = 99;
						map[playerx][playery] = 1;
						playery--;
					}
					if (map[playerx][playery - 1] == 3 && player.Num_Yellow_Key) {
						player.Num_Yellow_Key--;
						map[playerx][playery - 1] = 99;
						map[playerx][playery] = 1;
						playery--;
					}
				}
				//    
				//   +2  
				//   +2  
				else if (map[playerx][playery - 1] == 4 || map[playerx][playery - 1] == 5) {
					if (map[playerx][playery - 1] == 4)
						player.DEF += 2;
					else if (map[playerx][playery - 1] == 5)
						player.ATT += 2;
					map[playerx][playery - 1] = 99;
					map[playerx][playery] = 1;
					playery--;
				}
				break;
			case 'd':
			case 77:
				if (map[playerx][playery + 1] == 1) {     //      
					map[playerx][playery + 1] = 99;
					map[playerx][playery] = 1;
					playery++;
				}
				else if (map[playerx][playery + 1] == 6) {   //       
					player.Num_Blue_Key++;
					map[playerx][playery + 1] = 99;
					map[playerx][playery] = 1;
					playery++;
				}
				else if (map[playerx][playery + 1] == 7) {   //       
					player.Num_Yellow_Key++;
					map[playerx][playery + 1] = 99;
					map[playerx][playery] = 1;
					playery++;
				}
				//      
				else if (map[playerx][playery + 1] == 10 || map[playerx][playery + 1] == 11 ||
					map[playerx][playery + 1] == 12 || map[playerx][playery + 1] == 13 ||
					map[playerx][playery + 1] == 14 || map[playerx][playery + 1] == 15)
				{
					int x = Combat(map[playerx][playery + 1]);
					if (x == 1) {
						map[playerx][playery + 1] = 99;
						map[playerx][playery] = 1;
						playery++;
					}
				}
				//    
				else if (map[playerx][playery + 1] == 8 || map[playerx][playery + 1] == 9) {
					if (map[playerx][playery + 1] == 8)
						player.HP += 200;
					else
						player.HP += 500;
					map[playerx][playery + 1] = 99;
					map[playerx][playery] = 1;
					playery++;
				}
				//   
				else if (map[playerx][playery + 1] == 2 || map[playerx][playery + 1] == 3) {
					if (map[playerx][playery + 1] == 2 && player.Num_Blue_Key) {
						player.Num_Blue_Key--;
						map[playerx][playery + 1] = 99;
						map[playerx][playery] = 1;
						playery++;
					}
					if (map[playerx][playery + 1] == 3 && player.Num_Yellow_Key) {
						player.Num_Yellow_Key--;
						map[playerx][playery + 1] = 99;
						map[playerx][playery] = 1;
						playery++;
					}
				}
				//    
				//   +2  
				//   +2  
				else if (map[playerx][playery + 1] == 4 || map[playerx][playery + 1] == 5) {
					if (map[playerx][playery + 1] == 4)
						player.DEF += 2;
					else if (map[playerx][playery + 1] == 5)
						player.ATT += 2;
					map[playerx][playery + 1] = 99;
					map[playerx][playery] = 1;
					playery++;
				}
				break;
		}
		SetMap(); //      
		SetPlayer(); //        
	}
}이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.