██████╗ █████╗ ███╗ ██╗██████╗ ██████╗ ███╗ ███╗
██╔══██╗██╔══██╗████╗ ██║██╔══██╗██╔═══██╗████╗ ████║
██████╔╝███████║██╔██╗ ██║██║ ██║██║ ██║██╔████╔██║
██╔══██╗██╔══██║██║╚██╗██║██║ ██║██║ ██║██║╚██╔╝██║
██║ ██║██║ ██║██║ ╚████║██████╔╝╚██████╔╝██║ ╚═╝ ██║
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝
███████╗███████╗ █████╗ ████████╗██╗███╗ ██╗ ██████╗
██╔════╝██╔════╝██╔══██╗╚══██╔══╝██║████╗ ██║██╔════╝
███████╗█████╗ ███████║ ██║ ██║██╔██╗ ██║██║ ███╗
╚════██║██╔══╝ ██╔══██║ ██║ ██║██║╚██╗██║██║ ██║
███████║███████╗██║ ██║ ██║ ██║██║ ╚████║╚██████╔╝
╚══════╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝
██████╗██╗ ██╗ █████╗ ██████╗ ████████╗
██╔════╝██║ ██║██╔══██╗██╔══██╗╚══██╔══╝
██║ ███████║███████║██████╔╝ ██║
██║ ██╔══██║██╔══██║██╔══██╗ ██║
╚██████╗██║ ██║██║ ██║██║ ██║ ██║
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝
╔═══════════════════════════════════╗
║ == B O A R D / WHITEBOARD == ║
╚═══════════════════════════════════╝
A B C D
╔═════╗ ╔═════╗ ╔═════╗ ╔═════╗
1 ║ ███ ║ ║ ███ ║ ║ ███ ║ ║ ███ ║
╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝
╔═════╗ ╔═════╗ ╔═════╗ ╔═════╗
2 ║ ███ ║ ║ ███ ║ ║ ███ ║ ║ ███ ║
╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝
╔═════╗ ╔═════╗ ╔═════╗ ╔═════╗
3 ║ ███ ║ ║ ░░░ ║ ║ ███ ║ ║ ███ ║ ░ = 빈칸 / 통로
╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝
random · fair v1.0
- 🎲 공정한 랜덤 배치 — 규칙을 만족하는 자리 배치를 무작위로 탐색
- 🪑 자유로운 좌석 배열 — 열·행 조절, 클릭/드래그로 좌석↔빈칸(통로) 편집
- 👬 짝꿍 묶기 + 중복 방지 — 묶은 짝이 최근 N회 안에 반복되지 않게
- 📌 고정석 — 특정 학생을 특정 자리에 고정 (히스토리·짝꿍 규칙 예외)
- ✂ 분리(떨어뜨리기) — 지정한 학생들이 좌우·앞뒤로 인접하지 않게 배치
- 🧑🤝🧑 남학생 전용석 — 특정 자리를 남학생 전용으로 지정
- 🔄 수동 자리 교환 — 배치 결과에서 두 자리를 탭으로 맞바꿈 (저장 전)
- 🎰 추첨 연출 애니메이션 — 이름이 슬롯처럼 돌다 확정 (끄기 가능 · 동작 줄이기 존중)
- 📜 회차 히스토리 — 회차별 기록·스냅샷, 같은 자리 재배정 금지
- 📊 엑셀 입출력 — 명단 가져오기 / 히스토리 내보내기·불러오기
- 🖼️ 이미지·인쇄 출력 — 게시용 PNG 저장 / 인쇄
- 🌗 라이트·다크 테마 — 시스템 설정 따름 + 수동 전환
- 🎨 성별 색상 구분 — 남(시안)·여(주황)을 배경색으로 한눈에 구분
- 💾 자동 저장 — 모든 설정·기록을 localStorage에 저장 (새로고침 유지)
상단 탭: 🎲 배치 · ⚙️ 관리자 설정 · 📐 규칙 설정 · 📜 히스토리
❯ ⚙️ 관리자 설정
1. 명단 입력 (직접 입력: 콤마·줄바꿈·공백으로 구분 / 또는 [엑셀로 명단 불러오기])
2. 좌석 배열: 열·행 개수 설정 (숫자 · +/− · 격자 가장자리 +)
① 좌석 ↔ 빈칸 : 클릭/드래그로 좌석·통로 만들기
② 남학생 전용 : 전용석 지정
③ 짝꿍 선택 : 드래그로 자리 묶고 [묶기]
④ 고정석 : 좌석 클릭 → 학생 선택해 그 자리에 고정
3. 분리(떨어뜨리기): 학생 2명 이상 선택 → [분리 묶기] (좌우·앞뒤로 안 붙음)
4. [설정 적용] ← 명단/구조를 바꿔도 히스토리는 유지됨
❯ 📐 규칙 설정 (다음 배치부터 즉시 반영 · 히스토리 유지)
· 짝꿍 중복 방지 회차 (0 = 끄기) · 같은 자리 재배정 금지 (on/off)
· 남학생 전용석 히스토리 예외 (on/off) · 배치 시도 횟수
· 추첨 연출 애니메이션 (on/off)
❯ 🎲 배치
[🎲 랜덤 배치] → [💾 저장하기]
[🔄 자리 바꾸기] 로 두 자리 맞바꾸기 (저장 전, 두 좌석 탭)
[🖼️ 이미지 저장] · [🖨️ 인쇄] 로 게시용 출력
❯ 📜 히스토리
회차별 기록 · 🗑 회차 삭제 / 전체 삭제
[⬇️ 엑셀 내보내기] / [⬆️ 엑셀 불러오기]
☀️ / 🌙 우측 상단 버튼으로 라이트·다크 테마 전환
엑셀(.xlsx) 첫 시트에 이름, 성별 두 열이면 됩니다. 성별은 남/여 또는 M/F 모두 인식합니다.
관리자 설정의 [⬇️ 명단 양식 받기] 로 빈 양식(.xlsx)을 받아 쓰면 편해요.
┌────────┬────────┐
│ 이름 │ 성별 │ ← 첫 행: 머리글
├────────┼────────┤
│ 김민준 │ 남 │
│ 이준호 │ 남 │
│ 이서연 │ 여 │
│ 김지우 │ 여 │
└────────┴────────┘
머리글이 없으면 1열=이름, 2열=성별로 인식해요. 불러온 뒤 [설정 적용] 을 눌러주세요.
+ 명단·좌석·짝꿍·고정석·분리·규칙·히스토리는 브라우저(localStorage)에 자동 저장 → 새로고침해도 유지
! 저장은 '기기·브라우저별' — 다른 기기와 공유되지 않음
! 여러 기기에서 같은 기록을 쓰려면 엑셀 내보내기/불러오기 사용
- 초기화: [기본값 불러오기] 클릭 / 브라우저 데이터 삭제 / 시크릿 모드 ╔══════════════════════════════════════════╗
║ made for fair seating · enjoy :) ║
╚══════════════════════════════════════════╝