ABOUT ME

https://github.com/chongin12 chongin12@naver.com

Today
Yesterday
Total
  • [보고서] 20160511~20160522 개인프로젝트
    기타문서 2016. 5. 22. 15:22
    반응형


    2016 Layer7 개인프로젝트.hwp

    01.c

    개인 프로젝트.exe

     






    2016 Layer7 개인프로젝트(자유주제)

    보고서

     

    프로젝트 명

    원카드 구현

     



    주제

    자유 주제

    프로젝트 명

    원카드 구현

    만든 이

    이름 : 정종인

    언어

    C

    [본문]

    1. 작품 개요

    . 개발 동기 및 기대효과

    A. 개발 동기

    제가 처음 원카드를 접한건 초등학교 2학년때, 친형으로부터였습니다. 그때부터 저는 원카드에 푹 빠지게 되었습니다. 다른 카드게임들과는 다르게 많은 사람들과 같이 할 수 있고, 저에게 매우 재밌었습니다. 중학교 3학년 여름방학, 처음 C를 접한 이후로 그동안 구현해보고 싶었던 많은 게임들을 구현해보았습니다. 그리고 이젠 평소 좋아 하던 원카드라는 게임을 구현해보고 싶었습니다. 또다른 동기는 그동안 갈고닦은 제 C언어 실력을 제 스스로 평가해보고싶다는 느낌이 들었습니다. 이번 기회를 통해서 그동안 잘 해왔는지, 부족한 것은 무엇인지 나름대로 평가해보고싶어서 이 주제로 정 하게 되었습니다.

     

    B. 기대효과

    원카드 구현을 통해, 저의 C언어 실력이 어느정도 향상되었는지, 아직 부족한 점은 무엇인지, 아직 모르는 부분은 무엇인지, 자신의 강점이 무엇인지를 찾을 수 있을 것 입니다.

     

    . 개발 도구

    Microsoft Visual Studio 2015 Community

     

    . 제작 과정

    날짜

    진행과정

    2016. 5. 11

    프로젝트 제작 시작

    5. 13

    주제 결정

    5. 14

    게임 실행 과정 밑그림 및 사용할 변수 선언

    5. 15

    메인함수 제작, 기본틀 다지기, 카드 분배, 카드 무작위 배열 구현

    5. 16

    사용할 함수들 정리, 틀 세우기, basic_interface 구현

    5. 17

    현재 카드 표시, 드로우, 플레이어의 카드 선택 후 내기 구현

    5. 18

    컴퓨터의 차례에서 자동으로 카드가 내지도록 구현

    5. 19

    카드 섞기 구현, 잔오류 발견 후 일부 수정

    5. 20

    잔오류 대부분 수정

    5. 21

    오류 모두 수정, 프로그램 완성.

    5. 22

    보고서 작성

     

    2. 작품 소개

    . 사용자 정의 함수

    함수명

    역할

    int main

    메인함수

    void basic_interface

    각 턴마다 기본적으로 콘솔창에서 표시됨

    void THIS_TIME_CARD

    현재 모든 플레이어들에게 표시되고 있는 카드를 화면에 출력

    int draw

    카드 한 장을 드로우한다.

    int pick_card

    카드를 낼지, 드로우할지 결정

    void shake

    카드 섞기

     

    . 주요 변수

    변수명

    역할

    card[5]

    card[0]~card[3] : 각 플레이어의 카드 개수.

    card[4] : 남은카드 개수

    (player)_card_stack[52]

    자신이 갖고 있는 카드를 스택을 이용해서 구현

    left_card[52]

    남은 카드를 스택을 이용해서 구현

    this_time_card

    현재 모든 플레이어들에게 표시되고 있는 카드

    used_card[52]

    쓴 카드. shake()를 하면 이 배열을

    left_card[52]에 무작위로 넣는다.

    alive[3]

    각 플레이어가 죽었는지, 살았는지 저장.

    . 실행 화면

    <1> 인트로

    <2> 기본 룰

     

    <3> 카드 분배/무작위 배열

    <4> basic_interface + THIS_TIME_CARD + pick_card (+ draw)함수들 총집합

     

    <5> 플레이어는 pick_card에서 카드를 직접 고를 수 있다.

    방향키 상 : 카드 내기

    방향키 하 : 드로우

    방향키 좌, : 자신이 갖고있는 카드중 선택 가능

     

    <6> 파산

     

    3. 느낀점

    원카드 구현, 상당히 어려웠습니다. 처음 생각한것보다 화면이 깨끗하게 안나왔고, 중간중간 잔오류들이 너무 많아서 당황한 적도 있었습니다. 하지만 이렇게 프로젝트를 완성하니, 저의 C언어 능력이 많이 향상된 것같아서 기분이 좋았고, 그동안 배웠던 것을 최대한 활용해서 구현했기 때문에 그동안 배웠던 것은 확실히 짚고 넘어간 것 같습니다. 하지만 제가 아직 부족한 부분이 많다는 것을 깊게 깨달았습니다. 여러모로 많이 도움 된 프로젝트였던 것 같습니다.

    반응형

    댓글

Designed by Tistory.