본문 바로가기

파이썬64

03-python 게임 만들기-키보드 입력하기 이전 2개의 포스팅을 통해 게임 화면은 구성했고, 우리가 원하는대로 별주부를 움직여보는 코드를 구성할 예정이다. 이전 포스팅에서 while 문 안에 있는 pygame.event.get() 를 통해 키보드나 마우스의 움직임을 입력 받을 수 있다고 하였는데, 2024.02.03 - [Python/pygame] - python 게임만들기 - 기초 작업 python 게임만들기 - 기초 작업 앞선 포스팅에서 간략히 소개한 내용과 같이 python에는 게임을 만들기에 유용한 pygame 이라는 좋은 모듈이 있다. 그런데 아무리 좋은 모듈도 사용법을 모르면 쓸모가 없는 법. 하나씩 우리가 원하 to-all-rounder.tistory.com while 문 안에 키보드 입력을 확인하는 코드를 추가해 보자. 1. 키보드.. 2024. 2. 6.
02-python 게임 만들기-이미지 불러오기 지난 포스팅에서 우리는 콘티를 생각하고, blit 을 통해 배경 화면을 불러오는 것까지 진행하였다. 2024.02.05 - [Python/pygame] - 01-python 게임 만들기 - 시작(콘티) 01-python 게임 만들기 - 시작(콘티) 사실 게임을 만들려고 하면, 가장 먼저 시작해야하는 건 콘티라고 생각한다. 당연하게도 게임을 만들 수 있는 사람들을 모아서 게임을 만들기 때문인데, 우리는 기술(또는 기능)이 없으니, 기술 to-all-rounder.tistory.com 간단히 복기를 해보면, 이미지 객체를 만들고, 해당 이미지를 blit을 통해 pygame의 surface에 나타내기 위해 update까지 진행하면 우리가 원하는 이미지가 원하는 위치에 나타나게 되었다. 1) 캐릭터 추가하기 그.. 2024. 2. 6.
01-python 게임 만들기 - 시작(콘티) 사실 게임을 만들려고 하면, 가장 먼저 시작해야하는 건 콘티라고 생각한다. 당연하게도 게임을 만들 수 있는 사람들을 모아서 게임을 만들기 때문인데, 우리는 기술(또는 기능)이 없으니, 기술부터 배워야 한다. 그래도 방향은 정하고 시작해야 큰 그림을 그려나갈 수 있을 것 같은데, 기본 동작은 마리오나 쿠키런 같은 배경과 캐릭터, 아이템이 있는 형태의 게임을 만들어보고 pygame에 대한 어느 정도의 이해가 선행되면 내가 만들고 싶은 게임의 콘티부터 다시 시작해보자. 1. 게임 콘티 생각하기 우리가 지난 시간에 배웠던 기본틀은 단지 검은 화면이었다. 게임이라 부르기에도 부끄러웠을 것이다. 이제 여기에 배경과 캐릭터등을 추가할 예정인데, 아래에 첨부된 압축파일을 풀고, game_opening 폴더 아래에 im.. 2024. 2. 5.
게임만들기-오프닝(베스킨라빈스 게임) 당연한 이야기 이지만 python으로도 게임을 만들 수 있다. 어느 분야든 보편적이고 특화된 언어가 있을 뿐이지, 장인은 도구를 탓하지 않듯, 어떤 언어든 게임을 만들 수 있는데 단지 고려해야할 사항이 좀 더 많고 좀 더 편리한 언어가 있을 뿐이다. 단순히 생각해보면 게임은 그래픽이 필수 요소는 아니다. 3자리 숫자를 맞추는 게임에서 부터 31을 부르면 틀리는 베스킨라빈스 같은 게임 등은 몇 가지 조건문만 만들 수 있으면 쉽게 작성할 수 있는 게임들이다. 말이 나온 김에 간단히 2가지 중 베스킨라빈스 게임을 만들어 보자. 1) 베스킨라빈스 게임 (31) - 게임의 진행 방법은 다들 아는 것처럼 2명이 교차로 1부터 숫자를 이야기 하는데 자신의 차례에서 최소 1개에서 최대 3개의 숫자를 이야기해야한다. -.. 2024. 2. 1.
프로젝트03. 도서 관리 프로그램 만들기4-sqlite3 이제 회원을 등록해볼 차례이다. 1. 회원 테이블 구상하기 회원 등록시 필요한 정보는 - 회원번호(내부 생성), 회원 ID, 회원 이름, 생년월인, 회원 상태, 연락처, 주소, 이메일, 현재 대여 권수, 메모1, 메모2 로 생성할 예정이다. 회원 상태는 승인대기, 장기간 미사용 고객이나 블랙리스트 고객의 상태를 표기 및 관리하기 위해 임의로 만든 컬럼이며, 현재 대여 권수 컬럼은 1명의 회원이 무제한으로 책을 대여하지 못하도록 1인이 최대 5권만 대여 가능하도록 조건을 주기 위해 설정한 컬럼이다. 메모1, 2는 혹시나 하는 마음에서 만들어 두는 예비용 컬럼이다. 프로그램을 만들 때 결과물을 정확히 예측하고 기획된 대로 만드는 것도 중요하지만 이런 예비용 컬럼을 한, 두개 정도 만들어 두면 혹시 빠트리거나.. 2023. 12. 4.
프로젝트03. 도서 관리 프로그램 만들기3-sqlite3 앞선 포스팅에서 DB와 테이블을 생성했다면, 이번에는 추가와 검색을 해보도록 하겠다. 앞선 엑셀의 예시 자료를 커서를 이용해 입력할 예정인데, 입력하는 과정은 1. 동일 도서 등록 확인 books_info 테이블에 제목을 검색 후, 제목과 출판사가 같은 등록 현황이 있는지 확인한다. 아래의 매서드로 도서명과 출판사를 파라미터로 받고, 결과 값이 없을 때는 (0, 0, 0)을, 결과 값이 있을 때는 (book_key, total_count, available_count)를 튜플로 전달 받고 반환한다. # 동일 도서 등록 여부 확인 def check_books_info_by_title_publisher(book_title, publisher): cursor.execute(f'SELECT BOOK_KEY, T.. 2023. 12. 4.
프로젝트03. 도서 관리 프로그램 만들기2-sqlite3 앞선 포스팅에서 고민한 것과 같이 데이터를 효율적으로 관리하기 위해선 DB를 구성하는게 좋다. 그리고 그중 우리가 다뤄볼 DBMS는 sqlite3이다. sqlite3의 장점은 python에 내장된 모듈이기 때문에 별도의 설치가 없어도 사용이 가능하다. 오늘 포스팅은 SQL의 DDL문을 통해 책을 관리할 기본 테이블을 작성하고 데이터를 넣어보는 포스팅이다. 1. DB 생성하기 # main_db.py import sqlite3 # DB생성 및 Auto Commit, RollBack conn = sqlite3.connect(r'.\books_manager_database.db', isolation_level=None) # 해당 경로에 books_manager_database.db DB파일이 생성된다. # 커서.. 2023. 12. 2.
프로젝트03. 도서 관리 프로그램 만들기(intro) 이번에 작성해 볼 프로그램은 도서 관리 프로그램이다. 아직까지 정확히 떠오른 기획은 없지만, 고민하며 하나씩 만들어 볼 예정인데, 큰 고민 없이 시작하는 이유는 판매 목적의 프로그램이 아닌데다가 성능과 속도라는 점을 고려치 않고 기능 구현과 라이브러리 연습에 비중을 두기 때문이다. 당연한 얘기지만 실제 코딩도 중요하지만 기획이나 설계에 많은 시간과 노력을 들여야한다. 1. 장소에 따라 도서관리 프로그램을 만들겠다는 생각을 정하고 목적을 생각하니, 2가지 정도가 떠올랐다. 장소에 따라 사용 목적과 기능이 달라질텐데, 책과 관련된 첫번째 장소가 도서관, 두번째 장소가 서점이었다. 단순히 장소에 따른 기능을 떠올려보면 도서관이라면, 대여가 주목적인만큼, 회원 관리와 책의 위치, 대여 상태에 대한 관리가 이루어.. 2023. 12. 1.
독학 Python tkinter(GUI) - 20. py to exe 로 변환하기 Q. 왜 exe로 변환이 필요할까? 지금까지 포스팅에서 GUI를 만든건 가시성이나 편리성보다는 '프로그램 배포' 라는 목적에 의미를 두었기 때문이다. 다른 사람이 쓸 수 있도록 전달하려함이 가장 큰 목적이었는데, tkinter로 작성하더라도 python이 설치 되어 있지 않으면, .py로 전달해주는 파일은 아무런 의미가 없다. exe 파일로 전환하여 윈도우에서 실행할 수 있도록 전달해줘야 실제 사용자가 어려움 없이 프로그램에 접근할 수 있게된다. .py 파일을 exe로 변환하는 방법은 여러가지가 있지만, 오늘은 간략하게 pyinstaller를 통한 예시를 보여주고 마무리 될 예정이다. 1. pyinstaller 설치하기 - 터미널에서 pip 를 통해 pyinstaller 모듈을 설치한다. - pip in.. 2023. 11. 30.
모듈화 2(modularity) 지난 글을 이어가보면, 오늘의 포스팅은 아래의 코드를 작성하는 것이다. 4. 모듈화 예시 - 덧셈과 뺄셈을 수행하는 계산기 코드를 작성할 예정인데, 사용자에게서 입력받는 값이 숫자인지를 판별하여 실행할 예정이다. - 기능별 분류를 위해, ① 실행 코드(main_calc.py) ② 숫자 판별 코드(validate_input.py) ③ 덧셈 코드(add_calc.py) ④ 뺄셈 코드(sub_calc.py) 순서상으로는 세부 기능들이 있어야 동작할 수 있으니, ③ > ④ > ① > ② 의 순서로 코드를 작성하겠습니다. 1) 덧셈코드(add_calc.py) 작성 - 간단히 2개의 숫자를 파라미터로 전달 받아 결과 값을 return 해주는 함수를 생성한다. - if __name__ == '__main__' : 조.. 2023. 11. 29.
반응형