다음 프로젝트는 서적 '초보자를 위한 파이썬 200제'를 기반으로 한 포스팅입니다.
C나 C++을 이용해서 일반적인 게임을 구현하기 위해서는 파이썬에 비해 상대적으로 고려해야 할 것이많다.
허나 파이썬에서는 pygame이란 SDL(Simple DirectMedia Layer)기반의 게임 제작을 위해 사용되는 파이썬 확장 라이브러리를 이용하여 보다 손쉽게
게임을 개발할 수 있다.
SDL은 C언어로 구현된 크로스플랫폼 멀티미디어 라이브러리이며, 비디오, 오디오, 사용자 입력 등과 같은 관련된 처리를
편리하게 수행 할 수 있도록 해준다.
실제로 만들 게임은 비행기(플레이어)가 날아오는 적을 격추시키는 간단한 형태의 슈팅게임인데,
시간이 지날수록 적의 속도가 빨라진다.
일반적인 게임의 규칙은 적과 비행기(플레이어)가 부딪히거나 적을 제거하지 않고 화면밖으로 3명의 적이 지나치게 되면 종료되는 게임이다.
게임 구동 화면
소스 코드
게임 내에서
비행기를 지속적으로 한방향으로 이동할 때 순간적인 방향전환이 힘들다는 것이다.
예를들어 오른쪽으로 지속적으로 이동하기 위해 오른쪽 방향키를 누르고 있다가 순간적으로 왼쪽 방향키로 이동방향을 전환하려고 하면
방향전환이 원활히 되지 않는 것이다.
이 부분은 경험상
코드라인 83번 줄에서 99번째 줄에 있는
KEYDOWN과 KEYUP을 순차적으로 체크하는 방식에 있어서 문제가 생긴 것으로 판단된다.
쓰레드를 이용해 지속적으로 키 입력을 받는 쓰레드를 생성하거나 하는 방식으로
다음과 같은 문제를 해결할 수 있으리라 생각하나
현재 파이썬을 익숙하게 다루기 위한 과정중이고, 파이썬을 이용한 머신러닝 구현이 최종적인 목표기에
다음 시간이 넉넉할 때 다음과 같은 소스코드를 수정하여 업로드하겠다.
'IT > 프로젝트 및 실습' 카테고리의 다른 글
python을 이용한 다중 채팅 구현하기 (12) | 2018.01.02 |
---|---|
python을 이용한 파일 송수신 프로그램 (6) | 2018.01.01 |
python을 이용한 웹서버 로그 처리하기 (0) | 2017.12.29 |
python을 이용한 연도별 출생아 수 계산하기 (0) | 2017.12.28 |
컴퓨터 프로그래밍 설계 과제#5_HW03 (0) | 2017.12.20 |