To shuffle a deck of cards, you might be inclined to go the classic TI-BASIC route and write some complicated co-sorting algorithm, but you don't need to!
The [Fisher-Yates Shuffle](https://en.m.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle) algorithm is way easier and faster. An example implementation in TI-BASIC to shuffle `L1` looks like:
```
dim(L1→N
For(K,N,2,-1
randInt(1,K→A
L1(K→B
L1(A→L1(K
B→L1(A
End
```

In Grammer, it is just about as easy. You need to first initialize your deck with something like:
```
.Assume Z points to the deck of 52 cards (52 bytes)

For K,0,51
WriteB(Z+K,K
End
```

Then every time you want to shuffle, just call (assuming `Z` still points to the deck):

```
.SHUFFLE
51→K
While K>0
randInt(0,K→A
(Z+K→B
WriteB(Z+K,(Z+A
WriteB(Z+A,B
K-1→K
End
End
```