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 함수 한번이 돌아가는 루프의 시간을 확인해보란 말씀이신거죠..?
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
152315 [질문] 컴 너무 느린데 cpu나 메인보드 문제일수 있나요? [4] will6069 21/01/23 6069
152314 [질문] 엑셀에서 지번을 오름차순 정리 중인데 -가 들어간 경우 [13] 함초롬8409 21/01/23 8409
152313 [질문] 영화 추천 빋습니다. 관상 st [8] 연애잘합니다5871 21/01/23 5871
152312 [질문] 에어컨 실외기 설치후 아파트 베란다에 벽갈라짐이... [3] MakeItCount5981 21/01/23 5981
152311 [질문] [스타1] 섬맵 컴퓨터 7:1의 무한 농성하기 [6] Keepmining10692 21/01/23 10692
152310 [질문] 한국 입국시 자가 격리 질문입니다 [13] OrBef7390 21/01/23 7390
152309 [질문] 성북구 피부과 추천해주실 분 계실까요? [1] 뷰데5445 21/01/23 5445
152308 [질문] 33살에 성형고민... 너무 늦은걸까요..? [22] 청소좀하지7744 21/01/23 7744
152307 [질문] 만화를 찾습니다. [2] Lewis6014 21/01/23 6014
152306 [질문] 휴대폰 기기변경 관련 질문이에요 [7] 시오냥5424 21/01/22 5424
152305 [질문] 세키로 엔딩 질문입니다(아마도 스포유) [2] Venom8177 21/01/22 8177
152304 [삭제예정] 마스크 교체 주기가 어떻게들 되세요? [26] 삭제됨7244 21/01/22 7244
152303 [질문] 나초 좋아하시는 분 추천 해주세요 [5] 육돌이5658 21/01/22 5658
152302 [질문] 넷플릭스 드라마 다크 질문입니다 [7] 어바웃타임6031 21/01/22 6031
152301 [질문] 허리/목아프면 운동을 어떻게 해야할까요... 인생이 노답입니다 [11] 아두리6452 21/01/22 6452
152300 [질문] 서울에 cpu + 보드 + ram 을, 기존 컴퓨터에 교환, 조립해주는 업체가 있을까요? [4] 마르키아르5800 21/01/22 5800
152299 [질문] 애플워치 질문 드립니다. [4] k`5525 21/01/22 5525
152298 [질문] 울트라21 통화 스피커 [2] 로드바이크5332 21/01/22 5332
152297 [질문] 핸드드립용으로 분쇄한 커피가루를 모카포트용으로 다시 분쇄해도 되나요? [4] 미켈슨4841 21/01/22 4841
152296 [질문] 서양도 찌질하거나 나이차있는 사람이 고백하면 극혐하나요? [34] 싶어요싶어요9824 21/01/22 9824
152295 [질문] 해외주식 거래 시 수익금 양도소득세에 대해 궁금합니다 [4] 삭제됨5055 21/01/22 5055
152294 [질문] 대학(원)생 노트북 이륙 허가 부탁드립니다!! [15] 가능성탐구자6486 21/01/22 6486
152293 [질문] 3년?만에 포켓몬고 복귀하는데 팁 부탁드립니다. [4] 훈타4718 21/01/22 4718
목록 이전 다음
댓글

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