Stage 8 ゲームを進行する
8-6 盤上で駒を動かす
ようやく盤上の駒を実際に動かします。
                        
        # invalid input (here, valid motion is conducted)
        if motion == False or main_board.move(*motion) == False:
            print('INVALID INPUT/MOTION')
            continue
        # recording the move
        main_board.record(MAINRECADDRESS)
        ### PARAMETERS MANIPULATION
        # turn count
        if main_board.player == BLACK:
            main_board.turn += 1
        # player change
        main_board.player *= -1
        
        # board output
        main_board.print(turnmode=turnmode)
                        
                    
                まず s_analyze の結果を格納している motion が False つまり「解読/移動不可能」の場合であれば、当然入力したプレーヤーが悪いので、
てめーがチゲーんだよ
とつっぱねてください。もちろん当人が再入力しますから、continue によってループ先頭に戻るようにします。
                        
        # invalid input (here, valid motion is conducted)
        if motion == False or main_board.move(*motion) == False:
            print('INVALID INPUT/MOTION')
            continue
                        
                    
                ~~~~~~~~~~~~~~~
同時に if 文の中で move を実行することによって、盤上の駒を実際に動かしています。もし False「移動失敗」がリターンされたら、やはりプレーヤーには 8-2 から動かしている while の頭からやり直してもらいます。
                        
        # invalid input (here, valid motion is conducted)
        if motion == False or main_board.move(*motion) == False:
            print('INVALID INPUT/MOTION')
            continue
                        
                    
                おいおいおいおい、なんだよ move(*motion) って
関数やメソッドなどの引数に *list を入れると、リストの中身を引数に代入してくれるというものです。つまり move(*motion) は
move(motion[0], motion[1], motion[2], motion[3], motion[4])
と同じ。
~~~~~~~~~~~~~~~
さて、while ループもいよいよ終盤です。if 文内で move を発動した時点で駒は動いていますので、パラメーターを調節してあげます。
                        
        # recording the move
        main_board.record(MAINRECADDRESS)
        ### PARAMETERS MANIPULATION
        # turn count
        if main_board.player == BLACK:
            main_board.turn += 1
        # player change
        main_board.player *= -1
        
        # board output
        main_board.print(turnmode=turnmode)
                        
                    
                ただし record の部分は Stage 10 で扱いますので今は無視してください。いや、今は考えません。だから、そんなにしつこいと
モテないよ、君。
まず turn のカウントを増やしてあげます。白 → 黒 → ... の順なので、player が黒のときに turn を増やしてあげてください。
                        
        ### PARAMETERS MANIPULATION
        # turn count
        if main_board.player == BLACK:
            main_board.turn += 1
                        
                    
                どうして白黒両方じゃないの?
棋譜を見ればわかりますが、1 ターンというのは白黒セットにして数えます。
                次は player を相手に移すために -1 倍です。
                        
        # player change
        main_board.player *= -1
                        
                    
                最後に盤面をプレーヤーに見せてあげて、この手番はおしまいです。
                        
        # board output
        main_board.print(turnmode=turnmode)
                        
                    
                8-2 から続けてきた while ループはここで終了します。