pyxen.random

난수를 생성합니다. from pyxen import *를 통해 전역적으로 사용 가능합니다.

random.seed(42)
value = random.random()       # [0, 1) 범위의 float
roll = random.randint(1, 6)   # [1, 6] 범위의 int
pick = random.choice(items)   # 시퀀스에서 무작위 요소

메서드

메서드반환값설명
seed(n)None재현 가능한 결과를 위한 난수 시드 설정
random()float[0, 1) 범위의 난수 float
randint(a, b)int[a, b] 범위의 난수 정수 (양쪽 포함)
choice(seq)요소시퀀스에서 무작위 요소

seed(n)

random.seed(42)

난수 생성기의 내부 상태를 설정합니다. 같은 시드를 사용하면 매번 같은 숫자 시퀀스가 생성됩니다.

유용한 경우:

  • 재현 가능한 절차적 생성
  • 디버깅을 위한 결정적 게임 동작
  • 실행 간 일관된 레벨 레이아웃

random()

value = random.random()

0 (포함)과 1 (미포함) 사이의 난수 float를 반환합니다.

예시 — 임의 방향의 속도:

vx = (random.random() * 2.0) - 1.0   # 범위 [-1, 1)
vy = (random.random() * 2.0) - 1.0

randint(a, b)

roll = random.randint(1, 6)

a <= N <= b인 난수 정수 N을 반환합니다. 양쪽 끝점이 포함됩니다.

예시 — 50% 확률:

if random.randint(0, 1) == 1:
    spawn_coin()

예시 — 무작위 타일 변형:

random.seed(42)
for col in range(COLS):
    alt = random.randint(0, 99) <= 10   # 10% 확률
    tile = (1 if alt else 0, 4)

choice(seq)

color = random.choice(["red", "green", "blue"])

비어 있지 않은 시퀀스 (리스트, 튜플 또는 문자열)에서 무작위 요소를 반환합니다.

시퀀스가 비어 있으면 IndexError를 발생시킵니다.

예시 — 무작위 스폰 위치:

spawns = [(10, 20), (50, 80), (120, 40)]
x, y = random.choice(spawns)