> For the complete documentation index, see [llms.txt](https://help.craftsmanplus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.craftsmanplus.com/play/layers/game-mechanics/memory.md).

# Memory

A card-matching game. The player flips cards two at a time to find every matching pair.

Memory lays out a grid of face-down cards. The player taps a card to flip it, then taps a second. A matching pair stays face up. A wrong pair is shown briefly, then flips back over.

Use it to put your products, characters, or brand art in front of the player, two at a time.

### Layers

* **Item 1** to **Item 6** are the card faces. Each item appears on two cards to make a pair. The game uses as many items as it needs for the **Number of Tiles** you choose, and hides the rest.
* **Item Background** is the card back, and the part of each card the player taps.

### Game Settings

**Layout**

* **Number of Tiles** sets how many cards are in the grid: **2**, **4**, **6**, **8**, **10**, or **12**. Default is **6**, which uses Items 1 to 3.
* **Number of Columns** sets how many cards sit in each row, from **1** to **6**. Default is **2**. This is set separately for landscape and portrait.
* **Tile Size** sets the size of each card as a percentage, from **0.1** to **100%**. Default is **50%**.
* **Mask Content** crops each card's image to the card's shape. Default is **off**.

**Matching**

* **Flip Speed** sets how long a card takes to flip, in seconds. Default is **0.25s**.
* **Reveal Time** sets how long a wrong pair stays face up before flipping back. Default is **0.5s**.
* **Right Match Animation** plays on a matching pair. Default is **Pulse**.
* **Wrong Match Animation** plays on a wrong pair. Default is **Shake**.

Both animation settings offer **Blink**, **Bounce**, **Bubble**, **Pulse**, **Rotate**, **Slide**, **Shake**, **Squish**, or none.

### Progression

| Variable            | Default | What it does                                   |
| ------------------- | ------- | ---------------------------------------------- |
| **Starting Score**  | 0       | The Score the game begins at.                  |
| **Score Per Match** | 33      | Points added for each matching pair found.     |
| **Starting Moves**  | 10      | The number of attempts the player begins with. |

Triggers can watch **Score** and **Moves**.

* **Score** rises by Score Per Match each time the player finds a pair.
* **Moves** drops by one for every pair the player flips, whether it matches or not.

**Example triggers:**

* Score **Reaches** 99, action starts your end card scene. With 6 tiles there are 3 pairs, so 3 × 33 = 99 when every pair is found.
* Moves **Drops to** 0, action starts your try-again scene.

{% hint style="info" %}
Set your win trigger to match your layout. Multiply the number of pairs (Number of Tiles ÷ 2) by Score Per Match to get the Score when every pair is found.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.craftsmanplus.com/play/layers/game-mechanics/memory.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
