로그인

검색

MoA
조회 수 3585 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄 첨부

9_main.png

 

1. 밀 클래스 추가

 

 

class Wheat_Plant(pygame.sprite.Sprite):

    def __init__(self, x, y):
        self.stage_1_img = load_img('plot\wheat', 'wheat_1.png')
        self.stage_2_img = load_img('plot\wheat', 'wheat_2.png')
        self.stage_3_img = load_img('plot\wheat', 'wheat_3.png')
        self.stage_4_img = load_img('plot\wheat', 'wheat_4.png')

        pygame.sprite.Sprite.__init__(self)
        self.image = self.stage_1_img
        self.rect = self.image.get_rect()
        self.rect.topleft = x, y
        self.start_time = current_time
        self.growthtime = self.get_growth_time()
        self.stage = 1
        plants.append(self)
        allplants.add(self)
        objectlist[self.rect.collidelist(objectlist)].occupy()

    def get_growth_time(self):
        return 5000 + random.randint(0, 5000) # Returns a random amount of time between 5 and 10 seconds

    def update(self):
        if self.stage < 4:
            if time_in_ms() - self.growthtime >= self.start_time:
                self.grow()

    def grow(self):
        self.stage += 1
        exec('self.image = self.stage_%d_img' % (self.stage))
        self.growthtime = self.get_growth_time()
        self.start_time = current_time

    def harvest(self):
        objectlist[self.rect.collidelist(objectlist)].dry()
        objectlist[self.rect.collidelist(objectlist)].unoccupy()
        self.kill()
        plants.remove(self)
        farmer.wheat += 1

 

작성중

 

 

2. Farmer 클래스의 interact() 함수 업데이트

 

 

    def interact(self):
        checkspot = self.rect.move((-64 * (self.facing == 'left') + 64 * (self.facing == 'right')), (-64 * (self.facing == 'up') + 64 * (self.facing == 'down')))  # Determines the block the farmer is facing
        found_object = checkspot.collidelist(objectlist)
        found_plant = checkspot.collidelist(plants)
        if found_object != -1 and found_plant == -1:
            entity = objectlist[found_object]
            if entity.__class__.__name__ == 'Plot':
                plot = entity
                if plot.state == 'dry' and self.water > 0:
                    plot.wet()
                    self.water -= 1
                elif plot.state == 'wet' and self.seeds > 0:
                    plant = Wheat_Plant(checkspot.left, checkspot.top)
                    self.seeds -= 1
            elif entity.__class__.__name__ == 'Well':
                well = entity
                self.water = self.water_max
            elif entity.__class__.__name__ == 'WateringCan':
                wateringcan = entity
                self.water_max = 4
                wateringcan.kill()
                hud_sprites = allhudsprites.sprites()
                for sprite in hud_sprites:
                    if sprite.name == "Watering Can":
                        sprite.image = load_img('HUD', 'watering_can_large.png')
                        objectlist.remove(wateringcan)
        elif found_plant != -1:
            plant = plants[found_plant]
            if plant.stage == 4:
                plant.harvest()  

 

작성중

 

 

3. while 문 업데이트

 

코드를 참고한다. 코드를 참고하기 전 어디에 어떤 코드를 추가해야 밀의 상태가 업데이트 되고 그려질지 생각해본다.

 

 

 

 

 

 

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 Tool/etc Programming 게시판 관련 2 MoA 2014.11.01 15452
118 API/MFC Thread Programming Naya 2012.08.02 2955
117 Deeplearning 추천(Recommendation) 시스템 - 알고리즘 Trend 정리 OBG 2021.08.03 2940
116 Deeplearning Using Machine Learning to Predict Customers’ Next Purchase Day OBG 2024.02.27 2939
115 Python 2048 Game in Python OBG 2022.09.22 2935
114 API/MFC VC의 소스 파일, sln파일 관리 MoA 2013.07.28 2921
113 Tool/etc Flash CS5 and Version Control MoA 2013.10.11 2913
112 Library CSpreadSheet MoA 2014.02.03 2911
111 Deeplearning 내 마음대로 선정한 머신러닝/딥러닝 학습 추천 서적 OBG 2023.08.14 2908
110 API/MFC MFC TIP MoA 2013.07.28 2884
109 JAVA/Android 안드로이드 어플 개발 사이트 MoA 2013.03.11 2881
108 Tool/etc R language 사이트 너울 2012.02.08 2874
107 JAVA/Android 시스템 분석을 위한 쉘 명령어 MoA 2013.05.28 2863
106 Site 이미지공학(IE) 연구실 MoA 2013.07.28 2854
105 Site 알고리즘 정리된 블로그 MoA 2013.07.28 2849
104 Deeplearning 강화학습 학습 관련 정리 OBG 2022.08.10 2845
103 Python FastAPI 톺아보기 - 부제: python 백엔드 봄은 온다 OBG 2023.01.25 2843
102 Library High-speed Charting Control MoA 2013.07.28 2830
101 API/MFC MFC로 그림 그리기 Naya 2012.08.02 2809
100 API/MFC 세마포어를 이용한 생산/소비자 Naya 2012.08.31 2798
99 Tool/etc AWS 망 분리하기 OBG 2022.09.06 2798
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 15 Next
/ 15