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 : 103
Subject [질문] 파이썬(파이게임) 에서 시간을 활용하는 것 관련 질문..
https://pgr21.co.kr/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 함수 한번이 돌아가는 루프의 시간을 확인해보란 말씀이신거죠..?
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
157655 [질문] 노트북 쓸만한 제품 추천좀 부탁드립니다 [1] 모스티마12116 21/08/22 12116
157596 [질문] 취업시 연봉 언제 물어보세요? [10] 다이어트13232 21/08/19 13232
156481 [질문] 파이썬 프로그래밍 실무 질문입니다 [7] 인생은서른부터7114 21/07/06 7114
156149 [질문] 코딩용 노트북 추천 부탁 드립니다. [15] 페이몬11212 21/06/23 11212
154868 [질문] 재택근무+게임용 컴퓨터 문의 드립니다. [8] 희랑7271 21/05/04 7271
153336 [질문] SSD에 코딩 프로그램 설치, HDD에 파일 저장 -- 이게 되나요? [14] 위너스리그7935 21/03/04 7935
153299 [삭제예정] 본체 견적 질문입니다 (용도, 견적 추가) [5] 오만과 편견6113 21/03/03 6113
153199 [질문] 파이썬 반복문 질문 [15] 외국어의 달인7473 21/02/27 7473
152863 [질문] 30대 중반쯤되면 신입으로 들어가기 불가능이라고 봐야겠죠? [20] 레너블18130 21/02/14 18130
152754 [질문] 코딩 학습 서비스 추천 부탁드립니다 [2] 트와이스정연5436 21/02/09 5436
152633 [질문] 가격도 무게도 가벼운 노트북 추천 부탁드립니다. [2] 응원은힘차게5349 21/02/04 5349
151985 [질문] 글쓰기나 코딩용 키보드 추천 부탁드립니다. [2] 판을흔들어라5233 21/01/12 5233
151553 [질문] [컴공, 자기관리] 미래가 막막합니다. [14] Aku7361 20/12/28 7361
151480 [질문] 취미로 코딩을 배우고자 합니다. 어떻게 접근하는게 좋을까요? [14] 아이언맨10043 20/12/26 10043
150975 [질문] 코딩관련 구글에서 검색시 ,(쉼표) 문자나 []괄호 문자를 포함해서 검색하는법? [7] 하나둘셋7191 20/12/10 7191
150921 [질문] 초등학교 1학년 노트북 괜찮을까요? [13] 앙스8619 20/12/08 8619
150797 [질문] 우분투를 쓰면 컴퓨터가 윈도우보다 빠른가요? [13] 하나둘셋6430 20/12/04 6430
150539 [질문] 코딩학습(C#) 관련 이런저런 질문 [19] 하나둘셋6589 20/11/26 6589
150420 [질문] 노트북 추천 좀 해주실 수 있나요? [16] 부질없는닉네임5719 20/11/22 5719
150209 [질문] 코딩 입문자 질문입니다. [4] 단수6588 20/11/14 6588
150183 [질문] 코딩 관련 무엇을 학습할까에 대한 고민.. [8] 하나둘셋6792 20/11/13 6792
150000 [질문] 파이썬(파이게임) 에서 시간을 활용하는 것 관련 질문.. [4] 하나둘셋6394 20/11/06 6394
149768 [질문] 폰트 이름 질문드립니다! [1] lefteye4058 20/10/29 4058
목록 이전 다음
댓글

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