'게임'에 해당되는 글 5건
- 2008/05/16 루미네스 동영상 또 찍은거
- 2008/05/15 넷마블 루미네스 플레이 동영상 (1)
- 2008/05/08 종이비행기 날리기 게임
- 2008/04/08 Ruby로 짜본 간단한 369게임 (2)
- 2008/04/02 42억분의 1의 확률 당첨 (12)
[Anarchy Golf] Morse decode
2008/04/18
Ruby로 짜본 간단한 369게임
2008/04/08
[Golf] るびまゴルフ 【第 3 回】38 bytes
2008/04/04
[Golf] るびまゴルフ 【第 3 回】42 bytes
2008/03/31
의지 박약
2008/05/16
입체감이 느껴지는 gif
2008/05/13
잠시동안 블로그가 이상하게 보였었는데 --;
2008/05/10
5월 9일 주식 일기
2008/05/09
[변형] Dawn 뒤집기
2008/04/27
[자작] Antarctica
2008/04/26
[카피] 송영선 "너 뭐야 도대체" 카피 -_-;
2008/04/22
[자작] Electrostar
2008/04/20
직접 찍어봤습니다. -.-;
3000점 레이스 모드로 연속 세판 했구요..
각각 40초, 47초, 36초 나왔네요
소리는 녹음 못했음-_-
'Game' 카테고리의 다른 글
| 루미네스 동영상 또 찍은거 (0) | 2008/05/16 |
|---|---|
| 넷마블 루미네스 플레이 동영상 (1) | 2008/05/15 |
종이비행기를 멀리 날려보내는 게임입니다.
마우스로 비행기를 잡고 우측으로 집어던지면 됩니다.
중독성 매우 심함 =_=;
개인 기록 -.-;
'Journal/BlahBlah' 카테고리의 다른 글
| 잠시동안 블로그가 이상하게 보였었는데 --; (1) | 2008/05/10 |
|---|---|
| 5월 9일 주식 일기 (2) | 2008/05/09 |
| 종이비행기 날리기 게임 (0) | 2008/05/08 |
| 5월 8일 주식 일기 (0) | 2008/05/08 |
| 5월 7일 주식 일기 (2) | 2008/05/07 |
| 5월 6일 주식 일기 (2) | 2008/05/06 |
심심해서 369게임을 작성해봤습니다.
369게임에서 제일 중요한 요소는 아무래도
"주어진 숫자에 대해 몇 회 박수를 쳐야 하는지 계산하기" 인 것 같습니다. ㅎㅎ
숫자 안에 포함된 3, 6 또는 9의 개수만큼 박수를 치거나, 만약 3,6,9가 없을 경우 해당 숫자를 리턴하면 됩니다.
예를 들어, 307은 박수 한번, 9936은 박수 네번, 400은 "400"이라고 말하면 됩니다.
이걸 구현할 알고리즘을 연구하다가 다음과 같은 코드를 생각해봤습니다.
여기서 n이 주어진 숫자입니다. 숫자를 문자열로 바꾼 후, tr 명령을 사용해서 '3', '6', 그리고 '9'를 제외한 다른 문자를 지운 후, 남은 문자열의 길이를 구하는 겁니다. 이 길이가 바로 필요한 박수 횟수입니다.
그 다음, "clap "이라는 문자열을 방금 구해낸 박수 횟수만큼 복사합니다. 1이면 "clap ", 2이면 "clap clap ", 3이면 "clap clap clap ", 0이면 "" 이 되겠죠.
그 다음 max 함수를 사용하여 마지막으로 n을 문자열로 바꾼 스트링(num_s)과 비교하여 더 우선순위가 높은 문자열을 리턴하도록 합니다.
만약 박수 횟수가 0이면 왼쪽의 스트링은 ""이 되고, 빈 문자열은 무엇이든 들어있는 문자열보다 무조건 우선순위가 낮습니다. 따라서
만약 박수 횟수가 1 이상이면, 왼쪽의 스트링은 "clap clap ..."이 되는데, 문자열 끼리의 비교 과정에서 왼쪽 스트링의 첫번째 문자는 무조건 'c'가 되고, 오른쪽 스트링의 첫번째 문자는 무조건 숫자입니다. 'c'가 '1'~'9'보다 더 아스키코드 값이 크기 때문에 max 함수를 통하여 왼쪽의 스트링이 리턴됩니다.
루비 언어를 쓰고 있기 때문에 이런 복잡해보이는 알고리즘을 간단한 코드로 구현할 수 있었습니다.
만약 C나 C++을 쓰고 있었더라면 코드가 굉장히 길어지겠죠. ㅎㅎ
이외에도 사용자의 입력에 대한 예외처리, 채팅방에서 369게임을 하는 것처럼 보이기 위한 꾸미기, 컴퓨터와 같이 하기, 어설픈 OOP(-_-;) 등 여러 자질구레한 사항들을 추가하다보니 코드가 좀 길어졌습니다. 간단한 게임도 생각보다 만만치 않네요. -.-;
소스코드는 아래와 같이 생겼습니다. 좀 눈아프게 생기긴 했지만 그래도 저 나름대로 예쁜 코드, 버그 없는 코드를 만들어보려고 노력해봤습니다. -.-;
아래는 소스코드 파일이고, 혹시 루비 인터프리터가 설치되어있지 않은 분들을 위해서 exe버전(rubyscript2exe 사용)도 같이 첨부합니다. ㅎㅎ
'Programming > Ruby' 카테고리의 다른 글
| [Anarchy Golf] Morse decode (2) | 2008/04/18 |
|---|---|
| Ruby로 짜본 간단한 369게임 (2) | 2008/04/08 |
| [Golf] るびまゴルフ 【第 3 回】38 bytes (0) | 2008/04/04 |
| [Golf] るびまゴルフ 【第 3 回】42 bytes (0) | 2008/03/31 |
| 루비 프로그램을 하나의 exe 파일로 바꾸기 (0) | 2008/03/31 |
| 테스트 주도 개발로 "숫자 세자리 마다 콤마 찍는 프로그램" 코딩하기 (2) | 2008/03/19 |
오늘 넷마블 세븐 포커를 즐기다가 신기한 경험을 했습니다.
처음에 들어온 네장의 카드가 예감이 좋아서 신나게 레이스를 했더니 아니나다를까 히든에서 백스트레이트플러쉬가 뜨더군요 o_O
"와 내가 백스티플도 떠보는구나 " 하고 기분이 매우 좋았습니다.
근데 문제는 그 다음이었습니다.
백스티플이 나온 바로 다음 판에 스티플이 또 나온겁니다. -_-;;;;;;;;
스티플 한번 뜰 확률이 65000분의 1인데 이를 두번 연속으로 맞췄으므로 그 제곱인 42억분의 1의 확률을 뚫어버린겁니다.
-_-;;;;;;;;;
로또를 살 걸 ㅠㅠ
'Game > 포커' 카테고리의 다른 글
| 42억분의 1의 확률 당첨 (12) | 2008/04/02 |
|---|


369.rb
369.exe
