Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#objective-cqtwindows誰得cocoapythonphprubygameguibathyscaphec翻訳omegat計画中(planning stage)frameworktwittertestdomvb.netdirectxbtronarduinopreviewerゲームエンジン

Recent Chamber Activity

2019-09-13
2017-06-27
2017-06-24

Recent Wiki Changes

2019-09-13
2017-06-27
2017-06-24
2017-06-23

Wiki Guide

Side Bar

第三回なでしこでリバーシ(オセロ)交互に打つ。

石の色を反転する関数を作っておきます。

●反転(石色を)
  もし、石色が「黒」ならば
    それは「白」
  もし、石色が「白」ならば
    それは「黒」

"それ"に入れておくと関数の戻り値になります、 引数が「黒」なら「白」が返り、「白」なら「黒」が返ります。

局面グループに手番を追加します。

・手番
作る~で手番は「黒」に初期化します。
	・作る~
		配置は、・・・・(省略)
     手番は「黒」。

打つとき今までは黒しか置けませんでしたが、 手番の石が置かれるようにします。

  ・打つ(横,縦に)~
    配置\縦,横は手番。

実行結果

2017-06-24_18h07_19.png

交互に打てるようになりました。 でもひっくり返りませんし、どこにでも打てます。

今回までのソース

!変数宣言が必要

#盤の大きさの設定
枠幅とは整数。枠幅は40。
左余白とは整数。左余白は20。
上余白とは整数。上余白は30。
	
現在局面とは局面。
現在局面を盤描画。

母艦のマウス押した時は
  入力横とは整数。
  入力縦とは整数。
  入力横は(母艦のマウスX-左余白)/枠幅。
  入力縦は(母艦のマウスY-上余白)/枠幅。
  入力横=入力横を切り下げ。
  入力縦=入力縦を切り下げ。
  現在局面の入力横,入力縦に打つ。
  現在局面の手番交代。
  現在局面を盤描画。
                
■局面とは
	・配置
	・手番
	・作る~
		配置は、
     「空,空,空,空,空,空,空,空,{改行}」&
     「空,空,空,空,空,空,空,空,{改行}」&
     「空,空,空,空,空,空,空,空,{改行}」&
     「空,空,空,黒,白,空,空,空,{改行}」&
     「空,空,空,白,黒,空,空,空,{改行}」&
     「空,空,空,空,空,空,空,空,{改行}」&
     「空,空,空,空,空,空,空,空,{改行}」&
     「空,空,空,空,空,空,空,空」。
     手番は「黒」。
  ・打つ(横,縦に)~
    配置\縦,横は手番。
  ・手番交代~
    手番は手番を反転。
●反転(石色を)
  もし、石色が「黒」ならば
    それは「白」
  もし、石色が「白」ならば
    それは「黒」
●盤描画({グループ}対象局面を)

  線太さは1
  線色は黒色。
  横とは整数。
  縦とは整数。
  横で0から7まで繰り返す
    縦で0から7まで繰り返す
      塗り色は白色。
  		#ます目を描く
      横×枠幅+左余白,縦×枠幅+上余白から(横+1)×枠幅 + 1 +左余白,(縦+1)×枠幅 + 1+上余白へ四角。
      石とは文字列。石は対象局面→配置\縦,横
      #白石を描く
      もし石が「白」なら
        塗り色は白色。
        横×枠幅 + 2 +左余白,縦×枠幅+2+上余白から(横+1)×枠幅+左余白-2,(縦+1)×枠幅+上余白-2へ円。
  		#黒石を描く
      もし石が「黒」なら
        塗り色は黒色。
        横×枠幅 + 2 +左余白,縦×枠幅+2+上余白から(横+1)×枠幅+左余白-2,(縦+1)×枠幅+上余白-2へ円。


第二回なでしこでリバーシ(オセロ)マウスでクリックしたところに石を置く。 に戻る。

第四回なでしこでリバーシ(オセロ)打てるところを制限するパート1