본문 바로가기

파이썬 (Python)9

[Python] 실습편 - 외계인 침공 : 불을 뿜는 우주선 5 개요우주선을 좌우로 움직이게 해본다. 꾹 눌러도 동작하게 하는게 핵심이다. 연타해야만 움직이는 예는 책에서 이전 챕터를 참고하기 바람 - 핵심 매프레임 이벤트를 감지하여서 우주선 위치를 업데이트 한 후, 화면에 그린다. - 우주선 위치 업데이트 KEYDOWN과 KEYUP으로 키보드 눌렀다 뗐다를 감지한다. 불린값을 이용해 키 입력의 참, 거짓을 판별하며 이동량만큼 이동한다. + 챕터 12.6.3 까지의 내용이다.코드alien_invasion.py import sys import pygame from settings import Settings from ship import Ship class AlienInvasion : """게임 자원과 동작을 전체적으로 관리하는 클래스""" def __init__(se.. 2024. 3. 22.
[Python] 실습편 - 외계인 침공 : 불을 뿜는 우주선 4 개요 run_game 메서드의 코드가 길어지고 있다. 이를 해결하기 위해, 보조 메서드 두 개로 분리한다. 보조 메서드란 클래스 내부에서만 사용하는 메서드를 일컫는다. 보조 메서드는 구분을 위해 맨 앞에 _를 붙인다. 이렇게 기존 코드를 단순화는 것을 리팩터링이라고 한다. + 챕터 12.5.2 까지의 내용이다. 코드 alien_invasion.py import sys import pygame from settings import Settings from ship import Ship class AlienInvasion : """게임 자원과 동작을 전체적으로 관리하는 클래스""" def __init__(self) : """게임을 초기화하고 게임 자원을 만듭니다""" pygame.init() self.clo.. 2024. 3. 17.
[Python] 실습편 - 외계인 침공 : 불을 뿜는 우주선 3 결과 개요 화면에 우주선을 그린다. 1. ship.py 이름으로 모듈을 별도로 만든다. 2. 화면을 속성으로 할당하여, 우주선 이미지를 화면 중앙에 배치한다. (midbottom) 3. 파이게임은 게임 요소들을 모두 사각형으로 처리해 효율적이다. (rect) + 챕터 12.4.2까지의 내용이다. 코드 alien_invasion.py import sys import pygame from settings import Settings from ship import Ship # 0. 모듈 불러오기 class AlienInvasion : """게임 자원과 동작을 전체적으로 관리하는 클래스""" def __init__(self) : """게임을 초기화하고 게임 자원을 만듭니다""" pygame.init() self.. 2024. 3. 15.
[Python] 실습편 - 외계인 침공 : 불을 뿜는 우주선 2 결과 개요 게임 설정에 필요한 정보를 클래스 한 곳에 모은다. 코드 이곳저곳에 설정값이 분산돼있으면 유지보수가 힘들다. 1. 같은 폴더내 settings.py 파일(모듈)을 생성한다. 2. Settings 클래스를 만들고 초기화에서 속성값 지정한다. 3. aliens_invasion.py에서 위 모듈 - 클래스 - 속성을 불러와 사용한다. + 챕터 12.3.4까지의 내용이다. 코드 aliens_invasion.py import sys import pygame from settings import Settings # 1. 세팅 모듈 부르기 class AlienInvasion : """게임 자원과 동작을 전체적으로 관리하는 클래스""" def __init__(self) : """게임을 초기화하고 게임 자원을.. 2024. 3. 10.
[Python] 실습편 - 외계인 침공 : 불을 뿜는 우주선 1 결과 개요 파이게임 모듈을 사용해 게임 만들기를 시작한다. 이번 실습은 기본 창 구성법이다. 1. 게임 자원, 동작을 관리하는 클래스를 생성한다. 2. 초기화에서 게임 창생성 등 기초 설정을 한다. 3. 게임의 메인 루프 메서드를 만든다. 무한 루프로 구성된다. 4. 클래스의 인스턴스를 생성 후, 메서드를 실행한다. + 챕터 12.3.3까지의 내용이다. 코드 import sys #모듈 임포트 import pygame #모듈 임포트 class AlienInvasion : #클래스 첫글자는 대문자. 함수처럼 괄호 X """게임 자원과 동작을 전체적으로 관리하는 클래스""" def __init__(self) : # 인스턴스 생성시 자동실행 메소드. self는 인스턴스 자신을 지칭한다. """게임을 초기화하고 .. 2024. 3. 10.
[Python] 파일 이름 일괄변경 툴 만들기 (폴더 이름과 같게) 개요 회사 업무상, 폴더 안의 파일들의 이름을, 특정 규칙대로 바꿔줘야하는 경우가 생겼다. 시중에 여러 툴들이 있으나 모든 폴더를 일괄적으로 간단히 바꾸는 툴이 없어 만들게 됐다. 특정 규칙은 아래 서술한 코드 최상단에 적어놓았다. 결과 코드 ''' 현 경로에서 폴더들을 찾는다. 각 폴더 안의 파일에 접근한다. 파일의 확장자와 맨뒤 숫자 4자리만 남긴다. 파일들의 이름은 폴더 이름으로 변경한다. 뒤에 원래 숫자와 확장자를 붙인다. --- ''' from tkinter import * import os import re import sys def resource_path(relative_path): try: base_path = sys._MEIPASS except Exception: base_path = .. 2024. 2. 25.
[Python] exe 실행파일 만들기 방법 1. pyinstaller 설치 2. pyinstaller 사용 -w는 실행시 콘솔창(까만 창)이 열리지 않게 하는 용도이다. -F는 압축해서 하나의 파일로 만들어준다. (onefile) --icon은 아이콘 설정이다. --add-data는 원하는 파일을 같이 압축시키는 것이다. 그래야 이미지 등이 정상적으로 나온다. 주의사항 --add-data로 파일을 포함해도, 절대경로로 설정했다면 정상적으로 뜨지 않는다. 소스코드에서 아래처럼 상대경로로 설정해놨어야만 한다. def resource_path(relative_path): try: base_path = sys._MEIPASS except Exception: base_path = os.path.abspath(".") return os.path.joi.. 2024. 2. 25.
[Python] 한글 주석 사용법 개요 파이썬에서 한글 주석이 깨져보이거나, 한글 주석이 때문에 빌드가 안되는 경우가 있다. 이럴 때 해결법을 알아본다. 방법 1. 윈도우 설정 아래와 같이 검색 후 설정에서 UTF-8 사용 체크 이렇게 해야 코드 작성시 한글이 깨지지 않고 나온다. 2. vs code에서 기본값을 UTF-8로 설정 세팅에서 인코딩을 UTF-8로 설정한다. 3. 작성중인 .py파일에서 UTF-8로 설정 최하단에서 확인하면 된다. 2024. 2. 25.
[Python] 파이썬, VS Code 설치 및 환경설정 방법 Python 설치 홈페이지에서 다운로드 아래 PATH 관련 옵션은 필히 체크한다. 3. 경로를 아래 그림처럼 단순하게 하면 좋다. VS Code 다운 홈페이지에서 다운받기 VS Code 실행 후, Python 확장 프로그램 받기 인터프리터 설정 파이썬 설치 경로로 설정 참고영상 https://youtu.be/kWiCuklohdY?list=PLMsa_0kAjjrd8hYYCwbAuDsXZmHpqHvlV 2024. 2. 25.