본문 바로가기

전체 글117

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 게임만들기 - 기초 작업 앞선 포스팅에서 간략히 소개한 내용과 같이 python에는 게임을 만들기에 유용한 pygame 이라는 좋은 모듈이 있다. 그런데 아무리 좋은 모듈도 사용법을 모르면 쓸모가 없는 법. 하나씩 우리가 원하는 기능을 고민해가며, 기능을 구현해 볼 예정이다. 1. 가상환경 구성하기 - 해당 과정은 진행을 해도 되고 하지 않아도 되지만, 독립적인 프로젝트 구성을 위해 가상환경을 사용하는 것을 권장한다. * 간단히 독립적인 구성은 다른 프로젝트나 업무로 인해 기존의 프로젝트나 내가 의도치 않은 프로젝트들은 영향을 받지 않도록 분리하는 것을 말한다. * 단순한 예로 크롤링에 많이 사용되는 selenium 의 경우, 3.X과 4.X 버전에서는 name 을 통해 검색하던 구문이 아래의 형태처럼 달라져 버렸다. # sel.. 2024. 2. 3.
게임만들기-오프닝(베스킨라빈스 게임) 당연한 이야기 이지만 python으로도 게임을 만들 수 있다. 어느 분야든 보편적이고 특화된 언어가 있을 뿐이지, 장인은 도구를 탓하지 않듯, 어떤 언어든 게임을 만들 수 있는데 단지 고려해야할 사항이 좀 더 많고 좀 더 편리한 언어가 있을 뿐이다. 단순히 생각해보면 게임은 그래픽이 필수 요소는 아니다. 3자리 숫자를 맞추는 게임에서 부터 31을 부르면 틀리는 베스킨라빈스 같은 게임 등은 몇 가지 조건문만 만들 수 있으면 쉽게 작성할 수 있는 게임들이다. 말이 나온 김에 간단히 2가지 중 베스킨라빈스 게임을 만들어 보자. 1) 베스킨라빈스 게임 (31) - 게임의 진행 방법은 다들 아는 것처럼 2명이 교차로 1부터 숫자를 이야기 하는데 자신의 차례에서 최소 1개에서 최대 3개의 숫자를 이야기해야한다. -.. 2024. 2. 1.
프로젝트03. 도서 관리 프로그램 만들기6-sqlite3 대여 함수를 작성하던 지난 포스팅에 이어 나가기 전, 한가지 선행되어야 하는 조건이 있다. 바로 회원의 상태인데... 앞의 포스팅에서 도서를 대여할 때 가장 먼저 회원이 대여 가능한 상태인지를 확인하는 과정이 있었다. 그런데, 지금 해당 상태에 아무런 값이 없어, 관리자가 변경할 수 있는 함수를 먼저 추가하려 한다. 1. 회원 상태 변경 하기(관리자 기능) # 회원 등록 def registe_members(members_id, members_name, members_dob, phone_no, address, e_mail): # ID 등록 여부 확인 cursor.execute(f'select * from members where members_id = \'{members_id}\'') members_id_.. 2024. 1. 10.
프로젝트03. 도서 관리 프로그램 만들기5-sqlite3 이제 기본적인 Table이 완성 되었고, 도서 대여 상태에 따라 업데이트 등이 정상적으로 이루어지면 DB쪽 구성은 완성된다. 여기서 다시 정리를 해보면 우리가 만든 4개의 테이블은 각각 다른 동작을 위해 필요하지만 서로 연관 되어 있다. 1. 기본 테이블 정리 1) books_info 테이블 - 도서를 전체적으로 관리하는 테이블로 해당 테이블 내에 도서명과 대여권수를 확인할 수 있기 때문에 나중에 회원들이 도서명으로 대여 여부를 검색할 때 사용하게 될 테이블이다. 2) book_detail_info 테이블 - 같은 도서명이더라도 각각의 고유번호와 상태를 알 수 있는 정보를 가지고 있는 테이블로 해당 테이블에서 도서가 가지는 고유값을 통해 도서의 상태를 알 수 있는 것과 대여나 반납 시 해당 값을 이용해 .. 2024. 1. 9.
크롬(Chrome Browser) 자동 업데이트 중지 Edge와 더불어 가장 많이 사용하게 되는 Chrome 의 경우, 자동 업데이트가 진행된다. 그런데 버그나 기능 개선 등 자동 업데이트는 유용하지만, Chrome Driver로 크롤링이나 다른 웹 작업을 하는 입장에서는 매번 소리없이 진행되는 업데이트에 정상적인 동작이 안될 때가 종종 있다. 해당 링크를 통해 크롬 드라이버도 매번 업데이트를 진행할 수도 있다. 2023.11.07 - [IT 배우기/이것저것] - 크롬드라이버(ChromeDriver) 버전별 다운로드(download) 크롬드라이버(ChromeDriver) 버전별 다운로드(download) 자동화나 크롤링 작업등을 진행하게 되면서 ChromeDriver가 필요한 경우가 자주 발생하나, 실제 다운 경로를 못 찾는 분들에게 도움이 되고자 최근 기.. 2023. 12. 14.
프로젝트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.
반응형