로그인

검색

MoA
조회 수 687 추천 수 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 2502
87 Tool/etc 에디트 플러스, VS 2008 컴파일 환경 설정 MoA 2013.07.28 332
86 C/C++ 코드 실행 시간 계산 Naya 2012.08.02 330
85 STL/Boost Boost c++ Libraries (설명, 정리) Naya 2012.08.02 327
84 Library pthread MoA 2013.07.28 325
83 Site 검색엔진 개발자 그룹 MoA 2013.08.30 325
82 Tool/etc 어셈블리어 컴파일 - 기초 Naya 2012.08.02 323
81 API/MFC #pragma MoA 2013.07.28 321
80 Site 알고리즘 정리된 블로그 MoA 2013.07.28 320
79 Site 디자인 패턴 정리 너울 2011.09.21 319
78 Tool/etc 앱 디자인의 발견 - 메모 서비스를 생각하다 MoA 2013.08.17 314
77 Site 윈도우 8 앱 개발 동영상 강의 Naya 2012.09.10 313
76 Graphic Direct3D 9 compile MoA 2013.07.28 313
75 Site 이미지공학(IE) 연구실 MoA 2013.07.28 306
74 Site IT 세미나 유튜브 동영상 Naya 2012.09.10 296
73 Site 프로그래밍 관련 사이트 MoA 2012.08.02 292
72 Site Start Something! - Windows 8 개발 공식 사이트 Naya 2012.08.02 288
71 Tool/etc 에디트 플러스, VS 2008 컴파일 환경 설정 너울 2012.04.02 272
70 Web 카카오톡 웹버전 만들기 OBG 2022.11.09 255
69 Deeplearning 추천(Recommendation) 시스템 - 알고리즘 Trend 정리 OBG 2021.08.03 235
68 Deeplearning RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED ... OBG 2022.09.06 212
Board Pagination Prev 1 ... 6 7 8 9 10 11 12 13 14 15 Next
/ 15