---
title: "Cannon Notation in Every Direction, With Examples · Xiangqi Master"
description: "A cannon can advance, retreat or traverse, and each direction is written with a distance or a destination file depending on which one it is."
url: https://xiangqimaster.com/blog/how-does-cannon-notation-work-in-every-direction
updated: 2026-09-22
source: Xiangqi Master (https://xiangqimaster.com)
license: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
---

# How is a cannon move written in every direction?

These answers restate the rules implemented by our open-source engine, which follows the WXF laws and is regression-tested against the official 110-diagram repetition casebook. Where an answer refers to a specific position, that position lives on the linked reference page, where the build verifies it against the engine before publishing.

> Direct answer
>
> A cannon moves in straight lines, so all three directions use a **distance**, not a destination file. **C2+3** advances the cannon on file 2 by three points. **C8-2** retreats the cannon on file 8 by two points. **C2=5** traverses the cannon on file 2 sideways to file 5. The same three patterns apply whether the move is quiet or a capture.

## Why capture looks identical to a quiet move

Xiangqi notation never marks captures (see [how to read xiangqi notation](https://xiangqimaster.com/blog/how-do-you-read-xiangqi-notation)), so `C2+3` could be landing on an empty point or jumping a screen to take a piece three points ahead. The notation tells you the mechanics of the move, not its outcome; you infer the outcome from the position.

## The one case that looks different

When two cannons share a file, the file number is replaced by **+** (front) or **−** (rear): `+C=5` traverses the front cannon to file 5. That is the only structural variation in cannon notation, and it is shared with every other piece that can stack on a file. See [writing moves for stacked pieces](https://xiangqimaster.com/blog/how-do-you-write-a-move-with-two-pieces-on-one-file).

## Related questions

Can a cannon's traverse also be written as a distance?

No. Traverse (平/=) is always to a named file, never a distance, for every piece.

Why does the cannon never use a destination file for advance or retreat?

Because it moves in a straight line, so a distance fully identifies the destination. Diagonal movers like the horse need a file instead, because a distance alone would be ambiguous.

## Related xiangqi resources

How the cannon moves

Captures only by jumping exactly one screen

Reading notation

炮二平五 and C2=5 — the same move, two ways

Cannon tactics

Screens, batteries and discoveries

## Try it on a real board

Reading an answer is one thing; playing it is another. Free, instant, and nothing to install.
