I tried something similar before for 2048 game. I used the state of the board as x, and the move as y. I just trained the neural network with this dataset. The architecture is like a couple of layers with relu and the final layer as softmax. The major thing is that we should not feed the wrong moves in the dataset to the NN, or else the NN also tend to learn the bad moves, which in turn makes it less smarter.
I gathered my dataset by running the minimax on 2048 and assigning a reward for each move, and then eliminating the bad ones on it.
the above process also depends on the way you are taking the feature vector, if your feature vector is an image, then it makes sense to use CNN.
DQN is also a good option. but do checkout the above link, it helped me too.
My repo: https://github.com/williamscott701/AI-vs-2048
my results are not actually that great.