Discrete controller synthesis is a method that involves using game theory to automatically generate a controller for achieving a system goal. This method is used in artificial intelligence for planning self-adaptive systems, in which it is necessary to shorten the time taken to generate a plan. Discrete controller synthesis generates a controller from an environment model and requirement model. The environment model represents the behavior of the system's external environment as a finite state machine and is often constructed by parallel composition, which causes a state explosion. As a result, a controller cannot be synthesized within a realistic amount of memory or time. An on-the-fly method called directed controller synthesis (DCS) was developed by Daniel Ciolek. DCS partially expands and checks the environment model during exploration to avoid the state explosion caused by parallel composition. DCS uses a best-first search algorithm and has open lists, which drastically increases the size of the open list when searching for a large-scale problem and lowers search efficiency. Therefore, we propose a method of applying the df-pn algorithm, which is used when playing shogi (Japanese chess) on a computer, particularly tsume-shogi (a type of shogi problem). This algorithm is an iterative deepening depth-first search algorithm that does not have an open list but uses a hash table to store search history. Through experiments comparing our method with DCS, we were able to attain faster controller synthesis with our method than with DCS for large-scale problems.