← 홈
將棋

장기 · 象棋

왕을 먼저 잡는 쪽이 이긴다

0/0

장기 · 象棋 — 더 알아보기

Janggi / 象棋 Xiangqi / 韓國象棋 — 한 뿌리에서 갈라진 두 '장기'를 한 판에서, 정식 규칙으로

🧓할아버지와 한 판폰 하나로 마주 앉아 장기
🇹🇼대만 친구와 象棋링크 하나로 각자 폰에서 대국
🧠혼자 실력 키우기고수 할배와 힌트로 수 읽기 연습
♟ 규칙과 사용 방법

장기와 象棋(샹치)는 9줄 × 10줄 판의 선이 만나는 점 위에 말을 놓고, 번갈아 한 수씩 움직여 상대의 장(將)을 잡을 수밖에 없게 만드는 쪽이 이기는 게임입니다. 상대 장을 노리는 수를 '장군', 어떻게 피해도 잡히는 상태를 '외통'이라고 부릅니다.

  1. 규칙 고르기 — 첫 화면 위쪽에서 장기와 象棋 중 하나를 고릅니다. 브라우저 언어가 중국어면 象棋가, 그 밖에는 장기가 먼저 골라져 있습니다.
  2. 모드 고르기 — 레서판다 가족과 두는 AI 대결(쉬움·보통·어려움·고수), 폰 하나를 가운데 두고 마주 앉아 두는 둘이서(위쪽 사람의 말 글자는 뒤집혀 보입니다), 링크로 친구를 부르는 온라인이 있습니다. 장기는 내 상차림(마상마상·상마상마·마상상마·상마마상)도 고릅니다.
  3. 두기 — 내 말을 누르면 갈 수 있는 점에 초록 점이, 잡을 수 있는 상대 말에는 붉은 고리가 생깁니다. 점을 누르거나, 말을 끌어다 놓으면 둡니다. 둘 수 없는 수(내 장이 잡히게 되는 수)를 고르면 내 장이 붉게 깜빡입니다.
  4. 도움 기능 — 💡 힌트를 켜면 AI 가 고른 좋은 수가 하늘색 화살표로 보입니다. AI 대결과 둘이서는 무르기가 되고, 창을 닫았다 열어도 두던 판을 이어 둘 수 있습니다. 장기는 장군이 아닐 때 한수쉼 버튼으로 차례를 넘길 수 있습니다.

아래 줄에는 지금까지의 기보가 표준 표기로 쌓입니다. 장기는 초 진영을 아래에 둔 좌표로 79졸78(7줄 9칸의 졸이 7줄 8칸으로)처럼, 象棋는 炮二平五(紅 포가 2번 줄에서 5번 줄로 옆걸음)처럼 적습니다. 영어·스페인어·포르투갈어 화면에서는 象棋를 WXF 표기(C2=5)로 보여 줍니다. 판이 끝나면 복기로 한 수씩 다시 보고, 기보를 링크로 공유할 수 있습니다.

📜 한 뿌리, 두 갈래 — 象戲에서 장기로

象棋는 '코끼리 장기'라는 뜻의 象戲에서 이름이 왔습니다. 오늘날과 같은 모양 — 9 × 10 판, 가운데의 강, 포(砲)가 들어간 32개 말 — 은 중국 송(宋)나라 무렵에 자리를 잡았다고 보는 것이 일반적입니다. 판 가운데 강에 적힌 楚河 漢界는 진나라가 무너진 뒤 항우의 초(楚)와 유방의 한(漢)이 천하를 다툰 초한 전쟁에서 온 말이고, 그래서 두 진영을 초·한이라고 부르는 전통이 생겼습니다.

이 놀이는 한반도로 건너와 장기가 되었습니다. 들어온 정확한 시기는 기록이 엇갈리지만, 조선 시대에는 사랑방과 장터에서 누구나 두는 놀이로 자리 잡았습니다. 갈라진 뒤 두 게임은 각자의 방향으로 바뀌었습니다. 장기는 판에서 강을 지웠고, 말을 팔각형으로 만들어 장·차포마상·사졸을 크기로 구분했으며, 장(將)을 궁성 한가운데에 세우고 궁성의 대각선을 길로 쓰게 했습니다. 象棋는 둥근 말 하나의 크기에 글자만 다르게 새기는 모양을 지켰습니다.

지금도 象棋는 중국과 대만, 홍콩, 동남아 화교 사회에서 가장 널리 두는 판 게임 중 하나이고, 대만에서는 공원 나무 그늘 아래에서 상을 펴 놓고 두는 모습을 쉽게 볼 수 있습니다. 같은 판을 보고도 한국 사람은 장기를, 대만 사람은 象棋를 떠올리는 셈이라, 이 게임은 두 규칙을 한 화면에서 고를 수 있게 만들었습니다.

