언어/기타
2007.01.23 17:15

R2k로 퍼즐 만들기

조회 수 1568 추천 수 3 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

현실에는 다양한 퍼즐이 존재합니다.


 


퍼즐게임은 물론이고 매일 신문에서 보는 크로스워드(십자말풀이), 스도쿠에서 부터,


매니아층을 형성하는 루빅스큐브, 피라밍크스 등등...


 


요즘 그런 퍼즐의 알고리즘을 짜는걸로 나날을 보내고 있습니다.


 


 십자말풀이는...한글입력이 안되고, 주인공의 이름입력처리로 영어를 입력해도 그걸 써먹을 방법이 없군요.


숫자입력의 처리로 숫자 십자말 풀이는 만들 수 있겠지만, 난이도 급하락~


 맵을 두개 만들어서 하나는 문제맵, 하나는 타일맵으로 해서 해당 한글(영어)타일을 밟으면 '첫자초성','첫자중성'...영어의 경우에는 '첫 알파벳' '두번째 알파벳'에 변수를 입력해서 조건분기로  맞추는 노가다를 하면 가능하겠지만.... 노가다가 무섭군요.


 게다가 퍼즐을 자동생성하는 알고리즘은 특성상 불가능하니 이것 역시 몇십개를 노가다로 만들어야...ㅜㅜ


 


 스도쿠는 생각을 안해봐서 잘 모르겠지만, 숫자입력의 처리를 이용하면 될 것 같네요.


 


 피라밍크스는 표면이 삼각형이니 넘어가고...


 


 루빅스큐브 알고리즘 생각에 가장 많은 시간을 보냈습니다.


 일단 루빅스큐브를 하기 위해선 꼭 있어야 하는 기능을 몇개 간추려 보자면


ㄱ)각 면의 상태를 깔끔하게 볼 수 있어야 한다.


ㄴ)정면(F)로 두는 면을 쉽게 변경할 수 있어야 한다.


ㄷ)F/F',R/R',L/L',U/U',D/D',B/B'의 12가지중, 상당수가 입력하기 편하도록 구현되어야 한다.


ㄹ)한쪽면을 돌렸을때, 그것이 깔끔하게 돌아간다는 느낌이 와야 한다.


ㅂ)완성시 이펙트가 있으면 좋다.


ㅅ)자동으로 스크램블되는 기능이 있어야 한다.


 웹게임(?)비슷하게 루빅스큐브를 맞추는 사이트도 있어서 그걸 참고 삼아 고민을 해봤습니다. (만들엄두는...)


 


 일단 회전기호는 키입력의 처리에서 Numpad를 보고 이해가 잘 되는 숫자버튼 및 기본 방향키를 할당하고, (R2k3만 가능) 선택 혹은 취소버튼은 스크램블, 타이머 on/off 등의 메뉴를 넣으면 좋겠군요.


 


 20x15사이즈 안에 세로로 정사각형4개가 들어가니 왼쪽에 전개도형식으로 6면을 넣고 오른쪽에 픽쳐로 할당된 키를 보여주면 플레이가 편하겠죠.


 만약 6면을 모두 보여준다면 보는 시선을 회전하는 버튼이 꼭 필요한건 아니지만, 깔끔하지 않을수도 있습니다. 반대로 일부면 (1면 혹은 3면)만 보여준다면 회전기호까지 버튼을 할당해야해서 조금 복잡해지죠.


 


 스크램블기능은 키입력의 처리를 받는 변수에 난수를 집어넣는걸 몇십번 반복하면 되니 의외로 간단할 것 같더군요. (시도는 안해봐서...)


 


 현재 봉착한문제는 '회전'


 돌아간다는 느낌을 구현하는게 힘들거든요, 실제로 돌리는 것도 그렇고. 돌리는 방향으로 모든 이벤트가 동시에 움직이면 돌아가는 느낌이 날지도 모르겠지만요. 이벤트의 위치설정이나 위치교환을 이용하여 노가다하면 움직일것도 같지만.. 각 면에 존재하는 색깔(이벤트)가 매번 다르니 그걸 어떻게 구현하느냐가 가장 머리아프네요.


 


 ...고3이 이런거 짜고 있으니 공부가 안될만도 합니다(하하;)

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
701 언어/기타 [마지막 3명 모집] [취업연계무료교육] VR/AR 게임 콘텐츠 전문가 양성 과정 교육생 모집 file 황금상자 2017.07.14 702
700 언어/기타 JSON parser 변환데이터 저장시 생기는 Object Too Deep 해결하기 title: 댓글러lklslel 2016.12.24 851
699 언어/기타 앙뜨프리너십에서 해커톤 부트캠프 모집중이네요 file 마나님이 2016.11.08 908
698 언어/기타 게임의 버전을 짜 보자! - 유의적 버전 2.0.0 Yanggaeng 2016.06.07 1123
697 언어/기타 RPG게임 뻔한요소들. 8 title: 천무천무 2015.10.05 1644
696 언어/기타 자바스크립트와 관련해서 참고할 만한 사이트들 3 MARCO 2015.10.04 921
695 언어/기타 꿀잼이군요! 3 사람님[대회참가] 2015.05.20 873
694 언어/기타 [강의링크] 대비법칙-색상대비-밀당의 재미 약한 반대색 설계 title: 천무천무 2015.04.02 636
693 언어/기타 오다 주웠습니다. 9 사람님[대회참가] 2015.03.30 917
692 언어/기타 무료 이미지 사이트 Pixabay! 9 file 나작소 2015.03.28 909
691 언어/기타 페인터(코럴) 브러쉬 세팅 공유 :) 8 file 샤이귤군 2015.03.28 1577
690 언어/기타 유화재료 & 기법 살짝 팁 공유 (매우 깁니다 -3-) 11 file 샤이귤군 2015.03.28 912
689 언어/기타 픽사에서 텍스쳐 꽁짜로 뿌림ㅋ 8 사람님(대회참가) 2015.03.26 912
688 언어/기타 멀티해상도에 따른 속도와 가속도 값의 조절 1 MiDtics2 2013.01.13 859
687 언어/기타 [Android] 멀티스크린 노하우 2 MiDtics2 2012.10.27 1516
686 언어/기타 [js] 코드 압축 걸음마 2 1 2012.06.12 1059
685 언어/기타 [css] css 겉핥기 핥핥 1 file 2012.05.03 938
684 언어/기타 [css, js] form - select안의 option들에 스타일 적용하기 4 file 2012.04.28 5364
683 언어/기타 게임,개발기획의 기초 5 Grand 2011.08.01 2901
682 언어/기타 지형설정에서 원경(앞, 뒤)가 가지는 역할 file Dicky 2011.07.28 2491
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 36 Next
/ 36


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)