AD

훈수충 덧셈 뺄셈 나눗셈 게임 계산하는 스크립트

최신기술
2023-08-20 23:08:53 730 11 0

오늘 똘삼님이 플레이 하셨던 타워에서 싸우는 게임을 계산하는 파이썬 스크립트 입니다.

towers에 각각의 방을 입력하고 최초 score를 작성하면 어떤 순서대로 눌렀을 때 최대 값이 나오는지 계산해줍니다.

08ced1ff903c4250cbdf2d7db51a3699.png

class GameMath: def __init__(self, value: int) -> None: self.value = value

def __str__(self) -> str: return f"{self.__class__.__name__} {self.value}"

def execute(self, x: int) -> int: pass

class Div(GameMath): def execute(self, x: int) -> int: return int(x / self.value)

class Add(GameMath): def execute(self, x: int) -> int: return int(x + self.value)

class Mul(GameMath): def execute(self, x: int) -> int: return int(x * self.value)

def best_search(tower: list, score): best_order = [] best_score = 0

def select(stack, score, tower): nonlocal best_order, best_score if len(tower) == 0: if score > best_score: best_order = stack best_score = score return

for i, room in enumerate(tower): if isinstance(room, Add): if score < room.value: continue select(stack + [room], room.execute(score), tower[:i] + tower[i + 1:])

select([], score, tower)

return best_order, best_score

if __name__ == "__main__": towers = [ [Mul(10), Add(120), Add(5), Add(16), Div(2)], [Add(116), Div(2), Add(132), Div(2), Add(124)] ] score = 10 for tower in towers: order, score = best_search(tower, score) print([str(o) for o in order])


출력 예시)
3584fc8ba1ecfb44493615f309cb65c7.png


클리어 공식이 있긴한데 그렇게 쉬우면 재미 없으니까 스크립트를 따로 만들었죠

재미로 봐주세요

후원댓글 0
댓글 0개  
이전 댓글 더 보기
이 글에 댓글을 달 권한이 없습니다. 로그인해 보세요.
잡담불금주식파티게임건의공지팥쥐팬아트영상/클립훈수충알리물건추천핫딜이벤트유투브각게임개발이모티콘 공모전데이터라벨링이벤트 당첨말딸야부키 신고
6
훈수충
치지직 채팅봇 (유료, 무료)
망야휴지통수집가유에스
02-25
13
훈수충
레인저로 농지 방향 추가 확장시 팁
대마인가위바위보
02-20
13
훈수충
800% 사막맵 좀비 두배+α [3]
찡찡잌
02-20
11
훈수충
800% 클리어 후기 (+훈수) [4]
dododoririri
02-19
26
훈수충
여태까지의 플레이 복기해보기 [8]
대마인가위바위보
02-15
14
훈수충
이게 왜 막아지지?
대마인가위바위보
02-13
8
훈수충
보너스/시장
민트다냥
02-12
11
훈수충
시대가 이럴수록 더욱더 데쌤 행동을 [3]
대마인가위바위보
02-11
4
01-05
8
12-11
7
11-17
5
10-14
20
05-24
인기글 글 쓰기