[파이썬 기초 강의] 46강. 핑퐁 게임 만들기 | 터틀 그래픽 모듈

Поділитися
Вставка
  • Опубліковано 15 вер 2024
  • 이번 시간에는 파이썬의 터틀 그래픽 모듈로 핑퐁 게임을 만들어 볼 거예요.
    터틀 그래픽 모듈로 간단한 게임을 만들면서, 그동안 배웠던, 조건/반복/변수/함수 등의 기본 개념들을 정리해 보세요~
    총 20가지 프로젝트를 통해 파이썬의 기초를 다져 나갈 수 있는 파이썬 터틀 그래픽 강좌 ##
    [터틀 프로젝트 1편]
    [티쳐블] codethem.co.kr...
    [인프런] 인프런 링크는 댓글을 참고해 주세요. 여기서는 링크 오류가 발생하네요.
    기본 예제 2개를 포함하여 총 12가지 프로젝트 만들기
    파이썬 개념 : 변수, 리스트, 딕셔너리, 함수를 포함한 파이썬 기본 개념
    예시 : 국가별 수도 퀴즈 게임, 숨은 터틀 찾기, 축구 게임, 점프 게임, 청기 백기 게임 등
    [터틀 프로젝트 2편]
    [티쳐블] codethem.co.kr...
    10가지 프로젝트 만들기
    파이썬 개념 : 람다, 파일 읽고/쓰기, 클래스, 모듈 등의 개념이 추가됩니다.
    예시 : 터틀 피아노, 타로 카드 점, 맞춤법 폭탄 게임, 미로 탈출, 발사 게임 등
    이제, 전공이나 분야에 상관없이 누구나 코딩을 배워야하는 시기가 왔습니다. 코딩 너무 어렵게만 느끼지 마시고, 조금씩 하나하나씩 만들어 나가보세요~
    그러면 어느새 스스로 무언가를 만들고 있는 자신을 발견하게 되실 거예요.
    코드덤은 피지컬 컴퓨팅, 프로그래밍 등을 통해, 사물인터넷, 로봇, 가상현실, 게임, 애니메이션 등 다양한 예제와 활용법을 소개하고, 초급 강좌부터 응용, 활용까지 함께 다양한 아이디어를 공유하는 채널입니다.
    코딩은 배움을 우리 생활 속으로 녹여낼 수 있는 훌륭한 도구입니다. 코딩교육을 통해 배움과 실생활과의 경계가 허물어지고, 우리의 아이디어, 우리의 꿈이 현실에 조금 더 가까워질 수 있기를 바랍니다.
    #코드덤파이썬