⚖️ 장기 vs 象棋 — 규칙 차이 한눈에
항목장기象棋
판 가운데강 없음강(楚河 漢界) — 상·사는 못 건넘
먼저 두는 쪽초(楚, 초록)紅(빨강)
장의 시작 자리궁성 한가운데궁성 맨 아랫줄 가운데
궁성 대각선장·사·차·포·졸이 모두 따라 움직임사(仕·士)만 대각으로
상(象)곧게 1칸 + 대각 2칸, 두 곳 모두 비어야대각 2칸, 가운데(눈)가 비어야
포(包·炮)움직일 때도 잡을 때도 꼭 한 말을 넘음 · 포는 넘지도 잡지도 못함움직일 때는 차처럼, 잡을 때만 한 말을 넘음
졸·병처음부터 앞·옆, 적 궁성 대각선 앞으로강을 건너기 전엔 앞만, 건넌 뒤 앞·옆
장끼리 마주보기빅장 — 둘 수 있고, 다음 수에 풀지 않으면 점수로 승부금지 — 그렇게 되는 수는 둘 수 없음
차례 넘기기장군이 아니면 한 수 쉼 가능불가
둘 수가 없을 때(쉴 수 있으니 생기지 않음)궁지(困斃) = 둘 차례인 쪽 패
승부가 안 날 때점수 계산(한 +1.5 덤)무승부

표의 내용은 이 게임의 판정기가 그대로 지키는 규칙입니다. 판정기는 독립적으로 짠 두 번째 규칙 구현과 무작위 국면 1만 5천여 개에서 둘 수 있는 수를 하나하나 맞대어 보고, 象棋 시작 국면의 수 갈래 수(1수 44가지, 2수 1,920가지, 3수 79,666가지)가 널리 알려진 값과 같은지 확인했습니다.

🔢 점수 13·7·5·3·3·2 — 차는 왜 결정적인가

장기에서 승부가 수 제한·반복·빅장으로 끝나면 남은 말의 점수를 셉니다. 차 13 · 포 7 · 마 5 · 상 3 · 사 3 · 졸(병) 2이고, 한 진영의 처음 합은 차 둘 26 + 포 둘 14 + 마 둘 10 + 상 둘 6 + 사 둘 6 + 졸 다섯 10 = 72점입니다. 먼저 두는 초가 유리하기 때문에 뒤에 두는 한에게 1.5점의 덤을 얹어 72 대 73.5로 시작합니다. 덤에 0.5가 들어 있어 점수가 같아질 수 없고, 그래서 점수로 끝나는 판에는 무승부가 없습니다.

점수가 이렇게 벌어지는 이유는 움직일 수 있는 점의 수를 보면 보입니다. 빈 판 가운데의 차는 한 줄로 끝까지 가므로 가로 8점 + 세로 9점, 17개 점에 닿습니다. 마는 아무리 좋아도 8곳, 장기의 상은 8곳, 사와 장은 궁성 안 몇 칸이 전부입니다. 차 하나가 판 전체를 가로질러 장군을 부르고, 동시에 다른 말을 노리는 '양수겸장'을 만들 수 있다는 뜻입니다. 그래서 차를 공짜로 내주면 대개 판이 기웁니다.

象棋에서도 흔히 차 9 · 포 4.5 · 마 4 · 사 2 · 상 2 · 병 1(강을 건넌 뒤 2)처럼 매기고, 차 하나가 다른 큰 말 둘에 버금간다고 봅니다. 다만 끝판에는 수비 말이 다 모인 진영을 차 하나로 깨기 어렵다는 '單車難破士象全(차 하나로는 사·상이 다 있는 진영을 깨기 어렵다)'이라는 말이 있을 만큼, 수비 말의 값도 끝판으로 갈수록 커집니다.

포는 반대로 판이 비어 갈수록 약해집니다. 넘을 말(포다리)이 있어야 움직이고 잡을 수 있기 때문입니다. 이 게임의 AI 도 판에 남은 말이 많을수록 포에 점수를 더 주고, 말이 줄어들면 깎아서 계산합니다.

