title: Is implementing state pattern a good design choice for simple chess game?
body: <p>I am trying to write an offline no AI no GUI synchronized command-line chess game that two users play (or one user play both white &amp; black). That means there's only 1 thread.</p>
  
  <p>The chess game includes special movement {capture, en passant, promotion, castling, checkmate, stalemate}</p>
  
  <p>The user interact with the game by stating the start position and end position. e.g. e1 g1. That's it, in one line.</p>
  
  <p>I am trying to take the full privilege of object-oriented design. But just for the sake of this requirement. <strong>Does implementing state pattern worth it</strong>? Since the user only input the command and the game should not ask the user to make any other decision after it.</p>
  
  <p><strong>Edit</strong>: I apologize for not making this clear. What I was confused of is whether to implement the state at the game control level like this image: <img src="https://i.stack.imgur.com/IoEX4.gif" alt="enter image description here"> or the game piece level like this image: <img src="https://i.stack.imgur.com/ZTAh3.png" alt="enter image description here"></p>