1. 비행기 게임 ¶
- 비행기 게임� 한번 만들어 봅니다.
- Pythonì�„ ì�µížˆëŠ” ê³¼ì •ê³¼ 비행기 만드는 ê³¼ì •ì�€ ê±°ì�˜ ë�™ì‹œì—� ì�´ë£¨ì–´ì§„다.
- 기초ì �ì�¸ 것들ì�€ ë¨¼ì € ì�µížŒë‹¤.
누가, ì–¸ì œ, 어디서, 무엇ì�„, 왜, 어떻게 중 들어가야 í• ê²ƒì�€?2. 공지 ¶
- ì�¸ìˆ˜ì•¼~ 재ë�™ì•„ ì–¸ì œ 한번 모ì�´ìž�~~~~~
- 오늘 11시ì—� 모ì�´ê¸°ë¡œ 했는뎅.. 아무ë�„ 안왔당. ã… ã…œ 재ë�™ì�´ëŠ” 좀 ëŠ¦ëŠ”ë‹¤ê³ í–ˆê³ , ì�¸ìˆ˜ëŠ” 왜 안오는 ê±°ì§•.. ì•„...ì—시 팀 프로ì �트는 ì–´ë µë‹¹.. ã… ã…œ - ìƒ�협
5. 현재 í•´ì•¼í• ì�¼ ¶
- 배경 움��는 효과
- ì �기 종류 늘리기
- ì �ì�˜ 미사ì�¼ë�„ 다양하게 만들기(ìœ ë�„ 미사ì�¼ë“±)
- ê°� 스테ì�´ì§€ 만들기(한 6íŒ� ì •ë�„..)
- 비행기� 다양한 무기 만들기
- 그래픽...처리등..
- 배경 움��기
- ëª¨ë“ ì�´ë¯¸ì§€ ì—…ê·¸ë ˆì�´ë“œ
- ì „ì²´ 화면 만들기
- 첫 화면 (게임 �름, 스타트, 하� 스코어, �름 넣기)
- 아�템
6. ë��난 ì�¼ ¶
- í–‰ë�™ 함수 만들기, ì �기 미사ì�¼ 나가게 하기
- ì¶©ë�Œ 처리 ì œëŒ€ë¡œ 하기.. (ã… ã…œ)
- 미사ì�¼ ë°œì‚¬í• ë•Œ 몇개가 ì—°ì†�으로 나가는거 해결하기
- í”Œë ˆì�´ì–´ 비행기 죽기
- ì �기ë�„ 미사ì�¼ ì�˜ê¸°
7. ì•„ì�´ë””ì–´ ¶
- 횡 스�롤 비행기 게임 => 종 스�롤로 변경
- 미사� 세지는 아�템
- 나중ì—� 비행기 ë³€ì‹ í•˜ëŠ” ì•„ì�´í…œ
- 맥스페ì�¸ì—�서ì�˜ 시간 ëŠ�ë ¤ì§€ëŠ” 효과를 내는 ì•„ì�´í…œ
- 2ì�¸ìš© 대결 모드. ìƒ�대편과 ë‚´ê°€ ì�¼ì •한 시간후ì—� 만난다.. ê·¸ 중간 ê³¼ì •ì—�서 얼마나 ë§Žì�€ 컴퓨터 ì �ì�„ 격추 했는지ì—� ë”°ë�¼ì„œ 무기를 ì—…ê·¸ë ˆì�´ë“œ 하거나 한다.
- ê·¸ë¦¬ê³ ë¹„í–‰ê¸° 게임ì�„ 하면 보통 ìž�기 비행기 하나 ë¹¼ê³ ë‚˜ë¨¸ì§€ëŠ” 다 ì �êµ°ì�´ì„œ 막 ìƒ�ê°�ì—†ì�´ 미사ì�¼ 버튼만 누루면서 갈기는ë�° 그것 보다 아예 ì �기가 나오면서 ë�™ì‹œì—� ì•„êµ° 비행기ë�„ ì �당히 등장해서 ìž�ì‹ ì�„ ë�•게 한다. ì•„êµ° 비행기는 ìž�ì‹ ì�˜ 미사ì�¼ì—�ë�„ 격추ë�œë‹¤. ë�” ì‹ ì¤‘í•˜ê²Œ 미사ì�¼ì�„ 누루게 ë� 것ì�´ë‹¤. ê·¸ë¦¬ê³ ì•„êµ° 비행기를 ê²©ì¶”í• ì‹œì—�는 ì�¼ì •한 벌칙ì�´ 있다. 무기가 한단계 안좋아 ì§„ë‹¤ë“ ì§€ 하는 ì‹�으로.
- ì �기를 막 ì�˜ê¸° 보다는 ì �기ì�˜ íŠ¹ì •í•œ 부분ì�„ 맞추면 ì �기가 ë�” 잘 부서지게 한다. 예를 들어서 다른 부분ì—� 맞으면 ì �기가 2번 ë§Œì—� 죽는ë�°, 왼쪽 ë‚ ê°œ ë��ì—� 맞으면 단번ì—� 죽는 ì‹�으로..
- 템플러� 사�오닉 스톰과 같� 보조 무기
- 땅따먹기 + 비행기... ì�Œ.. 구체ì �으로는 안 ë– ì˜¤ë¥¸ë‹¤.
- ì �기를 ì–¼ë ¤ 버리는 ë³´ì¡° 무기
- ì�Œ... ì �기를 삼키는 비행기.. ì �ì�˜ 미사ì�¼ì�€ 피해야 한다. ìž�기는 미사ì�¼ì�´ ì—†ê³ ì �기를 삼켜야 ì �기를 í�íŒŒí• ìˆ˜ 있다.
- ì �ì�˜ 미사ì�¼ì�„ ë¨¹ê³ ì„±ëŠ¥ì�´ 좋아지는 비행기. ì �ì�˜ 미사ì�¼ì�€ 맞아야 좋다. 단 ì—„ì² ë¹¨ë¦¬ 움ì§�ì�´ëŠ” ì �ê³¼ 부딪히면 죽는다.
8.2. 2단계 ¶
- 기초ì �ì�¸ 모듈ì�„ ë§Œë“ ë‹¤.
- 비행기 움��는 모듈 V
- ì¶©ë�Œ 모듈 -> ì�´ê²ƒì�´ 좀 ë³µìž¡í• ê±°ë�¼ê³ ìƒ�ê°�했는ë�° pygameì—�서 처리하는 함수 있ì�Œ ã…¡ã…¡;
- ì �기 모듈
- 화면 움��는 것처럼 보�게 하는 모듈
10. íŒ� ¶
- ì •ì � 메소드 쓰는법
~cpp
class D :
def spam(x, y) :
print 'static method', x, y
spam = staticmethod(spam)
- 파�� 디버그 사용 방법
import pdb
}}
11. 잡담 ¶
- 게임 만드는 것ì�€ ë‚´ 취향ì�´ 아닌거 같다. ã… ã…œ, ì�´ë²ˆ 비행기 게임 프로ì �트를 통해서 ë¼ˆì €ë¦¬ê²Œ ëŠ�꼈다. ë� 그래픽 ë„£ì�„때ë�„ í�¬í† 샵 단색으로 ê·¸ë¦¬ê³ , ë˜� 세세한 부분 ì‹ ê²½ 쓰는걸 잘 ëª»í•˜ê² ë‹¤. 아마다 ë�œë �대는 성격때문ì�¸ê±° 같다. 오목 만들때는 재밌었는ë�° 비행기겜 만드는건 그것 ë§Œí�¼ì�€ 아니다. ì©�.. - ìƒ�협
- ì ˆë§�ì�´ë‹¤. ã…¡ã…¡;; 마ì�Œë§Œ ê¸‰í•´ê°€ì§€ê³ ì„œëŠ”.. í—ˆë‘¥ëŒ€ê³ ìžˆë‹¹... ë§�ë§Œ í•˜ê³ ì‹¤ì œë¡œëŠ” 한것ì�´ 없는거 같당.. ì œëŒ€ë¡œ 공부를 안해서 그런지 ì�´ê²ƒì €ê²ƒ 잘 안ë�˜ëŠ” 부분ì�´ 많당.. ê²°ê³¼ì �으로 ë³´ë©´..ì©�..
게임 그래픽 부분ì�´ 만만치 않긴 하지.. í��í��. 스프ë�¼ì�´íЏ 그리는 사람ì�´ ê³ ì¶©ì�´ ìƒ�ê°�보다 ë§Žì�Œ. 안티 엘리어싱 부분ì�˜ 경우 투명색ì�´ ì œëŒ€ë¡œ 처리가 ë�˜ì§€ 않기 때문ì—� ë�„트노가다를 해주어야 í•˜ê±°ë“ . 나ì�˜ 경우 í�¬í† 샵으로 ì�¼ë‹¨ 트루컬러로 그린뒤 그것ì�„ 256 indexed color 로 ë°”ê¾¸ê³ íˆ¬ëª…ìƒ‰ 하나 넣어서 ë�„트노가다 해주는 ì‹�ì�´ê±°ë‚˜, ë˜�는 ì•„ì—� 3D 툴로 그리ë�˜ì§€. (3D 툴로 모ë�¸ë§�í•˜ê³ ë Œë�”ë§�시ì—� 웬만한 툴들ì�€ alpha channel ì�„ 따로 ì €ìž¥í•˜ê±°ë“ . 그래서 3D 툴로 ë§Œë“ ê±´ 안티 엘리어싱 ë¬¸ì œë¥¼ 그리 ì�˜ì‹�하지 않ì�Œ.) ë˜�는 ì•„ì—� 엔진 ìž�ì²´ê°€ 3Dì�´ê³ 스프ë�¼ì�´íŠ¸ë“¤ì�´ 3D ì�´ë�˜ì§€ì§€ë§Œ ì�´ê±´ ë…¼ì�˜ 대ìƒ� ë°–ì�´ê² êµ°; 해성ì�´ì�˜ 경우는 ì›�래 ë�„트 노가다ì—� ì�¼ê°€ê²¬ì�´ 있기ì—� ë� ì „ë¶€ ê·¸ë ¤ì£¼ê¸´ í–ˆê³ ;
ê·¸ë¦¬ê³ ëª‡ëª‡ ìº�ë¦í„°ë“¤ì—� 대해서 스프ë�¼ì�´íЏ 사ì�´ì¦ˆì—� 대한 ë¬¸ì œë“¤ë�„ 있긴 하지만, ë� ì�´ê±´ ë…¼ì�˜ ì œì™¸í•˜ê¸°ë¡œ í•˜ê³ .
암튼. 초반ì�˜ ì—´ì •ì�´ 후반ì�˜ ë�ˆê¸°ë¡œ ì�´ì–´ì§€ë ¤ë©´, 해당 ì�¼ì—� 대한 좋ì�€ 방법들ì�„ 중간ì—� 계ì†� ê¶�ë¦¬í•˜ê³ , ì �용해ë´�ì•¼ê² ì§€. ê°œì�¸ì �ì�¸ ì¡°ì–¸ì�´ë�¼ë©´, 초반ì—� 너무 그래픽 등ì—� ë§Žì�´ ì‹ ê²½ì“°ì§€ 않는것ì�´ ë‚«ë‹¤ê³ ìƒ�ê°�함. ì�¼ë‹¨ì�€ ì „ë°˜ì �ì�¸ 틀과 게임 엔진ì�„ ë§Œë“ ë‹¤ëŠ” 기분으로 í•˜ê³ , ê·¸ 엔진ì�´ ìž�ì‹ ì�´ ì›�하는 ì•„ì�´ë””어를 ìˆ˜ìš©í• ìˆ˜ 있는가ì—� ë�” ì´›ì �ì�„ 맞추는게 ë‚«ì§€ 않ì�„까 함. 단, ìƒ�ê°�ì�€ ì „ë°˜ì �ì�¸ 부분ì�„ ë³´ë�˜, 구현ì�„ 쉽게 하기 위해서는 구체ì � ì˜ˆì œ ë�°ì�´í„°ë¥¼ ê°€ì§€ê³ ìž‘ì—…í•˜ëŠ”ê²ƒì�´ 효율ì �ì�´ê² ì§€. ê·¸ë¦¬ê³ ê·¸ ì˜ˆì œ ë�°ì�´í„°ë¥¼ 기반으로 ì�¼ì¢…ì�˜ SpikeSolutionì‹�으로 구현ì�„ 한뒤, ê·¸ 구현ë�œ 프로그램ì�„ ë³´ê³ ë‹¤ì‹œ 코드를 작성하ë�˜ì§€ ë˜�는 Refactoring 해서 ì�¼ë°˜í™”시키ë�˜ì§€.(새로 ì§œë�„ 얼마 시간 안걸림. 예ìƒ�컨대, 아마 중반ì—� 소스 한번 ë’¤ì§‘ì–´ì£¼ê³ ì‹¶ì�€ 욕구가 ë‚ ê»„? í��í��) --1002
- 결구 오늘.. 2시 30분� 재�� 오구.. 4시� �수 왔당.. -_-;;;;
- 8ì›” 17ì�¼: 아무ë�„ 안 왔다. ì „í™”ë�„ 안 받는다. 지금 ë� 장난 하는건지. 지금까지는 ì—´ 안 ë°›ìœ¼ë ¤ê³ ë¬´ì§„ìž¥ ë…¸ë ¥í–ˆë‹¤. ê·¼ë�° ì�´ì œëŠ” ë� ì—´ë°›ì�„것ë�„ ì—†ì�´ 그냥 나ë�„ 프로ì �트 안하ë�˜ì§€ 소스 다 ë‚ ë ¤ 버리ë�˜ì§€ í•´ì•¼ê² ë‹¤. -ìƒ�협
- 프로ì �트 그만 둘거면 확실히 ë§�해주길 바란다. 괜히 ì–´ì •ì©¡í•˜ê²Œ 해서 프로ì �트 진행만 못하게 하지 ë§�ê³ .
미안.. 나ë‘� 열심히 í•´ì£¼ê³ ì‹¶ì�€ë�°.. 잘 안ë�˜ë„¤.. 지금 와서 계ì†� í•œë‹¤ê³ í•˜ê¸°ë�„ ë¯¸ì•ˆí•˜ê³ ë¹ ì§„ë‹¤ê³ í•˜ê¸°ë�„ ë¯¸ì•ˆí•˜ê³ .. ã… .ã…
- ì�Œ.. ë‚´ê°€ ë´�ë�„ 좀 í�¥ë¶„ì�„ 했었넹.. -_-;; 얘들아 담주ì—� ë��내서 ì •ëª¨ì—� ì„ ì�„ ë³´ì�´ìž�~ ì�¸ìˆ˜ì•¼ 하여튼 열심히 하장~ - ìƒ�협
'비행기게임' ì�„ 위한건지 아니면 Python 공부를 위한건지? ë� 둘 다 ìƒ�관없긴 한ë�°.. 비행기 게임 ì œìž‘ ê³¼ì •ì—� 'Python ì�µížˆê¸°' ê°€ ë¨¼ì €ì�¸ê±´ 순서가 ì•„ë‹� 것 같아서.
----
프로ì �트분류









