디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

C언어로 리듬게임 만든다던 중붕이 과제 완료 했다.......SOURCE

ㅇㅇ갤로그로 이동합니다. 2019.05.15 16:11:43
조회 96413 추천 587 댓글 966

너네 어제부터 학교 과제로 리듬게임 만든다고 개지랄하던 중붕이 한새끼 기억나냐??ㅋㅋㅋ 19학번 중붕이 드디어 완성했다... 이제 이 겜을 만들기까지의 과정을 여기에 기록하도록 하겠음






viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fee80fa11d028315a8efe524a7018c72c9aa2b29d1c978bc30b59949f4a412d6875fa65760fcaaf6f6ae249548570c1b2430a5eb7de6691b02b


우선 헤더파일은 이렇게 선언했는데 이거 헤더파일이 어떤 역할을 하는 건지 잘 모르겠다;; 그냥 구글링 해가지고 내가 필요할 것 같은 함수들에 포함된 헤더들 긁어온거라서.. 혹시 아는 중붕이들 있으면 댓글로 좀 알려줘라..


일단 title1[]은 UI를 구성해주는 문자열이고, score이랑 combo는 말 그대로 점수랑 콤보 세주는 정수형 변수, akbo[] 문자열은 내가 채보를 한 악보라고 할 수 있음






viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fee80fa11d028315a8efe524a7018c72c9aa2b29d1c978bc30b59949f4a4169382492637209cdadbe82ee428d0deb95aa747df55de4


start()함수는 처음 리듬게임의 타이틀 화면을 출력해주는 함수로 사용했음 이거 생각보다 비쥬얼 괜찮더라ㅋㅋ





viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fee80fa11d028315a8efe524a7018c72c9aa2b29d1c978bc30b59949f4a4169382492637209cdadbe82e01dd858bbcffc757df55de4


title()은 게임의 UI를 출력해주는 함수야 이게 출력을 하면..




viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fee80fa11d028315a8efe524a7018c72c9aa2b29d1c978bc30b59949f4a4169382492637209cdadbe82bc158a5dbfc8ab727df55de4



이런식으로 출력되게 돼. 혹시 여기 출력 화면에서 이 코드가 어떻게 짜여져있는지 알아챈 중붕이 있어??ㅋㅋ





viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fee80fa11d028315a8efe524a7018c72c9aa2b29d1c978bc30b59949f4a4169382492637209cdadbe82e046880ab09cfe267df55de4


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fee80fa11d028315a8efe524a7018c72c9aa2b29d1c978bc30b59949f4a4169382492637209cdadbe82ea468a0fbeccf7297df55de4



여기는 리듬게임의 가장 중요한 알고리즘인 입력 및 판정을 해주는 함수야. 우선 kbhit() 함수로 상시 대기로 입력을 받고 (여기는 입력이라기 보다는 키보드가 눌렸는지 안눌렸는지 유무만 판별해서 0이나 1을 출력해주는 것이 가까워) 여기서 제시한 판정이 맞았다면 score 변수의 값을 올려주고, 콤보를 증가시켜줘.


근데, 노트를 너무 성급하게 눌러서 타이밍을 못 맞춘 경우도 생각해야겠지?? 그래서 만약 akbo 문자열 8번째에 0이 있다면, 점수를 지우고 스코어를 50씩 지우고 콤보를 0으로 초기화 하는 방향으로 코드를 작성했어






viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fee80fa11d028315a8efe524a7018c72c9aa2b29d1c978bc30b59949f4a4169382492637209cdadbe82ed118d59bf9eae237df55de4


press()함수는 배열들은 1칸씩 밀어주는 함수로 선언했어


너네들도 알다시피 C언어는 프레임 단위로 무언갈 밀어주는 게 불가능해.. 그래서 내가 고안한 방법이 배열을 1칸씩 밀어주는거야. 이렇게 하면, 사용자가 보았을 때는 노트가 1칸씩 밀리는 것처럼 보일 수 있겠지??





viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fee80fa11d028315a8efe524a7018c72c9aa2b29d1c978bc30b59949f4a4169382492637209cdadbe82ec168b0deacff6717df55de4

viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fee80fa11d028315a8efe524a7018c72c9aa2b29d1c978bc30b59949f4a4169382492637209cdadbe82ee17d80ebf99ab247df55de4




자! C언어에서 실제로 실행되는 부분인 main()함수를 이제 적기 시작했어


일단 start()함수를 선언하고, system(cls); 를 선언하여 콘솔 화면을 전부 다 지워주고, title()을 선언하고 음악을 재생하기 시작하지


일단 게임 화면에서는 배열을 전체 다 출력하지 않아. 배열을 일부만 출력해주고, 배열을 한칸씩 옮긴다음에 다시 배열을 일부만 출력해주는 방향으로 가는거지.


그 다음에는 점수와 콤보를 출력해주지 그런 다음에는 key()함수로 사용자가 입력을 했는지, 안했는지 판별하고 점수를 부여해


만약, 게이머가 키을 아예 입력 안했다면 어떻게 할까? key()함수에서도 인식 못하고 점수도 변동이 없겠지??


그래서 만약 akbo 문자열의 2번째 값이 0이라면 콤보를 0으로 만들고, 점수를 50점씩 깎는 방향으로 코드를 작성했어.


또한, 콤보가 각각 10콤보, 50콤보, 100콤보, 150콤보, 200콤보를 달성한다면 콤보 수를 출력해주는 이벤트도 작성했어


그 다음에는 press()함수로 악보를 각각 1칸씩 밀어주지


이런저런 일련의 알고리즘이 전부 다 끝나면, 100밀리세컨드를 쉬고 다시 반복을 해.



만약 소스가 궁금하다면,


https://drive.google.com/file/d/1GuO6D5L8_yK-xwTlaZpvD37neqaIGj9T/view?usp=sharing


여기서 소스를 다운 받을 수 있어. 또한, 음악이 정상적으로 재생되게 하려면 C드라이브 최상위 트리에 asdf.wav파일을 배치해야돼. asdf.wav 파일을 다운 받고 싶으면


https://drive.google.com/file/d/16BvMAQlCl0zAtkgczCBnZv8ZYh_40aAC/view?usp=sharing


여기로 들가서 다운 받으면 돼 (노래 - Bruno Mars - The Lazy Song)



후... 학교 들어오고나서 1학년 제일 처음 프로젝트 (C언어로 자유주제 개발 및 발표)를 받은거라 더 열심히 한 것 같아ㅋㅋ 만약 이런 거랑 비슷한 과제가 들어온다면 난 이것 만큼이나 정성스레 코드를 짤 수 있을까..? 이런 게임은 처음 만들어 보는데 생각보단 잘 만들어 진 것 같아.. 암튼 긴 글 봐줘서 고맙고 너네들도 즐겜해라 ㅂㅂ




자고 일나니까 댓글존나 달렷네ㅋㅋ 영상 좀 올려달라던 중붕이 존나 많아서 녹화해서 올린다







ㄹㅇ 좆같이 못치는건 걍 넘어가고 보다시피 판정 구현에 너무 빨리쳐도 실패, 너무 느리게 쳐도 실패로 넣음 ㅇㅇ 밑에 !10콤보! 는 애미 시발ㅋㅋㅋ 50콤보를 어떻게 못넘어가냐ㅋㅋㅋㅋㅋㅋㅋㅋㅋ


후... 개애미 뒤진 좆같은 언어 빨리 C++ 이나 자바로 넘어가던가 해야지ㅋㅋ 나중엔 파이썬으로 딥러닝이나 배워봐야겠다


아니 그보다 한번 내 글 읽어봤는데 말투 왜케 띠껍냐??ㅋㅋ 어제 밤에 과제하다가 대가리가 삐꾸났나ㅋㅋ



