Trading in two-player games
Trading in a 2 player game is a difficult problem. You can have some form of forced trading. For example player 1 (after getting granted a trade action somehow) can name a resource, which player 2, has to give them if they have it, while player 2 gets to name a different resource which player 1 has to give them if they have it. If you name a resource the other player doesn't have, they can give you whatever they want.

Alternatively you can have trades via a third-party, such as a bank. The bank can start with some resources, and if you want something from the bank, you have to give the bank a resource it currently doesn't have. You then deplete the bank of the one it previously had, and the other player can then trade that resource for the one you gave the bank, if they want to. In this way the bank acts as a avenue for trades between players, but each trade with the bank is assessed on it's merits, plus the worry the other player might later benefit, or they might trade for the resource you want later, meaning you should trade now!