🏯 장기만의 규칙 — 빅장·한 수 쉼·상차림
  • 상차림 — 장기는 양쪽이 마와 상의 자리를 스스로 고르고 시작합니다. 왼쪽부터 마상마상, 상마상마, 마상상마, 상마마상 네 가지입니다. 상이 궁 가까이(마상상마)면 가운데를 단단히 지키고, 상이 바깥에 있으면 옆줄로 빠르게 나갑니다. 이 게임은 네 가지 모두를 고를 수 있고, AI 는 판마다 무작위로 고릅니다.
  • 빅장 — 두 장이 같은 세로줄에서 사이에 아무 말 없이 마주 보는 상태입니다. 장기에서는 이렇게 만드는 수를 둘 수 있습니다. 빅장을 받은 쪽이 다음 수에 사이에 말을 넣거나 장을 옮겨 풀지 않으면, 이 게임은 그 자리에서 판을 끝내고 점수로 승부를 가립니다. 점수에서 앞선 쪽이 빅장을 부르면 상대는 반드시 풀어야 하므로, 끝판의 중요한 무기가 됩니다.
  • 한 수 쉼 — 장군을 받고 있지 않으면 말을 움직이지 않고 차례를 넘길 수 있습니다. 두 사람이 잇달아 쉬면 더 둘 뜻이 없다고 보고 점수를 셉니다.
  • 반복 — 같은 국면이 세 번 나오면 판을 끝냅니다. 그 사이 한쪽만 매번 장군을 불렀다면 장군을 계속한 쪽이 집니다. 그렇지 않으면 장기는 점수 계산, 象棋는 무승부입니다.
  • 수 제한 — 장기는 200수(양쪽 합)에 이르면 점수를 셉니다. 象棋는 말을 잡지 않은 채 120수가 지나거나, 양쪽 모두 상대 진영으로 갈 수 있는 공격 말(차·마·포·병)이 하나도 없으면 무승부입니다.

대회마다 세부 규정은 조금씩 다릅니다. 象棋 공식 규정에는 장군 말고도 같은 말을 계속 쫓는 '장착(長捉)'을 따지는 긴 조항이 있는데, 이 게임은 그중 가장 널리 쓰이는 반복 장군 금지만 적용하고 쫓기 판정은 하지 않습니다. 빅장도 협회·지역마다 처리가 달라, 여기서는 '풀지 않으면 점수 계산'이라는 흔한 방식을 따랐습니다.

🎯 첫 수의 원칙과 끝판의 사실

象棋에서 가장 많이 두는 첫 수는 포를 가운데 줄로 옮기는 當頭炮(炮二平五)입니다. 가운데 병을 노리면서 상대 장의 줄을 겨누기 때문입니다. 받는 쪽은 두 마를 앞으로 내 가운데 병을 지키는 屏風馬(馬8進7·馬2進3)가 대표적이고, 병을 한 칸 밀어 마의 길을 여는 仙人指路, 상을 먼저 올리는 飛相局처럼 조용히 시작하는 길도 있습니다.

장기는 상차림부터 수 싸움입니다. 대체로 처음 몇 수 안에 차의 길을 열고, 마를 먼저 내고, 상대 포가 넘어올 '포다리'가 될 자리에 내 말을 함부로 세우지 않는 것이 기본입니다. 장기의 졸은 처음부터 옆으로 갈 수 있어서, 졸을 한 칸 옆으로 비켜 마와 차의 길을 터 주는 수가 자주 나옵니다.

끝판에는 몇 가지 알아 둘 사실이 있습니다. 象棋에서 포 하나만으로는 외통을 만들 수 없습니다 — 넘을 말이 필요하기 때문입니다. 장기에서는 궁성 대각선 덕분에 차·포·졸이 궁 안으로 비스듬히 들어와 장군을 부를 수 있어, 궁 귀퉁이의 사를 지키는 일이 象棋보다 훨씬 중요합니다. 그리고 象棋에서는 상대 장이 움직일 곳이 없으면 장군이 아니어도 이기므로(궁지), 끝판에 장의 숨 쉴 자리를 하나씩 막는 것이 그대로 승리가 됩니다.

🤖 레서판다 AI 네 단계는 어떻게 다른가
  • 쉬움(콩이) — 두 수 앞만 보고, 점수에 큰 잡음을 섞어 고릅니다. 가끔은 괜찮아 보이는 몇 수 중 아무거나 둡니다. 바로 이기는 외통은 놓치지 않습니다.
  • 보통(단풍) — 세 수 앞을 정확히 읽고 작은 잡음만 섞습니다. 장군은 꼭 피하고, 공짜로 내준 말은 거의 다 잡습니다.
  • 어려움(아빠 판다) — 아래 엔진을 정해진 계산량(약 1만 8천 국면) 안에서 돌립니다.
  • 고수(할배) — 같은 엔진을 한 수에 최대 1.2초(폰은 약 0.8초) 동안 더 깊이 돌립니다. PC 에서 보통 일고여덟 수 앞을 끝까지 읽습니다.

