디시인사이드 갤러리

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

갤러리 본문 영역

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

ㅇㅇ갤로그로 이동합니다. 2019.05.15 16:11:43
조회 96226 추천 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/04/22 - -
17231 급 스압 추억여행 길모어 블랙스트랫 카피만들기 [137] 하응기잇타갤로그로 이동합니다. 22.10.07 19095 130
17230 꽃과 여름의 마침표 [스압] [86] 넝쿨덩굴갤로그로 이동합니다. 22.10.07 14722 127
17229 운동 시작 1주년 기념 정리 및 후기 [1572] 햄스터볶음갤로그로 이동합니다. 22.10.06 90718 768
17228 (스압) 한옥 디자인 그랑 푀 에나멜 다이얼 시계 만들기 [125] watchwiki갤로그로 이동합니다. 22.10.06 21724 153
17227 [클리어] 창원벚꽃축제 [스압] [151] 널빵갤로그로 이동합니다. 22.10.05 27733 218
17226 남알프스 키타다케(北岳)에서 찍은사진 10장 [104] 치바사진충갤로그로 이동합니다. 22.10.05 13898 45
17223 [생선대회] 생선 쵸코를 만들어보자!! [520] 하나씨갤로그로 이동합니다. 22.10.04 42080 281
17222 [스압] 홍대리 님과 밀실에서 마지막화 [276] 팬케익갤로그로 이동합니다. 22.10.04 56666 247
17221 [스압] 모터로 움직이는 걸프라만듬 [469] 샤전용갤로그로 이동합니다. 22.10.03 44782 458
17220 등산하면서 찍은 풍경 [169] 김삿갓갤로그로 이동합니다. 22.10.01 28063 249
17219 본거또보고 완성올려봅니다. [스압] [229] 담담(175.208) 22.09.30 41452 252
17218 던전밥 레진 피규어 디오라마 작업 완료! [211] 곰나으리(110.11) 22.09.30 32398 427
17217 4박 5일 제주도 여행기 -1,2일차- (스압주의) [90] 추월갤로그로 이동합니다. 22.09.29 22482 103
17216 [스압] 조선시대 실화툰4 (돌싸움편) [269] 드보라.갤로그로 이동합니다. 22.09.29 31168 197
17215 프랑크푸르트에서 브뤼셀까지 당일치기 [스압] [115] 미소천솨갤로그로 이동합니다. 22.09.28 20180 93
17214 [스압] 6일간의 10th 라이브 대장정 후기 [145] 브라끄샤우트갤로그로 이동합니다. 22.09.28 17379 122
17212 옛날 디붕이는 이제 카메라를 팜니다 [145] 권순찌갤로그로 이동합니다. 22.09.27 22741 156
17211 동박새가 매우 많은 천지연폭포 [스압] [159] 베니마시코갤로그로 이동합니다. 22.09.26 20243 197
17210 웹툰연재하다가 짤려서 백수됐던 MANHWA 1~4화 完 [681] 푸른곰팡갤로그로 이동합니다. 22.09.26 64559 818
17209 학생덜...탑건...만들어왔어,,,보구가,,,, [384] 애긔늬갤로그로 이동합니다. 22.09.24 75463 646
17208 켄고가 간다 2편 - 공주 [스압] [73] 켄고갤로그로 이동합니다. 22.09.23 14151 33
17207 (장문)집에서 럼(=럼주)을 만들어보자 [188] 주랑갤로그로 이동합니다. 22.09.23 34013 496
17206 끝물에 접어든 새비재 은하수 보고가요 (스압) [107] 놀러옴(220.79) 22.09.22 20002 137
17205 3호전차 J형 "아프리카 군단" 만들어봤어 [135] HMC갤로그로 이동합니다. 22.09.22 23606 190
17204 나의 약물중독 치료기 [1469] 박지갤로그로 이동합니다. 22.09.21 125119 1782
17203 명방 3d 팬 트레일러 만들어봤음 (데이터주의) [169] 사르델갤로그로 이동합니다. 22.09.21 20967 156
17202 뒤지게 오래걸린 풀스케일 베르사유의정원 [234] ㅇㅇ갤로그로 이동합니다. 22.09.20 41951 333
17201 20220912 ~ 16 5일간의 전국일주 [156] 대차매니아갤로그로 이동합니다. 22.09.20 18779 55
17200 예전에 그린 새 그림 [219] RURO갤로그로 이동합니다. 22.09.19 28466 291
17199 20대 중붕이 방 보구가 [774] 하루카남편갤로그로 이동합니다. 22.09.19 65963 461
17198 그레이스 피규어 제작 14일차 -완- [417] Shat갤로그로 이동합니다. 22.09.17 66918 907
17197 결혼하러 간 우크라이나 여행 후기 1 [942] 두부갤로그로 이동합니다. 22.09.16 129769 943
17196 스압) DIY SFF케이스 제작 및 조립 후기 [173] 똑똑한멍청이갤로그로 이동합니다. 22.09.16 22033 103
17195 (스압)카라반을 만들어보자! [221] HKH(121.166) 22.09.15 42812 199
17194 진짜 뒤지게 늦은 서울코믹월드 후기 망가 [580] 불효좌갤로그로 이동합니다. 22.09.15 86635 393
17193 한복 그림(스크래치/홍천기 김유정)(스압) [170] bittersweet(115.91) 22.09.14 26812 318
17192 조혈모세포 기증 후기 [449] ㅇㅇ갤로그로 이동합니다. 22.09.14 41248 687
17191 [스압][투어후기] 1,475km [140] 커피는Starbucks갤로그로 이동합니다. 22.09.13 27617 149
17190 (스압) 식봉트럭 탄생까지의 긴 여정 [428] 엣헴갤로그로 이동합니다. 22.09.13 36517 364
17189 (스압) 어린왕자 그랑 푀 에나멜 다이얼 시계 만들기 Part.2 [121] watchwiki갤로그로 이동합니다. 22.09.12 24835 182
17188 아버지랑 낙동강종주 1일차(부산~남지)(스압) [101] 칰보영갤로그로 이동합니다. 22.09.10 21385 125
17187 힌남노와 함께한 제주도 여행-1[일반편](11pic) [79] 디지털휴지통갤로그로 이동합니다. 22.09.09 29297 57
17186 판타지 한컷 스토리 -이야기 차원- [스압] [104] A.Shipwright갤로그로 이동합니다. 22.09.08 22599 202
17185 힛갤간 썰만화가 드라마로 만들어져서 방영되는 썰.manhwa [326] Empire갤로그로 이동합니다. 22.09.08 64612 481
17184 1/64 모나코GP 헤어핀 디오라마 만들어왔어(스압) [168] 주_멘갤로그로 이동합니다. 22.09.07 22079 370
17183 (스압,단편)전학을 가서 여자애랑 서핑을 해보는.manhwa [247] ㄴ비ㅇ갤로그로 이동합니다. 22.09.07 33183 219
17182 늦었지만 수수로 생일기념 [지우개도장][스압] [196] ㅇㅇ갤로그로 이동합니다. 22.09.06 27356 400
17181 오창 자이로콥터 베이스 완성(스압) [88] ㅇㅇ(175.207) 22.09.06 21865 154
17179 전함 프린스 오브 웨일즈 창작해왔다 [231] 레고전함갤로그로 이동합니다. 22.09.05 24286 413
17178 진짜 무지성 포르투갈 여행기 1~11(완) [101] Lazykyo갤로그로 이동합니다. 22.09.03 28356 91
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2