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 함수 한번이 돌아가는 루프의 시간을 확인해보란 말씀이신거죠..?
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
153278 [질문] 계정과 비밀번호관리 [5] 샤오미5883 21/03/02 5883
153277 [질문] 선거게시판 이번엔 열리지 않나요? [2] 이라세오날6060 21/03/02 6060
153276 [질문] 자게에 로또분양보고 질문 드립니다. [9] Haru6166 21/03/02 6166
153275 [질문] 어무니랑 제주도 1박 2일을 가게되었는데 [6] 게르아믹6655 21/03/02 6655
153274 [질문] 질문두개가 있습니다 (스위트홈, 인터넷 커뮤니티) [6] 스물다섯대째뺨5677 21/03/02 5677
153273 [질문] 9월 전세 만기인데 다시 전세를 알아보는게 맞을까요? [16] Sebastian Vettel6403 21/03/02 6403
153272 [질문] 손목,척추,경추에 통증이 있는데 어디로 가야할까요 [6] 훈타6625 21/03/02 6625
153271 [질문] 하스스톤을 시작해보고자 합니다. [16] 신류진7390 21/03/02 7390
153270 [질문] pdf 엑셀 변환 문의입니다. [2] 환경미화5726 21/03/02 5726
153269 [질문] 휴대폰에서 연락처 삭제가 되지 않습니다. [3] 사다드6470 21/03/02 6470
153268 [질문] 옛날 팝송? 재즈? 노래를 찾고 싶습니다 ㅠㅠ [8] 헤븐리6735 21/03/02 6735
153267 [질문] 소설책 어디서 추천을 받아 보시나요? [3] 카오루7456 21/03/02 7456
153266 [질문] 구글지도에서 리뷰개수가 안보입니다 아니그게아니고9225 21/03/02 9225
153265 [질문] 3월에 꽃집에서 구매가능한 노란꽃이 어떤꽃인지 알 수 있을까요? [8] 개미8347 21/03/02 8347
153264 [질문] 결혼준비 질문입니다. [23] 교자만두8431 21/03/02 8431
153263 [질문] 남자 혼자 면허없이 제주도에서 하루만 시간이 있다면 어딜 갈까요? [8] 행복을 찾아서7095 21/03/02 7095
153262 [질문] 벽제승화원 제3자 방문? [6] 대박났네6396 21/03/02 6396
153261 [삭제예정] 팀장 임명 후 임신 확인.. 고민입니다. [26] 삭제됨9602 21/03/02 9602
153260 [질문] 프로 선수의 70% 부근의 자유투 성공률은.... [6] 마르키아르7971 21/03/02 7971
153259 [질문] 이시국 제사 관련 질문입니다 [3] 김경호7097 21/03/02 7097
153258 [질문] 한 회사만 오래 다닌 개발자 분들 어떻게 극복하셨나요? [9] 다이어트8235 21/03/02 8235
153257 [질문] 컴퓨터 파워 녹는현상 질문입니다 [3] 메펠마차박손8494 21/03/02 8494
153256 [질문] 냄새나는 회사 직원을 어떻게 설득해야? 할까요? [16] 삭제됨11126 21/03/02 11126
목록 이전 다음
댓글

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