게임·입장 UX와 물리/고지 개선을 반영한다.
비행기(세계여행) 칸 선택 이동, 주사위 무게감, 설정 패널·주사위 초기화, 개인정보 고지·파비콘·탭 제목을 정리하고 런타임 로그는 추적에서 제외한다. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -12,10 +12,16 @@ export const CELL_TYPE_PRESETS = [
|
||||
'다같이한잔',
|
||||
'영어금지 3분',
|
||||
'두잔마셔',
|
||||
'애교/매도 100자',
|
||||
'애교/매도 50자',
|
||||
'무인도',
|
||||
'역방향',
|
||||
'세계여행',
|
||||
'TMI 알려주기',
|
||||
'뒤로 3칸',
|
||||
'앞으로 4칸',
|
||||
'방어권',
|
||||
'방어권 전부삭제',
|
||||
'물한잔',
|
||||
] as const;
|
||||
|
||||
export type CellEventOption = {
|
||||
@@ -36,7 +42,7 @@ export type BoardCellConfig = {
|
||||
eventId?: string | null;
|
||||
/** 칸 전용 이미지 (data URL 또는 상대 경로) */
|
||||
imageSrc?: string | null;
|
||||
/** false면 게임에서 이름·이미지를 숨김 (기본 true) */
|
||||
/** false면 게임에서 칸 이름(텍스트)만 숨김 (이미지는 유지) */
|
||||
contentVisible?: boolean;
|
||||
};
|
||||
|
||||
@@ -59,27 +65,27 @@ const DEFAULT_BOARD_LAYOUT: ReadonlyArray<{
|
||||
{ type: '시작', eventId: null },
|
||||
{ type: '한잔마셔' },
|
||||
{ type: '~~체 3분' },
|
||||
{ type: '안주 한입' },
|
||||
{ type: '방어권' },
|
||||
{ type: '노래 1절' },
|
||||
{ type: '다같이한잔' },
|
||||
{ type: '영어금지 3분' },
|
||||
{ type: '애교/매도 100자' },
|
||||
{ type: '앞으로 4칸' },
|
||||
{ type: '애교/매도 50자' },
|
||||
{ type: '무인도', eventId: 'island' },
|
||||
{ type: '안주 한입' },
|
||||
{ type: '두잔마셔' },
|
||||
{ type: '~~체 3분' },
|
||||
{ type: '물한잔' },
|
||||
{ type: '한잔마셔' },
|
||||
{ type: '애교/매도 100자' },
|
||||
{ type: 'TMI 알려주기' },
|
||||
{ type: '역방향', eventId: 'reverse' },
|
||||
{ type: '영어금지 3분' },
|
||||
{ type: '뒤로 3칸' },
|
||||
{ type: '안주 한입' },
|
||||
{ type: '다같이한잔' },
|
||||
{ type: '노래 1절' },
|
||||
{ type: '방어권 전부삭제' },
|
||||
{ type: '한잔마셔' },
|
||||
{ type: '~~체 3분' },
|
||||
{ type: '두잔마셔' },
|
||||
{ type: '세계여행', eventId: 'airplane' },
|
||||
{ type: '애교/매도 100자' },
|
||||
{ type: '애교/매도 50자' },
|
||||
{ type: '안주 한입' },
|
||||
{ type: '영어금지 3분' },
|
||||
{ type: '다같이한잔' },
|
||||
@@ -439,12 +445,7 @@ export function buildPlaneCells(config: BoardConfig = getOrCreateBoardConfig()):
|
||||
export function cellColorFor(
|
||||
eventId: string | null | undefined,
|
||||
index: number,
|
||||
options?: { contentVisible?: boolean },
|
||||
) {
|
||||
// 내용 숨김이면 종류가 색으로도 드러나지 않게 통일
|
||||
if (options?.contentVisible === false && index !== 0) {
|
||||
return '#be123c';
|
||||
}
|
||||
if (index === 0) return '#059669';
|
||||
switch (eventId) {
|
||||
case 'island':
|
||||
@@ -458,7 +459,9 @@ export function cellColorFor(
|
||||
}
|
||||
}
|
||||
|
||||
/** 주사위 UI를 안쪽 빈 칸에 배치할 때 쓰는 span (1~2) */
|
||||
/** 주사위 UI를 안쪽 빈 칸에 배치할 때 쓰는 span (1~2)
|
||||
* 세로 7칸 기준: 시작 행을 건너뛰고 안쪽 2칸 = 절대 위치 3칸까지
|
||||
*/
|
||||
export function diceAreaSpan(width: number, height: number) {
|
||||
return Math.min(2, Math.max(1, width - 2), Math.max(1, height - 2));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user