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 함수 한번이 돌아가는 루프의 시간을 확인해보란 말씀이신거죠..?
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
150039 [질문] 넥슨 피파 온라인 이거 대체 설치를 몇번해야되는건가요? [3] 삭제됨5327 20/11/08 5327
150038 [질문] 차 찌그러진거 저렴하게 펴주는곳 아시는분? (서울) [3] 유료도로당6078 20/11/08 6078
150037 [질문] G PRO 무선마우스 어떻게 해야할까요...? [10] 피를마시는새5803 20/11/08 5803
150036 [질문] 휴대폰 모니터 연결질문입니다. 12있는5389 20/11/08 5389
150034 [질문] 가디언테일즈 리세계정 구매하고 하는게 좋나요? [9] luvsic6915 20/11/08 6915
150033 [질문] 런닝화 추천 부탁드립니다. [7] Grundia6492 20/11/08 6492
150032 [질문] MLB 명전 기준으로 크보적용하면 어느선수가..? [13] Neoguri8245 20/11/08 8245
150031 [질문] 가디언테일즈 진로상담 [4] Beemo85132 20/11/08 85132
150030 [질문] 갤S8 > 노트10+ 가도 괜찮을까요? [13] 밸런스6088 20/11/08 6088
150029 [질문] 알뜰요금제 추천 부탁드립니다. [15] 변함없이6364 20/11/08 6364
150028 [질문] 윈도우10에서 3TB 하드디스크를 인식하는 방법이 있나요? [4] VictoryFood7061 20/11/08 7061
150027 [질문] 갤럭시 노트 20은 왜 인기가 없는 이유와 적정가는? [12] ArcanumToss8671 20/11/08 8671
150026 [질문] 스포티비 축구 중계 질문입니다 [4] v.Serum6081 20/11/08 6081
150025 [질문] 소개팅녀와의 관계 진전이 느려서 고민입니다 [40] 스타슈터19280 20/11/07 19280
150023 [질문] 와우용 10400 견적/호환 봐주세요 [1] 여섯넷백6757 20/11/07 6757
150022 [질문] 구글 도움 좀 제발 부탁드립니다. 아라가키유이4655 20/11/07 4655
150021 [질문] 폭행건 처벌불원의사를 철회할 수 있을까요? [3] 요플레마싯어5998 20/11/07 5998
150020 [삭제예정] 프로게이머 이름으로 누군지 찾을 수 있을까요? [1] 삭제됨5817 20/11/07 5817
150019 [질문] 아이패드 프로 11형 (2세대) 무선 키보드 쓸만 한게 있을까요? [7] 우주전쟁5794 20/11/07 5794
150018 [질문] 90년대 산 일본산 팬더 전기기타 수리하고 싶습니다. [7] 레뽀5590 20/11/07 5590
150017 [질문] 그래픽카드 쿨러 문의합니다 [4] 틀림과 다름5324 20/11/07 5324
150016 [질문] 명동 이태원 근처에 갈만한 양갈비집 있을까요 [5] 일정7372 20/11/07 7372
150015 [질문] 허리 삐끗해서 못 움직이겠는데 어쩌죠 [13] 거짓말쟁이7518 20/11/07 7518
목록 이전 다음
댓글

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