<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [GoCheat](./bitburner.gocheat.md) &gt; [playTwoMoves](./bitburner.gocheat.playtwomoves.md)

## GoCheat.playTwoMoves() method

Attempts to place two routers at once on empty nodes. Note that this ignores other move restrictions, so you can suicide your own routers if they have no access to empty ports and do not capture any enemy routers.

Success chance can be seen via ns.go.getCheatSuccessChance()

Warning: if you fail to play a cheat move, your turn will be skipped. After your first cheat attempt, if you fail, there is a small (\~10%) chance you will instantly be ejected from the subnet.

**Signature:**

```typescript
playTwoMoves(
    x1: number,
    y1: number,
    x2: number,
    y2: number,
    playAsWhite?: boolean,
  ): Promise<{
    type: "move" | "pass" | "gameOver";
    x: number | null;
    y: number | null;
  }>;
```

## Parameters

<table><thead><tr><th>

Parameter


</th><th>

Type


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

x1


</td><td>

number


</td><td>

x coordinate of first move to make


</td></tr>
<tr><td>

y1


</td><td>

number


</td><td>

y coordinate of first move to make


</td></tr>
<tr><td>

x2


</td><td>

number


</td><td>

x coordinate of second move to make


</td></tr>
<tr><td>

y2


</td><td>

number


</td><td>

y coordinate of second move to make


</td></tr>
<tr><td>

playAsWhite


</td><td>

boolean


</td><td>

_(Optional)_ Optional override for playing as white. Can only be used when playing on a 'No AI' board.


</td></tr>
</tbody></table>

**Returns:**

Promise&lt;{ type: "move" \| "pass" \| "gameOver"; x: number \| null; y: number \| null; }&gt;

a promise that contains the opponent move's x and y coordinates (or pass) in response, or an indication if the game has ended

## Remarks

RAM cost: 8 GB

Requires Source-File 14.2 to use