КОМЕНТАРІ • 57

  • @코드덤
    @코드덤  3 роки тому +4

    다른 에디터를 사용하시는 분들은, 코드 맨 마지막에 t.done()을 추가해 주셔야 터틀 그래픽 창이 바로 닫히지 않습니다~총 20가지 프로젝트를 통해 파이썬의 기초를 다져 나갈 수 있는 파이썬 터틀 그래픽 강좌를 만나보세요! 숨은 터틀 찾기, 축구 게임, 수도 맞히기 퀴즈, 청기 백기 게임, 타로 운세 보기, 맞춤법 폭탄 게임, 미로 탈출 게임, 똥 피하기 게임 등 총 20가지 프로젝트를 만들어 나가는 과정입니다. [티처블 패키지] codethem.co.kr/p/turtle_package [인프런 패키지] www.inflearn.com/roadmaps/576 [유튜브 멤버십] : 구독버튼 옆의 "가입"버튼을 클릭해 주세요~ [티처블 1편] codethem.co.kr/p/turtle1 [인프런 1편] www.inflearn.com/course/파이썬-터틀-1?inst=03d45d6e [티처블 2편] codethem.co.kr/p/turtle2 [인프런 2편] www.inflearn.com/course/파이썬-터틀-2?inst=6c8945fe

    • @user-lv3yi4hi2y
      @user-lv3yi4hi2y 3 роки тому +1

      추가해도 안되는데 어떻게 하나여…

    • @haena6893
      @haena6893 2 роки тому

      @@user-lv3yi4hi2y 마지막에 t.mianloop() 넣으셔야해용

  • @user-hx2nb3wm1s
    @user-hx2nb3wm1s 10 місяців тому +1

    진짜 설명도 잘해주시고 저의 은인이십니다 감사합니다 !!

  • @재민s
    @재민s Рік тому

    고맙습니다

  • @Lee_Jun_Hyeok72
    @Lee_Jun_Hyeok72 2 роки тому +2

    if player.distance(ball) < 50 and -260 < ball.ycor() < -245:
    ball_yspeed *= -1
    t.done()
    이 부분에서 공이 플레이어 부분에 닿아서 튕기지가 않은데 어떻게 하나요? 버추얼 스튜디오를 사용 중입니다.

  • @thechair7557
    @thechair7557 3 роки тому

    안녕하세요 우연히 코딩 공부하려다 이채널을 찾게 되었구 상세히 알려주셔서 너무 감사해요.
    고3에 들어서 코딩 공부를 시작하다보니 아직 어리숙한 부분이 많았었지만 이런강의를 들으며 큰도움이 되고있어요~
    실례가 되겠지만 하나만 질문 드려볼게요
    왜 플레이어를 t.Turtle()로 지정하나요? 이게 무슨의미로서 이용이 가능한가요?

    • @코드덤
      @코드덤  3 роки тому +1

      고3이면, 여러 일정으로 바쁠텐데, 이렇게 다양한 방면으로 공부하는 모습이 멋지네요! Turtle()은 객체를 생성하기 위한 코드입니다. 혹시 블록코딩을 접해 보셨다면, 오브젝트 또는 스프라이트라는 용어로 접해보셨을 듯 합니다. 아주 쉽게 생각해서 캐릭터를 생성한다고 생각하시면 됩니다. 터틀 그래픽 모듈에서는 Turtle()로 터틀 오브젝트를 하나 생성을 하는 거예요. 이렇게 생성된 오브젝트를 동그라미 모양으로 바꿔서, 공으로 사용하고, Turtle()로 또 다른 오브젝트를 만들어 사각형 모양으로 막대를 만들어서, 막대로 사용하는 거예요. 44강의 터틀 레이스 게임을 보시면, 총 7마리의 터틀 선수가 함께 경주를 하는데요. for문을 사용해서, 각 터틀 선수를 Turtle()로 생성해 준 거예요.

  • @user-yz5qq2xk3b
    @user-yz5qq2xk3b 9 місяців тому

    왼쪽버튼 오른쪽 버튼으로 막대가 움직이게 하셨는데 딱딱 끊어지게 막대가 움직이다 보니 공을 계속 놓쳐서 게임이 빨리 종료 되어 버리는데 혹시 조금 부드럽게 움직이게 할수 있을까요~~?

  • @민순영-c2y
    @민순영-c2y Рік тому +1

    random 모듈을 왜 import 시켰을까요? random.함수명 으로 실행되는 코드가 없던데요.. 답변 해 주심 감사하겠습니다~

    • @코드덤
      @코드덤  Рік тому

      처음 공이 떨어지는 각도를 랜덤 각도로 적용할 생각이었기에 넣었지만, 입문자용이기에 좀 더 심플하게 가기 위해, 영상 촬영 중간 방향을 전환하면서 사용하지 않은 거예요~ 사용하지 않은 모듈이 있어 오히려 혼란스러웠을 수 있었겠네요^^ 한번 랜덤 각도를 적용시켜 보세요~ 2022년의 마지막 주, 멋지게 마무리하시기 바랍니다!

  • @user-tj2xs3ue7d
    @user-tj2xs3ue7d 2 роки тому +1

    파이썬에 이런게 있는지 꿈에도 몰랐습니다.
    근데 아래에 플레이어 바가 매끄럽게 움직이게 하는 방법은 없을까요?

    • @코드덤
      @코드덤  2 роки тому +1

      어제 분명히 답글을 달았는데, 답글이 사라졌네요^^ 인터넷 연결이 불안정했었던 것 같아요. t.tracer(0)로 터틀 그래픽의 기본 애니메이션 기능을 끄고 원하는 시점에 t.update()로 저희가 화면을 업데이틀 할 수 있습니다. 이 경우 컴퓨터 처리 속도가 워낙 빠르기 때문에, time모듈을 불러와서 시간 지연을 주어야 합니다. 47강 snake 게임에서 이 방법에 대해 소개합니다. 47강을 참고 하시면 도움이 될 듯 합니다.

  • @davidlee-nh2lr
    @davidlee-nh2lr Рік тому

    그 실행이 잘 되긴 하는데 스틱 움직일 때 공이 느려져요;; 아이들 쓰고 있는데

  • @녹차라떼-i7z
    @녹차라떼-i7z Рік тому

    재시작 버튼과 종료 버튼을 만드는 방법이 있을까요?

  • @user-ov5mp4lc9q
    @user-ov5mp4lc9q 3 роки тому +1

    강의 잘 보았습니다..감사합니다! 비주얼스튜디오코드를 사용해보니 게임창이 잠깐 생기다가 없어지는데 어떠하면 좋을까요?

    • @코드덤
      @코드덤  3 роки тому +1

      파이썬 IDLE가 아닌 다른 에디터를 사용하시는 분들은, 코드 맨 마지막에 t.done()을 추가해 주셔야 터틀 그래픽 창이 바로 닫히지 않습니다~ 좋은 주말 되세요^^

  • @윤철-c4o
    @윤철-c4o Рік тому

    키보드 왼쪽 오른쪽 누르는거 상관없이 볼의 속도는 일정하게는 못하나요?

  • @온바짜오
    @온바짜오 2 роки тому +1

    질문이 있습니다.
    오류가 발견되었다는 소리는 없는데 얘가 실행을 시키면 떴다가 1초만에 사라져버립니다.
    그리고 그 사라지기 전에 눈을 부릅뜨고 화면을 보면 공이 없네요ㅠㅠ
    초보자라서 설명 들으며 거의 베끼는 수준이었는데...

    • @코드덤
      @코드덤  2 роки тому +1

      파이썬 IDLE가 아닌 다른 에디터를 사용하시는 분들은, 코드 맨 마지막에 t.done()을 추가해 주셔야 터틀 그래픽 창이 바로 닫히지 않습니다~

  • @user-kty
    @user-kty Рік тому +1

    공이 땅에 닿으면 화면이 꺼져거립니다

    • @코드덤
      @코드덤  Рік тому

      혹시 다른 에디터를 사용하고 계신다면, 코드 맨 마지막 줄에 t.done()을 추가하셔야 합니다~

  • @사람같은사람같은사람

    부탁인데 구글 드라이브에 py 파일 넣어서 공유해주실수 있나요?

    • @코드덤
      @코드덤  Рік тому

      죄송합니다만, 파일은 제공해 드리지 않습니다. 한 줄씩 코드를 직접 입력해 보고, 발생하는 오류도 하나씩 수정해 나가는 과정이 코딩 학습에서 정말 중요합니다. 그러니, 중간에 오류가 발생하더라도, 고민하고 수정하며 한 줄씩 완성해 나가세요! 이 과정을 통해 더 크게 도약하실 수 있으실 거예요!

  • @user-oi6ch8tt8v
    @user-oi6ch8tt8v Рік тому +1

    공을 이미지로 바꾸는 법은 없나요? 다른 사진을 넣고싶은데 잘 안되네요..

    • @코드덤
      @코드덤  Рік тому

      40강에, 이미지 업로드 방법이 소개되어 있습니다~ (ua-cam.com/video/OK0NGEP75S8/v-deo.html) 이 내용 참고하시면 어렵지 않게 넣으실 수 있을 거예요. 단, 터틀 그래픽에서는 이미지 회전 기능을 제공하지 않기 때문에, 공이 방향을 바꾸는 부분은 구현하지 못하니, 이 부분은 참고해서 만들어 나가시면 됩니다~

    • @user-oi6ch8tt8v
      @user-oi6ch8tt8v Рік тому

      @@코드덤 #ball 부분에서 어디에 추가를 해야하는 건가요? ㅠㅠ 똑같이 해도 파일을 찾을 수 없다고 하네요

  • @user-mv2ww4ub5q
    @user-mv2ww4ub5q 2 роки тому

    중간에 다른 함수를 입력하려고 했는데 입력이 안 돼요ㅠㅠ 어떻게 해결하나요?

  • @Normall_Koreans
    @Normall_Koreans 2 роки тому +1

    혹시 터틀로 중력을 넣을수 잏을까요? 제발여ㅠㅠ

    • @코드덤
      @코드덤  2 роки тому

      while문 내에서 터틀의 y좌표값에 변화를 주면 됩니다. 점점 가속도 붙어 떨어질수 있도록 변수를 사용해서 y좌표값 변화량을 점점 키워주시면 되세요~

    • @Normall_Koreans
      @Normall_Koreans 2 роки тому +1

      감사합니다! 다른영상도 참고하겠습니다. 구독, 좋아요 누르고 갑니닷!

  • @user-zn8pe9df3i
    @user-zn8pe9df3i 2 роки тому +1

    제가 잘 하고 있다가 갑자기 키보드설정하는데 있어서 문제가 생겨서요 ㅜㅜ
    t.listen()
    >>> t.onkeypress(right, "Right")
    Traceback (most recent call last):
    File "", line 1, in
    t.onkeypress(right, "Right")
    NameError: name 'right' is not defined
    이렇게 빨간줄이 그어졌는데 영상이랑 똑같이 했는데 뭐가 문제일까요 ㅜㅜㅜ 알려주심 감사하곘습니다.

    • @코드덤
      @코드덤  2 роки тому

      right이라는 함수명에 오타가 있거나, 함수 위치가 잘못되었을 수 있을 듯 합니다. 3:24 구간의 함수를 만드는 위치와 함수명을 다시 한번 더 체크해 보세요~

  • @rad_air-ix6un
    @rad_air-ix6un 2 роки тому

    혹시 위에 생명이 계속 :

  • @게임-n4o
    @게임-n4o Рік тому

    묘듈설치어떻게해요

  • @한승호-l6r
    @한승호-l6r 2 роки тому

    테이블 사이즈를 700,800으로 키워서 제작하고 있는데 distance 부분에서 계속 막히네요...영상에서는 -260

    • @코드덤
      @코드덤  2 роки тому

      공을 튕기는 막대의 y좌표값 기준으로 설정하시면 됩니다. 위의 영상에서는 player로 초기에 goto로 (0, -270)에 위치시켰습니다. 막대의 y좌표가 -270이기때문에, 막대 표면에서 튕기는 효과를 만들기 위해, -270보다 조금 더 위쪽에서 튕기도록 구간을 설정한 거예요.

  • @멋졍-d8w
    @멋졍-d8w Рік тому

    안녕하세요! 질문이 있습니다! 공이 왼쪽이나 오른쪽 벽에 닿았을때 공의 개수를 늘리는 것도 추가하고 싶은데 어떻게 하면 될까요??

    • @코드덤
      @코드덤  Рік тому

      벽에 닿았을 때, 공 객체를 동일한 방식으로 추가로 생성해 주시면 되세요~

  • @say_kind
    @say_kind 2 роки тому

    player가 움직일 때 코드덤님도 그렇고 공이 느려지는데 왜 그런가요? 그리고 어떻게 고칠 수 있나요?

    • @코드덤
      @코드덤  2 роки тому

      터틀 그래픽 모듈은 입문교육용으로 한계가 있습니다~ 제대로 된 게임을 만들고 싶다면 pygame에 도전해 보세요! ^^

    • @say_kind
      @say_kind 2 роки тому

      @@코드덤 감사합니다!
      요즘 입문을 어떻게 해야하나 했는데
      코드덤님 영상이 너무 재미있고 이해가 잘되서
      너무 즐겁게 배우고 있어요!
      감사합니다!

  • @jhcho0712
    @jhcho0712 3 роки тому

    1:28초 쯤에 실행하는거 무슨 키 누르면 되나요?

    • @코드덤
      @코드덤  3 роки тому

      어떤 에디터를 사용하시는지에 따라 다릅니다. 만약 파이썬 IDLE를 사용하고 계신다면 F5를 눌러 실행시킬 수 있어요.

  • @leechangmoo
    @leechangmoo 2 роки тому +2

    Shape라는 함수가 없다는데요..?

    • @코드덤
      @코드덤  2 роки тому

      shape은 소문자로 적어주셔야 합니다. 파이썬에서는 대소문자 구분이 매우 중요합니다.

  • @glegoo9205
    @glegoo9205 3 роки тому

    import turtle as t

  • @layladawn92
    @layladawn92 Рік тому

    game_on 쓰기 전까지는 런을 누르면 화면이 떳다가 사라지고 그랬는데 공을 넣으니까 안 사라지고 계속 나오네요... 이건 왜 그런것인지 알 수 있을까요? 런으로 보여주고 혼자 꺼져버리는 현상은 어떻게 해야 하나요ㅠㅠ

    • @코드덤
      @코드덤  Рік тому +1

      다른 에디터를 사용하시는 분들은, 코드 맨 마지막에 t.done()을 추가해 주셔야 터틀 그래픽 창이 닫히지 않습니다~^^

  • @임수경-s7y
    @임수경-s7y 3 роки тому

    t.write(f"life : {life}, False, "center"", ("", 20)) 에서 빨간색 줄이 그어지는데 무엇이 잘못되었는지 아시나요?

    • @user-zz2ns8sf2p
      @user-zz2ns8sf2p 3 роки тому

      center에서 뒷부분 "" 에서따옴표 하나 빼셔야 될것같은데요

    • @haena6893
      @haena6893 2 роки тому

      따옴표 쓰실 때
      " ' ' "
      ' " " '
      이렇게 서로 다른 걸 쓰셔야해요
      " " " "
      ' ' ' '
      같은 것끼리 안에 쓰면 에러나요

  • @user-xu1gn5jj4s
    @user-xu1gn5jj4s 2 роки тому

    distance 함수와 write 함수를 좀 더 자세히 알 수 있을까요??

    • @코드덤
      @코드덤  2 роки тому

      write 함수는 31강 두뇌 훈련게임에서 자세히 소개하고 있으니, 해당 강좌를 참고해 주세요. (ua-cam.com/video/e0iBjOMbzQg/v-deo.html ) distance 또한 42강부터 자주 사용되고 있으니, 예제를 통해 사용되는 방법을 접해 보시면 이해가 쉽게 되실거예요.