3. 프로그램 소개
프로그램 명칭
대항해시대 무역 미니게임
제작에 사용된 언어 & 툴
C, Visual Studio 2022
프로그램 설명
이 프로그램은 일본 코에이의 비디오 게임인 대항해시대
시리즈에서 착안하여 제작된 간단한 무역 미니게임입니다.
초기 자금을 받고 랜덤 국가에서 상품을 구매, 판매를 선
택할 수 있으며, 구매한 상품 보기, 다음 항구, 게임 종
료 메뉴의 총 5가지 선택지를 고를 수 있습니다.
4. 프로그램 제작 이유
C언어 수강을 통하여 습득한 배열, 반복 문, 조건 문, 사용
자 정의 함수, 포인터, 구조체 등의 지식을 게임 프로그램
제작을 통하여 다양하게 사용하여 복습하고자 한다.
Visual Studio를 사용한 프로그램을 콘솔로 나타내야 하
는 한계로 인하여 텍스트만으로 진행할 수 있는 게임을 제
작하고자 하였다.
6. 소스코드 - 구조체
구조체 구현 구조체 포인터 & INDEX 부여
구조체 멤버에 문자열 대입
게임에서 사용될 구조체를 포인터와 함께 구현하
였으며 반복문을 통하여 index 값을 부여하였다.
strcpy를 이용하여 구조체 멤버에 게임에 필요한
정보를 대입시켜주었다.
7. 소스코드 - 함수
선언된 사용자 정의함
수
게임 진행에 필요한 화면 출력, 가격 정보, 시세 변경, 난이도 선택,
구매, 판매 기능 등을 사용자 정의함수로 제작하여 각각의 기능을 구
현하였다.
8. 소스코드 – 메인 함수
메인 함수
게임 개요 함수, 난이도 선택 함수가 실행되며, do-while 내부
while의 내부에 있는 트레이드(교역) 함수가 실행된다.
10회의 국가 변경이 발생한다면 게임 종료와 관련된 함수들이
실행된다.
9. 소스코드 – F_TRADE 함수
사용자 정의함수 “f_trade”
게임의 주요 진행 화면을 구현하며, 게임 내 기능들을 사용할 수
있도록 제작된 함수이다.
Scanf로 입력을 받아 switch-case 문으로 수행할 행동을 처리
한다.
10. 소스코드 – 시세 변경 함수
사용자 정의함수 “f_level_random_price”
게임내 등장하는 상품의 가격을 난이도 별로 변화시키는 함수이
다.
정의된 범위에서 랜덤 값을 추출하여 저장하며 저장된 값을 연
산하여 시세가 변동되게 하였다.
11. 게임 플레이 화면
인트로 화면
선택한 난이도와 초기 자금 출력 화면
난이도 선택 화면
12. 게임 플레이 화면
상품 정보 & 행동 선택 화면 구매 행동 선택 화면
판매 행동 선택 화면