본문 바로가기

파이썬 게임25

Python 32장 [turtle 퐁 게임] ▣ MainGame.py : 전체메인게임을 조절하는 소스코드 ▣ player.py : 플레이어를 다루는 소스코드 ▣ ball.py : 공을 다루는 소스코드 ▣ score.py : 점수를 다루는 소스코드 ▣ MainGame.py ▣ player.py ▣ ball.py ▣ score.py https://docs.python.org/3/library/turtle.html turtle — Turtle graphics Source code: Lib/turtle.py Introduction: Turtle graphics is an implementation of the popular geometric drawing tools introduced in Logo, developed by Wally Feurzeig, S.. 2023. 10. 4.
Python 31장 [turtle 뱀 게임] ▣ snakeBody.py : Snake클래스는 뱀 생성, 아이템을 먹으면 뱀 몸통 추가, 뱀 움직이기, 키입력 등을 관리하는 클래스 ▣ gameItem.py : Item 클래스는 아이템, 아이템 랜덤위치 등을 관리하는 클래스 ▣ scoreMenu.py : ScoreMenu 클래스는 점수판, 점수획득, 게임오버 등을 관리하는 클래스 ▣ snakeMain.py : 게임에 전체를 관리하는 코드 ▣ 소스코드를 확인하고 import에 대한 부분도 확인 2023. 9. 13.
Python 29장 [turtle 달리기 레이스게임] ▣ turtle.Turtle(shape="turtle") : Turtle() 함수 객체를 정의할 때에 shape로 모양 변경가능 ▣ turtles.append(tt) : 객체를 리스트에 추가가능 ▣. xcor : 객체의 x 값 반환 2023. 8. 25.
Python 26장 [turtle 원그리기, 도장찍기] ▣ circle(반지름) : 반지름만큼 원을 그려주는 함수 ▣ stamp() : 커서 모양을 도장처럼 찍어주는 함수 2023. 8. 23.
Python 13장 [함수] ▣ 함수 정의 방법 : def 함수이름(매개변수): ▣ 함수 정의시 끝에 꼭 : 콜론 기호를 붙어야한다. ▣ 함수에 속한 코드는 들여 쓰기(띄어쓰기 4칸)으로 구분한다. ▣ 함수 호출방법 : 함수이름() ▣ 함수 호출 시 띄어쓰기를 주의해야 한다. 파이썬은 다른 언어와 다르게 함수에 범위를 띄어쓰기로 구분하기 때문 ▣ def function(name): : name은 매개변수(받는 변수)를 의미 ▣ 함수 안에서 기본 함수호출뿐만 아니라 조건문, 반복문 모두 코드 사용가능 ▣ function(num1, num2) : 매개변수는 여러 개의 매개변수를 전달할 수 있다. 단 매개변수의 수와 전달할 변수의 수가 같아야 한다. ▣ return : 함수를 호출한 코드에게 다시 값을 돌려주는 키워드, 함수를 끝내는 키.. 2023. 7. 20.
Python 12장 [파이썬 행맨게임] ▣ 행맨 life 리스트를 만들 때 문자를 ''' 작은따옴표 3개로 구분하면 모양 그대로 출력이 가능 ▣ 리스트에 인덱스 번호 0 번째, 1번째, 2번째 이런 식으로 구분 ▣ len() : 리스트에 길이뿐만 아니라, 문자열에 길이도 구해주는 함수 ▣ while 문은 조건이 맞으면 반복, while True: 로 작성하고 break로 반복문을 끝내도 무방 ▣ if not in : 왼쪽에 있는 데이터가 오른쪽에 포함되어 있지 않다면 True, 아니면 False ▣ if in : 왼쪽에 있는 데이터가 오른쪽에 포함되어 있으면 True ▣ in : in 키워드는 for과 if에 있을 때에 사용 의도가 다르다. ▣ 알고리즘순서도를 작성하고 설계를 마친 후에 주석으로 알고리즘을 작성하고 하나하나 작성하면 이해하기가.. 2023. 7. 20.
파이썬 - [이미지 애니메이션] ▣ 이번장에서는 파이썬 이미지를 여러 개 그려 움직이는 애니메이션을 만들어보겠습니다. pygame.event.key 에 관련하여 캐릭터가 움직이는 부분은 따로 공부해주세요. ▣ 캐릭터에 움직이는 애니메이션 이미지는 여기 홈페이지를 통해 무료를 다운로드하여주세요. https://itch.io/game-assets/free ▣ 또한 이미지 크기 및 방향을 변경해주셔야 합니다. 오른쪽, 왼쪽을 움직이는 이는 애니메이션을 제작하기 때문에 꼭 오른쪽 방향, 왼쪽 방향 이미지를 다운로드하거나 편집해서 수정해주세요. https://www.iloveimg.com/ko/crop-image 이미지를 신속하게, 무료로 잘라내세요! JPG, PNG, GIF 파일을 신속하게, 무료로 잘라내세요! www.iloveimg.com .. 2021. 5. 20.
파이썬 - [pygame, 마우스입력, 마우스좌표, event] ▣ 키보드를 입력받는 것과 동일하게 for event in pygame.event.get()으로 입력받는 값을 for으로 event에 하나하나 넣어줍니다. ▣ for으로 뿐만 아니라 바로바로 단일화해서 이벤트 값을 반환해주는 함수도 있습니다. poll() 함수입니다. https://www.pygame.org/docs/ref/event.html#pygame.event.poll pygame.event — pygame v2.0.1.dev1 documentation Pygame handles all its event messaging through an event queue. The routines in this module help you manage that event queue. The input queu.. 2021. 5. 15.
파이썬 27장(pygame_02, event, get(), KEYDOWN, K_, 키보드 입력) ▣ 안녕하세요 ^^ 오늘도 저번장에 이어서 게임을 만들어보겠습니다. 다시 말씀드리지만 코딩은 정답이 없다고 생각합니다. 코딩은 결국 컴퓨터한테 명령을 하는 것이고 자신에 생각을 컴퓨터한테 전달해서 그걸 표현하는 작업이 코딩이기 때문에 제가 하는 예제는 참고만 해주시고, 여러 블로그들에 글을 보시면서 자신만에 코드를 완성해가셔야 진짜 실무에서 코딩을 하실 수 있습니다.~~ ▣ 먼저 키보드를 입력받는 코드를 진행해보겠습니다. while True: 안에 코드를 입력하겠습니다. 그건 계속해서 키보드에 값을 입력받아야 하기 때문에 계속 반복되는 메인코드에 넣었습니다. 그리고 for event in pygame.event.get() 이라고 되어있죠? for문을 우리가 배워서 알고 있습니다. event라는 값 안에 .. 2021. 4. 29.
파이썬 25장(tkinter_09, 미로게임_04, 초기화, 사운드, 아이템, winsound, create_rectangle, delete) ▣ 안녕하세요 ^^ 오늘은 저번장에 이어서 미로게임을 좀 더 업그레이드를 진행하도록 하겠습니다. ▣ 우선 먼저 플레이어가 미로 밖을 통과하지 못하게 코드를 진행하겠습니다. 여러 가지 방법이 있겠지만, 저는 키를 입력했을 때에 조건문에서 and 논리 연산자를 추가하여 진행했습니다. 예를 들어 UP일 경우 posY - 1 을 했을 때 리스트에 값이 0이면 포지션을 움직이게 만들었습니다. 그리고 테스르를 하면 리스트에 요소 값이 1인 경우에는 움직이지 않는 걸 확인할 수 있습니다. 두 가지에 연산 조건이 참일 경우 움직이기 때문입니다. 그럼 이제 아이템을 추가해보겠습니다. ▣ 아이템 png를 추가해주시고요. 아이템을 위치는 저는 리스트에서 2로 지정하였습니다. 그리고 요소 값이 2인 경우 캔버스에서 그려주게 .. 2021. 3. 2.
파이썬 24장(tkinter_08, 미로게임_03, 사운드, 아이템, winsound, create_rectangle, delete) ▣ 안녕하세요. 오늘은 저번장에 있는 내용과 이어지지만 새로운 프로젝트를 만들어서 연결해보는 공부를 해보도록 하겠습니다. ▣ 먼저 import winsound를 불러오겠습니다. 이건 아이템을 먹었을 때, wav파일을 재생하기 위한 모듈입니다. 그리고 아이템에 대한 X, Y 좌표 변수도 선언 및 정의를 해주도록 하겠습니다. ▣ 그리고 간단하게 Player를 컨버스에 배치해주시고, 아이템까지 item좌표로 배치해주도록 하겠습니다. 이때 tag 지정하는거 잊지 마세요. ▣ 움직이는 코드는 저희가 저번장에서 공부했으니 넘어가고 main함수에 대한 부분을 수정해보도록 하겠습니다. 우선 아이템에 닿였을 때 조건문을 만들어보겠습니다. 많은 방법들이 있겠지만, 저는 pos - item에 위치를 뺀 값으로 지정했습니다... 2021. 2. 2.
파이썬 23장(tkinter_07, 미로게임_02, 플레이어 이동, keysym, after, coords) ▣ 안녕하세요 오늘은 저번 시간에 이어서 미로게임을 만들어보겠습니다. 간단하게 플레이어를 넣고 방향키를 누르면 이동하는 걸 공부해보겠습니다. ▣ 먼저 저번장까지 완성한 내용을 열어서 keyinput 전역변수를 선언해주겠습니다. 여기에는 키를 입력한 값을 저장하는 변수라고 생각하시면 됩니다. 그리고 키에 값을 입력 받는 함수 key_Down을 만들어보겠습니다. 전역 변수를 사용해야 하기 때문에 gloabal키워드로 keyinput을 선언했고, 매개변수로 받은 i에 값에 i.keysym 키워드를 사용합니다. 저번장에서도 했지만, 이 키워드는 입력받은 키에 이름값을 가져옵니다. 만약에 방향키"Up"을 누르면 이렇게 "Up"에 이름값이 keyinput에 대입됩니다. ▣ 그리고 밑에 보시면 key_Up함수를 정의.. 2021. 1. 5.
파이썬 22장(tkinter_06, 미로게임_01, 도형그리기, 게임맵만들기, canvas.create_rectangle, 2차원 리스트, 리스트) ▣ 안녕하세요^^ 오늘은 간단하게 캔버스를 활용하여 도형을 그려보고 도형을 이용해서 미로게임 맵을 만들어보는 과정까지 함께 공부해도록하겠습니다. ▣ 먼저 동일하게 선언을 TK()를 선언해주시고, 타이틀을 지정한 후에 cavas를 선언해주세요. 그리고 cavas.create_rectangle를 선언해줍니다. 제가 밑에 주석을 넣은 것처럼 create_rectangle(x1, y1, x2, y2, fill=채우기 색, outline=선색, width=선두께) 이렇게 지정을 해줘야 하는데 x1, y1, x2, y 2가 먼지 구분이 잘 안되실 거라 생각합니다. 이건 쉽게 이야기하면 ▣ 그림에서처럼 x1, y1은 좌측 상단 좌표를 이야기합니다. x2, y2는 우측 하단 좌표를 이야기합니다. 한마디로 좌측과 우측에.. 2020. 12. 31.
파이썬 20장(tkinter_04, 메시지박스 , after(), 시간, GUI, import, 타이머) ▣ 안녕하세요^^ 오늘은 저번장에 이어서 tkinter모듈을 사용해서 GUI를 구현 보도록 하겠습니다. 먼저 메시지박수를 출력하는걸 간단하게 구현해보겠습니다. ▣ 우선 메시지 박스를 사용하려면 import.tkinter.messagebox 모듈을 추가해주시고, 우리가 저번에 했던것처럼 버튼을 먼저 생성해주겠습니다. 그리고 버튼을 클릭할 때, 메시지를 출력하게 할 텐데 tkinter.messagebox.showinfo("타이틀 제목", "내용")을 함수에 넣습니다. 그리고 버튼에 command를 함수로 지정해줍니다. ▣ 실행을 해보면 버튼을 클릭할 때 이렇게 메시지가 나오게 됩니다. ▣ 여기서 중요한 건 tkinter.messagebox.showinfo() == 정보 표시 tkinter.messagebox.. 2020. 12. 7.
파이썬 19장(tkinter_03, import, GUI, checkbutton, 체크버튼, boolean) ▣ 안녕하세요~~^^ 오늘은 저번장에 이어서 tkinter을 이어서 공부해보도록 하겠습니다. 먼저 체크박스부터 생성하는 걸 공부해보도록 하겠습니다. ▣ 캔버스와 거의 비슷합니다. 먼저 체크버튼을 선언을 하고 pack() 함수로 배치하면 됩니다. 그럼 이렇게 우리가 지정한 text로 체크버튼이 생성되는 걸 확인할 수 있습니다. 안에 네모 체크버튼을 누르면 체크가 되는 것도 확인할 수 있습니다. ▣ 그리고 체크버튼 처음에 상태를 지정하기 위해서는 tkinter.BooleanVar()를 선언해주고 그 값을 set()함수로 지정해주면 처음 상태를 지정할 수 있습니다. boolean 타입은 우리가 공부했었죠? 참이면 True == 1, false == 0 으로 공부했습니다. ▣ 그리고 이렇게 현재에 상태를 get.. 2020. 11. 30.
파이썬 18장(tkinter_02, import, GUI, 텍스트필드, 버튼, get()) ▣ 안녕하세요 ^^~~ 저번장에 이어서 tkinter을 활용하여 GUI를 구현해보겠습니다. 우선 저번장에 복습을 할 겸 한 가지를 만들어보겠습니다. ▣ 이건 저번장에 내용을 모두 합쳐서 치킨 메뉴를 고르는 프로그램을만들어보았습니다. 직접 코드를 작성해보시고 여러분들만에 메뉴를 고르는 프로그램을 만들어보세요. ▣ 이건 텍스트를 입력할 수 있는 필드를 만드는 코드를 작성해보았습니다. 레이블과 동일하게 Entry함수로 변수에 선언을 하고 place로 위치를 지정하고 실행을 하면 이렇게 입력텍스트필드가 생성되는 걸 볼 수 있습니다. 그럼 텍스트필드에 입력한 값을 가져오는걸 간단하게 구현해보겠습니다. ▣ 버튼을 누르면 텍스트 필드에 있는 값을 버튼에 txt로 지정하게 해 보겠습니다. 버튼을 생성하고 함수를 하나 .. 2020. 11. 17.
파이썬 13장(딕셔너리, 튜플) ▣ 안녕하세요 ^^ 저번장까지 파이썬 공부 열심히 해보셨나요? 오늘은 파이썬에서 리스트 다음으로 많이 활용하게 되는 딕셔너리와 튜플을 공부해보겠습니다. 먼저 딕셔너리부터 진행해보겠습니다. ▣ 딕셔너리를 만들려면 리스트와 다르게 { } 괄호를 사용해야 합니다. 그리고 키값으로 지정할 값을 입력해주시고 : 콜론으로 구분한 다음에 값을 입력해주시면 됩니다. 그리고 여러 값을 생성하려면 , 콤마로 구분하시면 됩니다. print로 출력을 해보면 이렇게 키와 값이 나오는 걸 확인할 수 있습니다. ▣ 다시 말해 리스트와 다른 점은 요소로 값을 관리하는 게 아닌 키값으로 값을 관리한다고 생각해주시면 됩니다. 사전이라고 생각하시면 더 편할꺼 같네요. 그럼 여기서 이런 질문이 있을수 있습니다. 키와 값을 꼭 문자열로만 해.. 2020. 10. 6.
파이썬 10장(리스트_2) ▣ 안녕하세요 ^^ 저번장 과제는 해보셨나요? 조금씩 조금씩 파이썬에 대해 이해해가고 계신 모습이 보이는 거 같아 아주 뿌듯하네요. 그럼 오늘은 저번장에 이어서 리스트 2번째로 공부해보겠습니다. 오늘도 저번장처럼 간단한 실습으로 공부해보도록 하겠습니다. ▣ 이렇게 리스트를 두개를 만들어 + 연산자를 활용하여 두 리스트에 값을 한꺼번에 더해서 출력할 수도 있습니다. 하지만 정말 두 리스트에 값이 더해진걸까요? ▣ 바로 밑에 이렇게 aList1과 aList2에 값을 출력해보면 합쳐지지 않고 그대로 값이 있는 걸 확인할 수 있습니다. 다시 말해 print화면에 + 리스트가 더한 값을 보여주기만 했고 해당 리스트에 변화는 주지 안 다라라는 결론이 나오게 됩니다. 그럼 어떻게 하면 둘에 리스트를 합친 값을 출력할.. 2020. 9. 16.
파이썬 9장(리스트_1) ▣ 안녕하세요 ^^ 저번장 과제는 해보셨나요? 제가 정말 오랜만에 글을 남기죠?? ^^ 요즘 게임 제작이랑 여러 강의 준비 그리고 닌텐도 스위치를 사서 그 재미에...^^;; 죄송합니다. 그래도 최대한 아무리 바쁘더라도 일주일에 한개씩은 함께 글을 써서 공부하는 시간을 가지도록 하겠습니다. ▣ 우리가 변수를 사용하다보면 이런 생각을 하실 거라 생각합니다. 같은 자료형에 변수를 여러개 만들어서 관리할 수는 없을까라는 생각 말이죠. 네 가능합니다. 몇 가지 방법이 있지만 이번장에서는 리스트를 함께 공부해보도록 하겠습니다. 리스트 내용이 좀 많아서 챕터를 나눠서 진행하겠습니다. ▣ 우리가 변수를 공부할 때 변수는 무엇이라고 이야기했을까요? 네... 맞습니다. 데이터를 담는 상자, 그릇, 메모리라고 비유를 했습.. 2020. 7. 21.
파이썬 8장(input, 여러 개 입력, 입력, 출력) ▣ 안녕하세요 ^^ 저번장 과제는 다 해보셨나요? 다 하셨죠?? 잘하고 계십니다. 코딩을 사고해서 작성하시고 읽고 해석하고 고치시는 훈련을 계속하신다면 더 깊이 있는 코딩을 하실 수 있을 거라 생각합니다. 그러니 포기하지 마세요~~ ▣ 그럼 오늘은 입력 함수 input을 공부해보겠습니다. ▣ 먼저 입력을 받아오려면 input() 함수를 사용해야 합니다. 첫 번째 변수를 먼저 선언하고 input() 함수를 사용해줍니다. 입력을 받을 값을 num1에 넣기 위해 = 대입 연산자를 넣었습니다. 그리고 print() 함수로 입력한 값을 바로 출력하기 위해서 num1를 넣었습니다. 그리고 Run을 해서 확인해보면, 250이라고 입력을 하면 바로 250이 출력되는 걸 확인할 수 있습니다. ▣ 그리고 input함수 괄.. 2020. 7. 13.
파이썬 7장(반복문, for문, 중첩for문) ▣ 안녕하세요 ^^ 저번장 과제 다 해보셨나요?? while문을 공부하면서 이런 생각 드셨을 거라 생각합니다. 몇 번 반복하는걸 좀 더 간결하게 따로 변수로 연산하지 않고 할 수 있는 반복문이 없을까라는 생각 말이죠. 그게 바로 for문 입니다. 그럼 오늘은 for문을 공부해보도록 하겠습니다. ▣ for문은 쉽게 이야기해서 몇 번 반복하기로 생각하시면 됩니다. 숫자에 범위를 지정해서 변수에 넣고 그 숫자가 끝날 때까지 반복하는 반복문이라고 생각하시면 됩니다. while문은 상황에 따른 반복이라면 for문은 숫자에 따른 반복이라고 생각해주시면 됩니다. 그럼 한번 코딩을 진행해보겠습니다. ▣ for문은 이렇게 처음에 whlie문과 다르게 반복할 숫자를 넣을 변수를 먼저 지정해줍니다. 그리고 in을 붙여줍니다.. 2020. 7. 10.