Pythonプログラミングで

チェスを作る

Stage 8 ゲームを進行する

8-1 ゲームの初期設定をする

ゲームを始める前に仕上げておかなければならないものをチャッチャと仕上げちゃいましょう。ファイルは新しくなって playmode.py です。

いろいろインポートしたら、まず local_logger を設定します。

                        
import sys
                            
from config import *
import board
import IO
                            
local_logger = setLogger(__name__)
                        
                    

これに関しては今まで何回もやってるからいいですよね。

~~~~~~~~~~~~~~~

ここからは playmode 関数の中に入っていきます。まずは引数の検討です。

                        
def playmode(turnmode=True, logger=None):
                        
                    

turnmode は 3-2 で作った print メソッドの引数に入れるものです。ロガーはやっぱりいつも通りのロガーで、いつも通りに最初に設定します。

                        
    ### LOGGER SETTING
    logger = logger or local_logger
                        
                    

直後の record とかは Stage 10 で扱いますので、まだ触らないでくださいね。

                        
    ### INITIALIZATION
    # files preparing
    record = open(MAINRECADDRESS, 'w')
    record.close()
    record = open(SUBRECADDRESS, 'w')
    record.close()
                        
                    

触らないでくださいね。だから

触らないでくださいね。

UNAVAILABLE

分かったからそんな突っかかるなって

ちゃんとやりますから。

~~~~~~~~~~~~~~~

ここで手をつけるのは main_board という Board のインスタンスの宣言です。

                        
    # initializing the board
    main_board = board.Board()
    main_board.print(turnmode=turnmode)
                        
                    

この時点でコンストラクタが実行され、board や player などの各種パラメーターが初期化されます。

次いで盤面を表示します。

                        
    # initializing the board
    main_board = board.Board()
    main_board.print(turnmode=turnmode)
                        
                    

後々出てきますけれども、このコードでは基本的に手番(ターン)が終了してから盤面を写し出しますので、これを入れておかないと、最初何もないところからいきなり「さあて、ゲームの始まりですよ。あなたどの駒動かします?」ってなります。

UNAVAILABLE

いや、まずは盤面見せろよ

ってなりますから書き忘れないでくださいね。

ここから先は while でループさせます。基本的に決着が着くまでずっと白 → 黒 → 白 → ... と続きますから、for よりも while ループが適切でしょう。

NEXT 8-2 ゲームセットを判定する