오늘의하루

C언어 고양이 뽑기 게임 만들기 본문

코딩공부

C언어 고양이 뽑기 게임 만들기

오늘의하루_master 2022. 4. 20. 23:26

C언어로 고양이 5마리를 뽑는 게임을 만든다.

 

조건

  • 5마리의 고양이가 있다.
  • 아무 키나 눌러서 랜덤으로 고양이를 뽑는다.
  • 중복으로 고양이가 뽑힐 수 있다.
  • 고양이는 이름, 나이, 성격, 난이도를 가지고 있다.
#include <stdio.h>
#include <time.h>

typedef struct{
	char * name;
	int age;
	char * character;
	int level;
}CAT;

int collection[5] = {0,0,0,0,0}
//현재 보유하고 있는 고양이

CAT cats[5];
//전체 고양이 리스트

void initCats();
//고양이 정보

void printCat(int selected);

int main(void)
{
	srand(time(NULL));
	
	initCats();
	int count = 0;

	while(1)
	{
		printf("어느 고양이의 집사가 될까요?\n아무 키나 눌러 확인해보세요.");
		getchar();
		count = count + 1;
		int selected = rand() % 5;
		printCat(selected);
		collection[selected] = 1;
		printf("%d번째 시도하였습니다.", count);
        
		int collectAll == checkCollection();
		if (collectAll == 1)
		{
			break;
		}
	}

	return 0;
}

void initCats()
{
	cats[0].name = "치즈";
	cats[0].age = 2;    
	cats[0].character = "온순함"    
	cats[0].level = 1;
    
    	cats[1].name = "양말";
	cats[1].age = 4;    
	cats[1].character = "사나움"    
	cats[1].level = 5;
    
    	cats[2].name = "고등어";
	cats[2].age = 1;    
	cats[2].character = "엉뚱함"    
	cats[2].level = 3;
    
    	cats[3].name = "하양이";
	cats[3].age = 5;    
	cats[3].character = "소심함"    
	cats[3].level = 2;
    
    	cats[4].name = "루루";
	cats[4].age = 2;    
	cats[4].character = "귀여움"    
	cats[4].level = 2;
}

void printCat(int selected)
{
	printf("\n\n === 당신은 아래 고양이의 집사가 되었습니다. === \n\n");
	printf("이름   : %s\n", cats[selected].name);
	printf("나이   : %d\n", cats[selected].age);
	printf("성격   : %s\n", cats[selected].character);
	printf("난이도 : ");

	for(int i = 0; i < cats[selected].level; i++)
	{
		printf("%s","★");
	}    
	printf("\n\n);    
}

int checkCollection()
{
	int collectAll = 1;

	printf("\n\n === 보유한 고양이 목록입니다. ===\n\n")
	for(int i = 0; i < 5; i++)
	{
		if(collection[i] == 0)
		{
			printf("%10s","(빈박스)");
			collectAll = 0;
		}
		else
		{
			printf("%10s",cats[i].name);
		}
	}
	printf("\n\n ==========================================\n\n");
	if (collectAll == 1)
	{
		printf("\n\n축하합니다. 모든 고양이를 모았습니다.\n\n");
	}
	return collectAll;
}
Comments