https://huiyu.tistory.com/entry/python-첫번째-게임-만들기-cave-pythonpygame-기초-코드이해
python 첫번째 게임 만들기 - cave, python/pygame 기초 코드이해
python + pygame 환경구축 https://huiyu.tistory.com/entry/Python-Pygame-환경구축-Window10-VS-code?category=767379 Python + Pygame 환경구축 (Window10 / VS code) 시작->cmd로 명령 프롬프트 실행, python..
huiyu.tistory.com
기본적인 python/pygame 코드설명은 위 링크에 설명되어 있습니다.
게임을 구성하는 큰 로직은 크게 두개로 나눠져있다.
실제 사용자가 캐릭터를 컨트롤하는 부분과 사용자가 컨트롤하는 맵을 생성하는 부분.
이 두개를 구현하고 score 계산과 둘이 충돌 날때 게임 종료조건을 추가하면 된다.
게임코드->
https://github.com/huiyueun/PythonGame/blob/master/cave.py
huiyueun/PythonGame
Contribute to huiyueun/PythonGame development by creating an account on GitHub.
github.com
Player 로직
우선 Player의 캐릭터는 두개의 이미지로 구성되어 있다. 캐릭터 이동시 모습과 충돌시 폭팔하는 이미지.
위 두이미지를 pygame image load 함수를 사용하여 로드한다.
다음 불러온 이미지를 화면에 그려준다.
blit api를 사용하면 생성해둔 SURFACE에 이미지를 원하는 위치에 그릴 수 있다(ship_y=250, 화면 중간)
여기까지 구현하면 쉽게 화면에 이미지를 그릴 수 있다.
게임에서 캐릭터의 로직은 기본 입력이 없을때 바닥으로 추락한다는 것이다. 기본 화면 갱신할때 y값을 증가시켜주면 된다. (좌측상단이 0,0이며, y값이 커질수록 이미지는 아래로 내려간다.)
메인루프에서 아래 코드를 추가한다.
ship_y += 3
위와같이 코드를 작성하면 캐릭터는 아래로 내려가게 된다.
아래로만 이동하던 캐릭터를 키 입력이 들어오면 위로 이동하게 바꾸자.
지난 포스팅에서 설명했던 키입력코드에서 K_SPACE(스페이스키)입력이 들어왔음을 알수 있는 is_space_down 변수를 선언한다. 이 변수는 아무런 입력이 없으면 false, 키 입력이 들어오면 true로 설정되어 캐릭터의 움직임값에 변화를 주도록 한다.
이제 이 변수로 캐릭터 움직임 설정.
is_space_down이 true(키 입력이 들어오면)이면, -3값을 설정하여 캐릭터가 위로 올라가고 아무런 입력이 상태인 false이면 3이 설정되어 캐릭터가 아래로 내려가게 된다. 이로써 캐릭터 움직임 설정하는 로직은 구현 끝! 엄청간단하다.
y = value1 if (조건문) else value2
-> 조건문이 참이면 value1설정, 아니면 2를 설정한다.
'Software Development > Python' 카테고리의 다른 글
파이썬 구글스토어 분석 & 명사 추출 및 시각화 (0) | 2022.10.02 |
---|---|
Python + OpenPose로 달리기 포즈 추출해보기(이미지/비디오), OpenPose 기초 이해하기 (8) | 2022.02.02 |
python 두번째 게임 - 마인 스위퍼 (0) | 2020.03.28 |
python 첫번째 게임 만들기 - cave, python/pygame 기초 코드이해 (0) | 2020.03.21 |
Python + Pygame 환경구축 (Window10 / VS code) (2) | 2020.03.15 |