출처: 중세게임 갤러리 [원본보기]

추천 비추천

587

고정닉 253

284

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 연예인 안됐으면 어쩔 뻔, 누가 봐도 천상 연예인은? 운영자 24/06/17 - -
15219 실시간 머구바갤 범죄현장... [543] Ralen갤로그로 이동합니다. 19.05.22 83461 1332
15218 하얀색곰과 검은색곰의 싸움 [890] 마셀린갤로그로 이동합니다. 19.05.21 100306 1134
15217 바젤기우스+디오라마 만들어 봤어 형들 [157] 취미맨갤로그로 이동합니다. 19.05.21 26518 173
15216 10년간 노오력으로 한국인 최초 독일 반도네온 제작가 자격증 딴게 자랑 [2039] 존윌리엄스갤로그로 이동합니다. 19.05.20 111502 1962
15215 [데이터 주의] 펌프 발판 만들었다 + 과정 및 후기 [213] Biancashew갤로그로 이동합니다. 19.05.20 43075 300
15214 디동여지도 야경 추천출사지 -서울편 [272] 커여운여고생눈눈갤로그로 이동합니다. 19.05.18 52863 655
15213 약스압) 아이언맨 피카츄 클레이 만들었는데 올려봅니당 외 [323] Tapclay갤로그로 이동합니다. 19.05.17 51520 373
15212 사업 말아먹고 학원차려서 빚 갚아 나가는 게 자랑 (스압) [642] 이과두주(121.128) 19.05.17 135839 1540
15211 슦과귀브쟝의 전국일주 -0~21편- [116] 곤충남갤로그로 이동합니다. 19.05.16 28556 93
15209 초콜라타 실내화 만듦. [433] 수염쇼타(211.59) 19.05.16 51359 313
C언어로 리듬게임 만든다던 중붕이 과제 완료 했다.......SOURCE [966] ㅇㅇ갤로그로 이동합니다. 19.05.15 96413 587
15207 (군대만화) KCTC에서 군생활 13편 -중계소 습격사건 (1) - [179] 전문대항군갤로그로 이동합니다. 19.05.15 65919 177
15206 오늘 주웠던 그 댕댕이 살아났습니다 [880] DoingGoodToAll갤로그로 이동합니다. 19.05.14 101039 2155
15205 퍙붕이 간첩신고했는데 경찰와서 잡아감 [1083] 펫티쉬갤로그로 이동합니다. 19.05.14 127201 1280
15204 방금 일어난 달밤의 폭주 빌런들 정리글 [557] 화이팅!!갤로그로 이동합니다. 19.05.13 73131 822
15203 볼트로 작은 사냥용 칼만들기 [273] 대장장이코호보갤로그로 이동합니다. 19.05.13 59604 392
15202 단순 기록에 가까운 남행사진 올려봅니다.... (파리) [183] ㅇㅇ(14.161) 19.05.11 39899 300
15201 리오레우스 피규어 만들었다 형들 [221] 취미맨갤로그로 이동합니다. 19.05.10 44114 255
15200 별 일주운동 (별궤적) 빌런[스압] [348] elnath갤로그로 이동합니다. 19.05.10 40973 808
15199 [스압]데드풀+피카츄 1/4 Scale 피규어 제작기 by 휴래곤 [328] Hyuragon갤로그로 이동합니다. 19.05.09 42549 700
15198 (스압,데이터) 히나비타X코코나츠 SSM라이브, 머리식히고 쓰는 감상문 [367] COCONA.갤로그로 이동합니다. 19.05.09 19029 137
15197 진급에 미친 남자 [551] 성성쟝갤로그로 이동합니다. 19.05.08 163044 1989
15196 원더우먼을 그렸습니다. (디지털페인팅) [520] 박로스갤로그로 이동합니다. 19.05.08 58546 810
15195 공룡아바타끼고 스쿼드로 민속촌 다녀온 후기 [410] 꼬마키`갤로그로 이동합니다. 19.05.07 91210 1202
15193 악몽꿔서 일어나서 파병다녀온썰 풀어줌 -스왑- [596] leeGuard(114.129) 19.05.06 81012 1651
15192 아이스크림 막대로 만들어 봤습니다 [469] 흙손갤로그로 이동합니다. 19.05.04 81359 648
15191 약스압) 시그노로 그린 그림들 몇개 외 [281] ㅇㅇ(182.209) 19.05.03 47530 517
15190 응원봉 배터리 충전식으로 개조 후기 [646/1] ㅇㅇ(175.223) 19.05.03 107962 765
15189 후모후모 모아온 이야기 [737] 빅후모후모맨갤로그로 이동합니다. 19.05.02 47158 422
15188 학생들 와서 오로라 사진 보구가 [534] ㅇㅇ(222.101) 19.05.02 71615 1266
15187 500만원도 념글보내주나요...?.jpg [755] ㅇㅇ(182.172) 19.05.01 113841 1041
15186 (스압)야마하페스티벌 다녀온 후기-1~3(完) [110] 하얀괴물갤로그로 이동합니다. 19.04.30 31086 108
15185 나무젓가락 바스티온 [349] 화물미는할배갤로그로 이동합니다. 19.04.30 59260 735
15184 자작 드래곤 조형 완성(+디오라마) [289] 숨겨진속도갤로그로 이동합니다. 19.04.29 35352 560
15183 나무젓가락으로 검 거치대를 만들어 보았습니다. [206] 대장장이코호보갤로그로 이동합니다. 19.04.29 43674 324
15182 치아교정하러 가는 만화 [1060] 이삭토스트갤로그로 이동합니다. 19.04.27 133401 2604
15181 3주동안 일하다가 집에 온 만화 [464] 뽈쟁이갤로그로 이동합니다. 19.04.26 158183 1858
15180 (용량주의) 싱글벙글 현실철권 모음.gif [548] 강만갤로그로 이동합니다. 19.04.26 117633 1916
15179 초대형만든 진붕이 완성했다 [470] MATOTUNA갤로그로 이동합니다. 19.04.25 66861 379
15178 데이터) [그림] 마노 생일 기념 그림 + 비둘기 요리 [1401] 리와갤로그로 이동합니다. 19.04.25 71108 652
15177 [교토 벚꽃 여행] 4일차 (完) [241] 고기집아들갤로그로 이동합니다. 19.04.24 44757 315
15176 현실 여동생 만화!! [809/3] 샄늙갤로그로 이동합니다. 19.04.24 154356 1645
15175 (봄날 기념) 벚꽃 죽이기 [371] 죠스몬갤로그로 이동합니다. 19.04.23 58195 629
15174 우여곡절 끝에 만든 아메바 페이즐리 페인팅 기타 제작 후기.. [317] 히데갤로그로 이동합니다. 19.04.23 29610 351
15173 [짐승친구들] 72화 - 짐벤져스 : 리벤지 게임(上) [191] ryoxius갤로그로 이동합니다. 19.04.22 56998 265
15172 [스압] 컴붕이350KG 아케이드 게임기 11KG으로 줄여보았다. [272] 런쿠스틱갤로그로 이동합니다. 19.04.22 54040 630
15171 비타 구입 반년째… 비타가 내 「삶」을 바꿨다…… [860] 긍정(175.223) 19.04.20 104913 845
15170 [스압] 4월 13일 오사카 숙소없이 아이카츠 밤샘 교류회 후기 [684] JSJtl갤로그로 이동합니다. 19.04.19 49438 304
15169 무려 6,000장 레고 스톱모션 (레고무비2에서 가장 비싼 제품) [201] 잭PD갤로그로 이동합니다. 19.04.19 41026 201
15168 흙수저 해붕이 챔스보고싶어서 길거리에 의자깔고 봤다.jpg [346] ㅇㅇ(220.116) 19.04.18 67679 715
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2