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)