엔진은 알파-베타 탐색을 한 단계씩 깊게 반복하고(반복 심화), 수가 끝난 자리에 잡고 잡히는 수가 남아 있으면 그것까지 따라가 보는 정지 탐색, 같은 국면을 다시 계산하지 않는 치환표, 좋은 수를 먼저 보게 하는 킬러·히스토리 순서, 장군 연장 같은 표준 기법을 씁니다. 계산은 화면과 다른 스레드(Web Worker)에서 돌아 판이 멈추지 않습니다.

단계 차이는 실제로 붙여 보고 정했습니다. 장기·象棋를 반씩, 진영을 번갈아 40판씩 둔 결과 보통은 쉬움을 상대로 39승 1무, 어려움은 보통을 상대로 38승 2패, 고수는 어려움을 상대로 31승 1무 8패였습니다. 위로 갈수록 차이가 줄어드는 것은 자연스러운 일입니다 — 몇 수를 더 읽어도, 양쪽 모두 큰 실수를 하지 않는 판에서는 승부가 쉽게 갈리지 않기 때문입니다. 이 하네스는 AI 끼리 200판을 끝까지 두면서 매 수를 독립 구현으로 검사해, 규칙에 어긋난 수가 하나도 없음을 확인합니다.

🌟 이럴 때 씁니다
  • 🧓 할아버지와 한 판 — 폰 하나로 마주 앉아 장기
  • 🇹🇼 대만 친구와 象棋 — 링크 하나로 각자 폰에서 대국
  • 🧠 혼자 실력 키우기 — 고수 할배와 힌트로 수 읽기 연습
  • ☕ 커피 내기 — 점수제라 무승부 없는 장기 한 판
  • 🏫 아이와 첫 장기 — 갈 수 있는 곳이 점으로 보여요
  • 📝 기보 공유 — 끝난 판을 링크로 보내 함께 복기
❓ 자주 묻는 질문
Q. 장기와 象棋(샹치)는 무엇이 다른가요?
둘 다 9×10 판에서 상대 장을 잡는 게임이지만, 장기는 강이 없고 궁성 대각선을 길로 쓰며 팔각형 말의 크기가 다릅니다. 포는 움직일 때도 꼭 한 말을 넘어야 하고 포끼리는 넘거나 잡지 못합니다. 象棋는 강이 있어 상·사가 못 건너고, 두 장이 마주 볼 수 없으며, 둘 수 없는 궁지도 패배입니다. 장기는 한 수 쉼과 빅장, 점수 계산(한 1.5 덤)이 있습니다.
Q. 빅장은 어떻게 처리되나요?
장기에서 두 장이 사이에 말 없이 같은 줄에서 마주 보면 빅장입니다. 빅장을 받은 쪽이 다음 수에 사이를 막거나 장을 옮겨 풀지 않으면, 이 게임은 판을 끝내고 남은 말의 점수(차13 포7 마5 상3 사3 졸2, 한 +1.5)로 승부를 가립니다. 象棋에서는 장끼리 마주 보게 되는 수 자체를 둘 수 없습니다.
Q. 장기 점수 계산에서 한에게 1.5점을 더 주는 이유는요?
먼저 두는 초가 유리하기 때문에 뒤에 두는 한에게 덤을 줍니다. 양쪽 처음 점수는 72점으로 같고, 덤을 더하면 초 72 대 한 73.5가 됩니다. 0.5가 들어 있어 점수로 끝나는 판에는 무승부가 생기지 않습니다.
Q. 같은 수를 계속 반복하면 어떻게 되나요?
같은 국면이 세 번 나오면 판이 끝납니다. 그동안 한쪽만 매번 장군을 불렀다면 장군을 계속한 쪽이 집니다(반복 장군 금지). 그렇지 않으면 장기는 점수 계산, 象棋는 무승부입니다. 象棋 공식 규정의 '계속 쫓기(장착)' 판정은 이 게임에서 적용하지 않습니다.
Q. 친구와 온라인으로 두려면 어떻게 하나요?
온라인을 고르고 방을 만든 뒤 초대 링크를 메신저로 보내면 친구가 자기 폰에서 상대 자리에 앉습니다. 대기실에서 규칙(장기·象棋), 방장 진영, 양쪽 상차림, 턴 시간을 고르고 준비하면 시작됩니다. 세 번째 사람부터는 관전자가 되고, 한 판 더를 누르면 두 사람의 진영이 바뀝니다. 로그인이나 앱 설치는 필요 없습니다.
Q. 고수 AI 를 이기는 요령이 있나요?
먼저 차의 길을 열고 마를 일찍 내며, 상대 포가 넘어올 다리가 될 자리에 말을 세우지 마세요. 내 장 주변의 사를 함부로 움직이지 말고, 차를 공짜로 내주는 수는 피하세요. 힌트를 켜고 몇 판 두며 AI 가 고르는 수를 따라가 보면 수 읽는 감각이 빨리 붙습니다.