PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2020/11/06 21:36:02
Name 하나둘셋
File #1 snake_game.py (5.2 KB), Download : 106
Subject [질문] 파이썬(파이게임) 에서 시간을 활용하는 것 관련 질문..
https://pgr21.com/qna/149496?divpage=64&ss=on&sc=on&keyword=코딩

먼저 저는 위의 질문글을 올렸던 사람입니다.  댓글 달아주신분들 정말 감사하고요
재미있게도 저는 위의글 쓰고 고민하다가 혼자서 파이썬을 공부하고 있습니다 ^^;;

새벽에 일어나서 코드보다가 출근할정도로 요즘 빠져 있는데요   아래문제가 안풀리니 더 뭐를 못하겠네요 ㅠㅠ

먼저 코딩문제는 어떻게든 혼자서 해결해야된다는것을 그동안 알게 되었기에 나름 찾아보았지만..
구글링으로 그냥 풀 수 없는 문제로 보여 질문글을 올려봅니다..



제 1차 목표는 뱀게임을 만들어 보는것이고 "시간이 지남에 따라(예를들면 0.2초마다)  한칸씩 움직이는 네모"를 만들고 싶습니다
나름 열심히 구현해 봤습니다만   제가 작성한 코드와는 달리 게임화면에서는 전혀 같은 시간 간격으로 네모가 움직이지를 않습니다 ㅠㅠ
(0.5초로 설정하든 0.3초로 설정하든 ..)

설정한대로는  0.1초마다 한칸을 가야되는데  실제로는 0.5초에 한번 갔다가 1초만에 한번 갔다가  다시 두두두 빨리 이동했다가....  다시 2초를 멈췄다가...  다시 0.05초만에 갔다가  ㅠㅠ         버퍼링 걸리는 동영상을 보는 느낌입니다.

제가 작성한 '시간' 관련한 부분은 아래와 같고..  전체 소스코드는 한번 첨부를 해봅니다 ㅠㅠ
혹시 가능하시다면  제 소스코드를 한번 실행해봐 주시면 감사하겠습니다...   코드문제인지 제 컴퓨터가 느려서인지? 알고 싶어서요..


컴퓨터가 좋진 않습니다만 (CPU I5 2.6GHZ, RAM 4GB)  그렇다고 이렇게 간단한게 사양때문에 버벅이진 않을것 같습니다.



from datetime import datetime
from datetime import timedelta

last_moved_time = datetime.now()  #기준시간

running = True
while running:
    dt = clock.tick(30)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

        if event.type == pygame.KEYDOWN:   #입력된키가 화살표면
            if event.key in DIRECTION_ON_KEY:  #블록의 방향을 화살표키에 맞춰 바꿈
                block_direction = DIRECTION_ON_KEY[event.key]    

        if timedelta(0, 0, 100000) <= datetime.now() - last_moved_time: # 0.1초 지나면
            if block_direction =='north':
                block_position[1] -= 1
            if block_direction =='south':
                block_position[1] += 1
            if block_direction =='west':
                block_position[0] -= 1
            if block_direction =='east':
                block_position[0] += 1

            last_moved_time = datetime.now()


통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
Je ne sais quoi
20/11/07 00:03
수정 아이콘
위 소스 코드는 수정할 부분이 많아 잠시 찾아봤더니 https://python.bakyeono.net/chapter-12-1.html 내용 같은데 github 같은 데 공개된 거 같지 않고 다 읽어보질 않아 정확히는 모르겠습니다만. 일단 위에 있는 코드만으로는 동작하진 않을텐데, 동작한다면 전체 코드를 올려주셔야 볼 수 있을 거 같네요.
하나둘셋
20/11/07 04:43
수정 아이콘
동작하는 전체코드는 위에 첨부해 두었습니다ㅠ
키친타올
20/11/07 01:04
수정 아이콘
if timedelta(0, 0, 100000) <= datetime.now() - last_moved_time:
이부분
timedelta(milliseconds=100) 으로 바꿔도 작동이 안되나요?
안된다면 밑에 부분의 소스코드에서 시간을 많이 잡아먹는 event가 있을 것 같네요. 실제로 for loop가 어느정도 걸리는지 debug 해보시는걸 추천드립니다.
하나둘셋
20/11/07 05:10
수정 아이콘
mulliseconds는 해봤지만 같네요ㅠ

for event in pygame.event 함수 한번이 돌아가는 루프의 시간을 확인해보란 말씀이신거죠..?
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
153101 [질문] 일체형 PC쓰던게 너무 느려져서, 버리려고 하는데.. [3] LG의심장박용택6783 21/02/23 6783
153100 [질문] 성적증명서에는 담당교수님 성함은 안나오나요? [3] 熙煜㷂樂6977 21/02/23 6977
153099 [질문] 와인 추천 좀 해주세요 [7] 비밀친구6842 21/02/23 6842
153098 [질문] 영화 추천 통쾌 일당백복수극 [10] Cazellnu6359 21/02/23 6359
153097 [질문] 바이퍼는 왜 한국에서 그렇게 못했을까요? [11] 천혜향8563 21/02/23 8563
153096 [질문] 윈도우10 파일열기 관련 단축키 질문있습니다. [5] monkeyD6224 21/02/23 6224
153095 [질문] 태블릿 노트북 관련 질문이 있습니다 [1] 응원은힘차게6524 21/02/23 6524
153094 [질문] (lol) 요새 우르곳하시는 분 계신가요?? [6] 돌아온탕아5821 21/02/23 5821
153093 [질문] 트렐로 이외의 성과 관리 프로그램? [1] 삭제됨5355 21/02/23 5355
153092 [질문] 오피스텔 인터넷 가입 관련 질문입니다. [3] 청소좀하지9687 21/02/23 9687
153091 [질문] 빔프로젝트 x10-4k 써보신분 계신가요? Arya Stark5221 21/02/23 5221
153090 [질문] 컴퓨터견적 이륙허가 부탁드립니다 [4] 뵈미우스7395 21/02/23 7395
153089 [질문] pgr에 들어오면 google_vignette 광고가 뜹니다. [10] 회색사과7773 21/02/23 7773
153088 [질문] 리얼포스 키보드 균등 45g 키감이 어떤가요? [18] Breguet8146 21/02/23 8146
153087 [질문] 맥 보상판매 가성비가 어떤가요? [9] 모나드6388 21/02/23 6388
153086 [질문] 문명 5 스팀으로 실행하고 있을 때 인터넷 속도가 영... [4] 스타본지7년8334 21/02/23 8334
153085 [질문] 맥북 에어 M1 후기 궁금합니다. [12] chamchI9200 21/02/23 9200
153084 [질문] 소설인가 영화 중에 교수가 허수에 대해 설명하면서, 현실로 나아가려 한다로... [3] 솔지7756 21/02/22 7756
153083 [삭제예정] 혹시 회원님들중 체모의 색이 검정이 아닌분들이 있나요? [13] 삭제됨7615 21/02/22 7615
153082 [질문] 저주파 목 마사지기 [2] 도들도들8388 21/02/22 8388
153081 [질문] 건담이 보고싶은데요.. [4] 환경미화6206 21/02/22 6206
153080 [질문] 양주 보관 방법 질문입니다 (위스키, 꼬냑, 와인) [6] 더치커피14068 21/02/22 14068
153079 [질문] 치킨 남은거 보관 어떻게하세요? [14] 레너블7595 21/02/22 7595
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로