Enter "WASD" to move around the board.

My entry for the #TweetTweetJam using python. The game was done in 551 characters.

Here's the code:

```from random import randint as v
def P(m,s):
print("Score: ",s)
for r in m:
for c in r:
print(c,end=" ")
print()
def R(map,G):
b[v(0,3)][v(0,3)]=G
X,E,G='X','-','O';x,y,pX,pY=0,0,0,0;s=0;b=[[E]*4 for _ in range(4)];b[y][x]=X;R(b,G);P(b,s);
while(True):
c='';
while c.lower() not in {'w','a','s','d'}:c=input("WASD? ")
if(y+1>0 and y<4 and x+1>0 and x<4):
if c=='w':y-=1
if c=='s':y+=1
if c=='a':x-=1
if c=='d':x+=1
if b[y][x]==G:s+=1;R(b,G)
b[y][x]=X;b[pY][pX]=E;pY,pX=y,x;
P(b,s)```

The non-shortened code with proper variable and function names:

```from random import randint as random
def printBoard(m,s):
print("Score: ", s)
for row in m:
for col in row:
print(col,end=" ")
print()
def reset(m, goal):
board[random(0,3)][random(0,3)] = GOAL
PLAYER, EMPTY, GOAL = 'X', '-', 'O'
x, y, pX, pY = 0, 0, 0, 0
score = 0
board = [[EMPTY]*4 for _ in range(4)]
board[y][x] = PLAYER
reset(board, GOAL)
printBoard(board, score)
while(True):
choice = ''
while choice.lower() not in {'w', 'a', 's', 'd'}:
choice = input("WASD? ")
if(y + 1 > 0 and y < 4 and x + 1 > 0 and x < 4):
if choice == 'w': y -= 1
if choice == 's': y += 1
if choice == 'a': x -= 1
if choice == 'd': x += 1
if board[y][x] == GOAL:
score += 1
reset(board, GOAL)
board[y][x] = PLAYER
board[pY][pX] = EMPTY
pY, pX = y, x
printBoard(board, score)
```
 Status Released Author Jessica Turner Tags Text based, tweettweetjam

tweettweetjam.py 567 bytes

Install instructions

1. Have Python3.8 installed and (if on Windows) System Environment Variables set up.
2. Navigate to the file location in Command Prompt/ Terminal.
3. Run the game with: python3 tweettweetjam.py

Sometimes, the game places the O on the character, so just restart when that happens.