Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2016-05-20

完成かな?

| 22:17

 ダイスはサイコロキャラメルにし替えて、得点表示部分が白だと、白のサイコロが何だか見づらいから、ちょこっとだけ色替えをして(でもんなに見やすくなったわけでもない;)、勝敗判定の表示と、メッセージ表示を付け加えて・・・

 このメッセージの数々に一番、無駄っぽく行数と時を食っていたり;;;

 ついでに、なこ様を表示させてみたりして、いちおう完成、完成~☆

#-----------------------------------------------------------------------
# 36(Thirty-six)
#-----------------------------------------------------------------------

#-----母艦設計-----------------------------------------------
!母艦設計=「母艦の可視はオフ」

#---メニュー----
『#親部品名,部品名,テキスト,ショートカット,オプション,イベント
なし,ファイルメニュー,ファイル(&F),,,
 -,新規メニュー,新しいゲーム(&N),Ctrl+N,,新規ゲーム
 -,-,,,,
 -,メッセージメニュー,メッセージ速度(&S),Ctrl+S,,
 --,速度1,早い(&1),,,「早い」にメッセージ速度変更。
 --,速度2,普通(&2),,,「普通」にメッセージ速度変更。
 --,速度3,遅い(&3),,,「遅い」にメッセージ速度変更。
 -,-,,,,
 -,閉じるメニュー,閉じる(&X),Ctrl+X,,終わる
なし,ヘルプメニュー,ヘルプ(&H),,,
 -,ルールメニュー,遊び方(&R),Ctrl+R,,遊び方
 -,-,,,,
 -,バージョンメニュー,バージョン情報(&A),Ctrl+A,,バージョン
』をメニュー一括作成。

*メッセージ速度変更(Sに)
  もし、S=「早い」ならば、
    メッセージ速度=0
    速度1のチェックオン。速度2のチェックオフ。速度3のチェックオフ。

  違えばもし、S=「普通」ならば、
    メッセージ速度=30
    速度1のチェックオフ。速度2のチェックオン。速度3のチェックオフ。

  違えばもし、S=「遅い」ならば、
    メッセージ速度=60
    速度1のチェックオフ。速度2のチェックオフ。速度3のチェックオン。
#------------------------------------------------------------

#---母艦----
母艦のタイトルは「36(Thirty-six)」
母艦のクライアント幅は640。母艦のクライアント高さは480。
母艦を$EEAA88で画面クリア母艦のスタイルは「枠固定」
母艦オフに最大化ボタン有効変更。
母艦中央移動。
#------------------------------------------------------------

#-----宣言---------------------------------------------------
プレイヤー名とは文字列=「プレイヤー」
コンピューター名とは文字列=「なこ様」
ナコ様画像とは文字列=「{ランタイムパス}\lib\nako.png」

出目とは配列。
得点とは整数=0
プレイヤー得点とは整数=0
コンピューター得点とは整数=0
プレイヤー罰点とは整数=0
コンピューター罰点とは整数=0

手番とは整数=0
プレイヤーとは整数=0
コンピューターとは整数=1
カウントとは整数=0
ゾロ目とは整数オフ
六ゾロとは整数オフ

マージンとは整数=15
メッセージ速度とは整数=30
速度2のチェックオン。

#---サイコロ設定----
ダイスサイズとは整数=80
ミニダイスとは整数=20

サイコロ赤とは配列。
サイコロ赤=「{ダイスサイズ}
{黒色},{赤色},{白色}
{黒色},{赤色},{白色}
{黒色},{赤色},{白色}
{黒色},{赤色},{白色}
{黒色},{赤色},{白色}
{黒色},{赤色},{白色}」

サイコロ白とは配列。
サイコロ白=「{ダイスサイズ}
{黒色},{白色},{赤色}
{黒色},{白色},{赤色}
{黒色},{白色},{赤色}
{黒色},{白色},{赤色}
{黒色},{白色},{赤色}
{黒色},{白色},{赤色}」

#---サイコロ用イメージ----
線太さ=1
ダイス用¥1にサイコロ赤でサイコロ準備
ダイス用¥2にサイコロ白でサイコロ準備

処理用とはイメージの可視はオフ。

#---サイコロ振るところ----
トレイ幅とは整数=350
トレイ高さとは整数=310
トレイxとは整数。トレイx=(母艦のクライアント幅/2)-(トレイ幅/2)
トレイyとは整数。トレイy=30

ダイストレイとはイメージの可視はオフの幅はトレイ幅。の高さはトレイ高さ。
ダイストレイを$006600で画面クリア。
ダイストレイを母艦のトレイx,トレイyへ画像コピー。

#---メッセージ出すところ----
テキストウィンドウ幅とは整数=610
テキストウィンドウ高さとは整数=115
テキストウィンドウxとは整数=マージン
テキストウィンドウyとは整数。テキストウィンドウy=トレイ高さ+トレイy+マージン

テキストウィンドウとはイメージの可視はオフの幅はテキストウィンドウ幅。の高さはテキストウィンドウ高さ。
テキストウィンドウを$222222で画面クリア。
テキストウィンドウを母艦のテキストウィンドウx,テキストウィンドウyへ画像コピー

#---得点計算するところ----
得点表示幅とは整数=110
得点表示高さとは整数=310
プレイヤーxとは整数=マージン
コンピューターxとは整数母艦のクライアント幅-(マージン+得点表示幅)
得点表示xとは整数。
得点表示yとは整数=マージン

得点表示用とはイメージの可視はオフの幅は得点表示幅。の高さは得点表示高さ。
得点表示用を$FFDDAAで画面クリア。

得点表示用を母艦のプレイヤーx,得点表示y*2へ画像コピー。
得点表示用を母艦のコンピューターx,得点表示y*2へ画像コピー文字書体は「MS ゴシック|12|太字」
母艦のプレイヤーx,0,得点表示幅,得点表示y*2-1へ「{プレイヤー名}」を中央,下で枠内文字描画母艦のコンピューターx,0,得点表示幅,得点表示y*2-1へ「{コンピューター名}」を中央,下で枠内文字描画。

#---サイコロ振るボタン----
ボタンフラグとは整数。  #0=OK、1=ゲーム開始、2=サイコロ振る、3=勝敗判定、4=新規ゲーム

ボタンAとはボタンの可視はオフの幅は100。の高さは30。
のXはトレイx+(トレイ幅/2-ボタンAの幅/2)。のYはトレイ高さ+トレイy-ボタンAの高さ。
ボタンAをクリックした時は~
  ナコ様の可視はオフ。
  もしボタンフラグ=0ならば
    ボタンフラグ=2
    もし、手番=プレイヤーならば、プレイヤー手番。
    違えば、コンピューター手番。
  違えばもしボタンフラグ=1ならば
    ボタンAの有効はオフ。
    「プレイヤーの手番」でメッセージ表示。
    ボタンAのテキストは「ダイスを振る」
    の有効はオン。
    ボタンフラグ=2
  違えばもしボタンフラグ=2ならば
    ボタンAの有効はオフ。
    サイコロ振る。得点計算。得点加算。
  違えばもしボタンフラグ=3ならば
    勝敗判定。
  違えばもしボタンフラグ=4ならば
    ボタンAの有効はオフ
    新規ゲーム。

#---なこ様----
ナコ様とはフォームの可視はオフの親部品は母艦
の画像はナコ様画像。
ナコ様を画像通り変形。
のドラッグ移動オフ。
#------------------------------------------------------------

#-----メインルーチン-----------------------------------------
母艦の可視はオンダイアログIMEIMEオンダイアログタイトルは「名前入力」
「あなたの名前は?(全角7文字以内で教えてね)」と尋ねるもしそれならば、
  プレイヤー名は「プレイヤー」
違えば
  プレイヤー名はそれの14バイト左部分。
  線色は$EEAA88。塗り色は$EEAA88。
  母艦のプレイヤーx,0からプレイヤーx+得点表示幅,得点表示y*2-1へ四角。
  母艦のプレイヤーx,0,得点表示幅,得点表示y*2-1へ「{プレイヤー名}」を中央,下で枠内文字描画。

「挨拶」でメッセージ表示ボタンAのテキストは「よろしく」
の可視はオンボタンフラグ=4
#------------------------------------------------------------
*新規ゲーム
  乱数初期化。
  プレイヤー得点=0
  コンピューター得点=0
  プレイヤー罰点=0
  コンピューター罰点=0
  カウント=0

  得点表示y=マージン。
  得点表示用を母艦のプレイヤーx,得点表示y*2へ画像コピー。
  得点表示用を母艦のコンピューターx,得点表示y*2へ画像コピー。
  ダイストレイを母艦のトレイx,トレイyへ画像コピー。
  描画処理反映。
  手番はプレイヤー。
  「ゲーム開始」でメッセージ表示。
  ボタンAの有効はオン
  ボタンAのテキストは「準備OK!」
  ボタンフラグは1

#-----2Dを振る---------------------------------------------
*サイコロ振る
  2
    処理用をダイスサイズ,ダイスサイズへ画像高速リサイズ。
    r=6の乱数。出目¥(回数-1)=r+1。
    x=r*ダイスサイズ。y=0。
    ダイス用¥回数のx,y,ダイスサイズ,ダイスサイズを処理用の0,0へ画像部分コピー。
    処理用を母艦のトレイx+((トレイ幅/3)*回数-ダイスサイズ/2),トレイy+(トレイ高さ/2-ダイスサイズ/2)へ画像コピー。

    処理用をミニダイス,ミニダイスへ画像リサイズ。
    もし、手番=プレイヤーならば
      得点表示x=プレイヤーx+10+(ミニダイス+10)*(回数-1)
      得点表示y=マージン*2+10+(ミニダイス+10)*(カウント/2)
      処理用を母艦の得点表示x,得点表示yへ画像コピー。
    違えば
      得点表示x=コンピューターx+10+(ミニダイス+10)*(回数-1)
      得点表示y=マージン*2+10+(ミニダイス+10)*((カウント-1)/2)
      処理用を母艦の得点表示x,得点表示yへ画像コピー。
#------------------------------------------------------------
*得点計算
  もし、(出目¥0)=(出目¥1)ならば
    もし、(出目¥0)=6ならば
      得点=36。
      文字色赤色。
    違えばもし、(出目¥0)=1ならば
      得点=0。
      文字色青色。
    違えば
      得点=出目¥0*出目¥1。
      ゾロ目=オン
      文字色黒色。
  違えば
    得点=出目¥0+出目¥1。
    文字色黒色。

*得点加算
  もし、手番=プレイヤーならば
    もし、得点=36ならば
      プレイヤー得点=36
      得点表示。
      「プレイヤー6ゾロ」でメッセージ表示。
      六ゾロ=1
    違えばもし、得点=0ならば
      プレイヤー得点=0
      得点表示。
      「プレイヤー1ゾロ」でメッセージ表示。
    違えば
      プレイヤー得点=プレイヤー得点+得点
      もし、プレイヤー得点>=36ならば
        文字色赤色。
        プレイヤー罰点=プレイヤー得点-36
      得点表示。
      もし、ゾロ目=オンならば
        「プレイヤーゾロ目」でメッセージ表示。
        ゾロ目=オフ
      違えば
        「プレイヤー出目」でメッセージ表示。
    手番=コンピューター。
    ボタンAのテキストは「OK」
    の有効はオン。
    ボタンフラグ=0
    
  違えば
    もし、得点=36ならば
      コンピューター得点=36
      得点表示。
      「コンピューター6ゾロ」でメッセージ表示。
      六ゾロ=六ゾロ+2
    違えばもし、得点=0ならば
      コンピューター得点=0
      得点表示。
      「コンピューター1ゾロ」でメッセージ表示。
    違えば
      コンピューター得点=コンピューター得点+得点
      もし、コンピューター得点>=36ならば
        文字色赤色。
        コンピューター罰点=コンピューター得点-36
      得点表示。
      もし、ゾロ目=オンならば
        「コンピューターゾロ目」でメッセージ表示。
        ゾロ目=オフ
      違えば
        「コンピューター出目」でメッセージ表示。

    もし、(プレイヤー得点>=36)または(コンピューター得点>=36)ならば
      ボタンAのテキストは「勝敗判定」
      の有効はオン。
      ボタンフラグ=3
    違えばもし、カウント=19ならば
      ボタンAのテキストは「無効試合」
      の有効はオン。
      ボタンフラグ=3
    違えば
      手番=プレイヤー。
      ボタンAのテキストは「OK」
      の有効はオン。
      ボタンフラグ=0

*得点表示
  文字書体は「MS ゴシック|16|太字」。
  もし、手番=プレイヤーならば
    得点表示x=プレイヤーx+20+(ミニダイス+10)*2
    得点表示y=マージン*2+10+(ミニダイス+10)*(カウント/2)
    母艦の得点表示x,得点表示y,ミニダイス,ミニダイスへ右,中央でプレイヤー得点を枠内文字描画。

  違えば
    得点表示x=コンピューターx+20+(ミニダイス+10)*2
    得点表示y=マージン*2+10+(ミニダイス+10)*((カウント-1)/2)
    母艦の得点表示x,得点表示y,ミニダイス,ミニダイスへ右,中央でコンピューター得点を枠内文字描画。
#------------------------------------------------------------
*勝敗判定
  #6ゾロでの上がりは累計での上がりに優先する
  もし、六ゾロ=1ならば        #プレイヤーが6ゾロ
    「勝ち」で勝敗表示。「プレイヤー6ゾロ勝利」で勝敗メッセージ表示。
  違えばもし、六ゾロ=2ならば    #コンピューターが6ゾロ
    「負け」で勝敗表示。「コンピューター6ゾロ勝利」で勝敗メッセージ表示。
  違えばもし、六ゾロ=3ならば    #プレイヤーもコンピューターも6ゾロ
    「引き分け」で勝敗表示。「双方6ゾロ」で勝敗メッセージ表示。

  #プレイヤーもコンピューターも6ゾロではない
  違えば
    もし、(プレイヤー得点>=36)ならば        #プレイヤーの点数が36かそれ以上で
      もし、(コンピューター得点<36)ならば        #コンピューターがそれ以下ならば
        「勝ち」で勝敗表示。「プレイヤー勝利」で勝敗メッセージ表示。
      違えばもし、(コンピューター得点>=36)ならば   #コンピューターの点数も36かそれ以上なら
        もし、(プレイヤー罰点<コンピューター罰点)ならば    #罰点のより少ない方が勝ちとなり
          「勝ち」で勝敗表示。「プレイヤー勝利2」で勝敗メッセージ表示。
        違えばもし、(プレイヤー罰点>コンピューター罰点)ならば
          「負け」で勝敗表示。「コンピューター勝利2」で勝敗メッセージ表示。
        違えば                          #それも同じならば引き分け
          「引き分け」で勝敗表示。「引き分け」で勝敗メッセージ表示。
    違えばもし、(コンピューター得点>=36)ならば  #プレイヤーの点数が36に満たずコンピューターの点数が36かそれ以上
      「負け」で勝敗表示。「コンピューター勝利」で勝敗メッセージ表示。
    違えば                        #10でどちらも36を越えなかった場合
      「引き分け」で勝敗表示。「無効試合」で勝敗メッセージ表示。

  六ゾロ=0
  ボタンAのテキストは「もう一度?」
  ボタンフラグ=4

*勝敗表示(Sで)
  ダイストレイを母艦のトレイx,トレイyへ画像コピー。
  文字書体は「MS ゴシック|32|太字」。
  勝敗表示x=(トレイ幅/2)-(Sの文字幅取得/2)+トレイx
  勝敗表示y=トレイy+10
  もし、S=「勝ち」ならば、
    文字色白色母艦の勝敗表示x+2,勝敗表示y+2へ「勝ち」を文字描画。
    文字色赤色母艦の勝敗表示x,勝敗表示yへ「勝ち」を文字描画。
  違えばもし、S=「負け」ならば、
    文字色白色母艦の勝敗表示x+2,勝敗表示y+2へ「負け」を文字描画。
    文字色青色母艦の勝敗表示x,勝敗表示yへ「負け」を文字描画。
  違えばもし、S=「引き分け」ならば、
    文字色白色母艦の勝敗表示x+2,勝敗表示y+2へ「引き分け」を文字描画。
    文字色は$777777。母艦の勝敗表示x,勝敗表示yへ「引き分け」を文字描画。

*勝敗メッセージ表示(Sで)
  文字色白色文字書体は「MS ゴシック|18|太字」。#12文字表示できる
  勝敗表示x=トレイx+30
  勝敗表示y=トレイy+80
  もし、S=「プレイヤー6ゾロ勝利」ならば
    母艦の勝敗表示x,勝敗表示yへ「おめでとう!{改行}6ゾロで{プレイヤー名}の{改行}完全勝利!!」を文字描画。
  もし、S=「コンピューター6ゾロ勝利」ならば
    母艦の勝敗表示x,勝敗表示yへ「残念!!{改行}6ゾロで{コンピューター名}の{改行}完全勝利!」を文字描画。
  もし、S=「双方6ゾロ」ならば
    母艦の勝敗表示x,勝敗表示yへ「双方6ゾロで引き分けです」を文字描画。
  もし、S=「プレイヤー勝利」ならば
    母艦の勝敗表示x,勝敗表示yへ「おめでとう!{改行}{プレイヤー名}の勝ち!!」を文字描画。
  もし、S=「プレイヤー勝利2」ならば
    母艦の勝敗表示x,勝敗表示yへ「{プレイヤー名}の罰点{プレイヤー罰点}点{改行}{コンピューター名}の罰点{コンピューター罰点}点で{改行}{プレイヤー名}の勝ち!」を文字描画。
  もし、S=「コンピューター勝利」ならば
    母艦の勝敗表示x,勝敗表示yへ「残念!!{改行}{コンピューター名}の勝ち!」を文字描画。
  もし、S=「コンピューター勝利2」ならば
    母艦の勝敗表示x,勝敗表示yへ「{プレイヤー名}の罰点{プレイヤー罰点}点{改行}{コンピューター名}の罰点{コンピューター罰点}点で{改行}{コンピューター名}の勝ち!」を文字描画。
  もし、S=「引き分け」ならば
    母艦の勝敗表示x,勝敗表示yへ「引き分けです」を文字描画。
  もし、S=「無効試合」ならば
    母艦の勝敗表示x,勝敗表示yへ「残念でした。{改行}10で決着がつかず{改行}無効試合となります。」を文字描画。
  Sでメッセージ表示。
#------------------------------------------------------------
*プレイヤー手番
  カウント=カウント+1
  ボタンAの有効はオフ。
  ボタンAのテキストは「ダイスを振る」  
  ダイストレイを母艦のトレイx,トレイyへ画像コピー。
  「プレイヤーの手番」でメッセージ表示。
  ボタンAの有効はオン。

*コンピューター手番
  カウント=カウント+1
  ボタンAの有効はオフ。
  ダイストレイを母艦のトレイx,トレイyへ画像コピー。
  「コンピューターの手番」でメッセージ表示。
  サイコロ振る。得点計算。得点加算。
#------------------------------------------------------------
*メッセージ表示(Sで)
  テキストウィンドウを母艦のテキストウィンドウx,テキストウィンドウyへ画像コピー。
  文字色白色文字書体は「MS ゴシック|18|太字」。
  メッセージx=マージン+30。一行目=テキストウィンドウy+30。二行目=テキストウィンドウy+60。
  名前x=マージン。名前y=テキストウィンドウy+5。
  セリフ一行目=テキストウィンドウy+40。セリフ二行目=テキストウィンドウy+70。
  もし、S=「挨拶」ならば
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    ナコ様表示。
    母艦のメッセージx,セリフ一行目へ「こんにちは、{プレイヤー名}!」をメッセージ速度で文字遅延描画。
    母艦のメッセージx,セリフ二行目へ「よろしくね☆」をメッセージ速度で文字遅延描画。
  もし、S=「ゲーム開始」ならば
    ナコ様表示。
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    母艦のメッセージx,セリフ一行目へ「それでは始めよう!」をメッセージ速度で文字遅延描画。
    母艦のメッセージx,セリフ二行目へ「準備はいいかな?」をメッセージ速度で文字遅延描画。 
  もし、S=「プレイヤーの手番」ならば、
    ナコ様表示。
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    母艦のメッセージx,セリフ一行目へ「{プレイヤー名}の番だよ。」をメッセージ速度で文字遅延描画。
    母艦のメッセージx,セリフ二行目へ「ダイスを振ってね。」をメッセージ速度で文字遅延描画。
  もし、S=「コンピューターの手番」ならば、
    ナコ様表示。
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    母艦のメッセージx,セリフ一行目へ「僕の番だね。」をメッセージ速度で文字遅延描画。
    0.5秒待つ。
    母艦のメッセージx,セリフ二行目へ「………… ………… ………… …………」をメッセージ速度で文字遅延描画。
    0.5秒待つ。
    ナコ様の可視はオフ。

  もし、S=「プレイヤー出目」ならば、
    母艦のメッセージx,一行目へ「出目は{得点}です。」をメッセージ速度で文字遅延描画。
    母艦のメッセージx,二行目へ「{プレイヤー名}の点数は{プレイヤー得点}点になりました。」をメッセージ速度で文字遅延描画。
  もし、S=「プレイヤーゾロ目」ならば、
    母艦のメッセージx,一行目へ「{出目¥0}ゾロです。得点は{得点}点。」をメッセージ速度で文字遅延描画。
    母艦のメッセージx,二行目へ「{プレイヤー名}の点数は{プレイヤー得点}点になりました。」をメッセージ速度で文字遅延描画。
  もし、S=「プレイヤー6ゾロ」ならば、
    母艦のメッセージx,一行目へ「6ゾロです!!」をメッセージ速度で文字遅延描画。
    母艦のメッセージx,二行目へ「{コンピューター名}が6ゾロ以外なら{プレイヤー名}の勝ち!」をメッセージ速度で文字遅延描画。
  もし、S=「プレイヤー1ゾロ」ならば、
    母艦のメッセージx,一行目へ「残念!1ゾロです!!」をメッセージ速度で文字遅延描画。
    母艦のメッセージx,二行目へ「{プレイヤー名}の点数が0点になりました。」をメッセージ速度で文字遅延描画。
  もし、S=「コンピューター出目」ならば、
    母艦のメッセージx,一行目へ「出目は{得点}です。」をメッセージ速度で文字遅延描画。
    母艦のメッセージx,二行目へ「{コンピューター名}の点数は{コンピューター得点}点になりました。」をメッセージ速度で文字遅延描画。
  もし、S=「コンピューターゾロ目」ならば、
    母艦のメッセージx,一行目へ「{出目¥0}ゾロです。得点は{得点}点。」をメッセージ速度で文字遅延描画。
    母艦のメッセージx,二行目へ「{コンピューター名}の点数は{コンピューター得点}点になりました。」をメッセージ速度で文字遅延描画。
  もし、S=「コンピューター6ゾロ」ならば、
    母艦のメッセージx,一行目へ「{コンピューター名}が、6ゾロを出しました!!」をメッセージ速度で文字遅延描画。
  もし、S=「コンピューター1ゾロ」ならば、
    母艦のメッセージx,一行目へ「1ゾロです!!」をメッセージ速度で文字遅延描画。
    母艦のメッセージx,二行目へ「{コンピューター名}の点数が0点になりました。」をメッセージ速度で文字遅延描画。

  もし、S=「プレイヤー6ゾロ勝利」ならば
    ナコ様表示。
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    母艦のメッセージx,セリフ一行目へ「ま、負けました・・・」をメッセージ速度で文字遅延描画。
  もし、S=「コンピューター6ゾロ勝利」ならば
    ナコ様表示。
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    母艦のメッセージx,セリフ一行目へ「圧勝だね」をメッセージ速度で文字遅延描画。
  もし、S=「双方6ゾロ」ならば
    ナコ様表示。
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    母艦のメッセージx,セリフ一行目へ「惜しい!」をメッセージ速度で文字遅延描画。
  もし、S=「プレイヤー勝利」ならば
    ナコ様表示。
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    母艦のメッセージx,セリフ一行目へ「ちくしょ~」をメッセージ速度で文字遅延描画。
  もし、S=「プレイヤー勝利2」ならば
    ナコ様表示。
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    母艦のメッセージx,セリフ一行目へ「悔しい~」をメッセージ速度で文字遅延描画。
  もし、S=「コンピューター勝利」ならば
    ナコ様表示。
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    母艦のメッセージx,セリフ一行目へ「ひゃっほう!」をメッセージ速度で文字遅延描画。
  もし、S=「コンピューター勝利2」ならば
    ナコ様表示。
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    母艦のメッセージx,セリフ一行目へ「やったね!」をメッセージ速度で文字遅延描画。
  もし、S=「引き分け」ならば
    ナコ様表示。
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    母艦のメッセージx,セリフ一行目へ「引き分けか・・・」をメッセージ速度で文字遅延描画。
  もし、S=「無効試合」ならば
    ナコ様表示。
    母艦の名前x,名前yへ「【{コンピューター名}】」を文字描画。
    母艦のメッセージx,セリフ一行目へ「なんと?!」をメッセージ速度で文字遅延描画。
#------------------------------------------------------------
*ナコ様表示
  ナコ様のX=母艦のクライアント幅-ナコ様の幅。
  ナコ様のY=母艦のクライアント高さ-ナコ様の高さ。
  ナコ様の可視はオン。ナコ様を最前面表示。
#------------------------------------------------------------
*サイコロ準備({グループ}imgにSで)
  imgをイメージとして作成。
  img→可視はオフ。
  img→幅はS\0*6
  img→高さはS\0
  imgを$00FF00で画面クリア。    #透過色
  目サイズ=S\0/8。
  6
    色設定とは配列。色設定=S\回数。
    線色は色設定¥0。塗り色は色設定¥1。
    外枠(img,S\0)
    線色は色設定¥2。塗り色は色設定¥2。
    もし回数=1ならば
      半径=目サイズ+S\0/40。
      中点(img,S\0)。
    もし回数=2ならば
      半径=目サイズ。
      左上点(img,S\0)。右下点(img,S\0)。
    もし回数=3ならば
      半径=目サイズ。
      中点(img,S\0)。左上点(img,S\0)。右下点(img,S\0)。
    もし回数=4ならば
      半径=目サイズ。
      左上点(img,S\0)。左下点(img,S\0)。右上点(img,S\0)。右下点(img,S\0)。
    もし回数=5ならば
      半径=目サイズ。
      中点(img,S\0)。左上点(img,S\0)。左下点(img,S\0)。右上点(img,S\0)。右下点(img,S\0)。
    もし回数=6ならば
      半径=目サイズ-S\0/80。
      左上点(img,S\0)。左下点(img,S\0)。右上点(img,S\0)。右下点(img,S\0)。左中点(img,S\0)。右中点(img,S\0)。

*外枠({グループ}img,S)
  x=(回数-1)*S。y=0。
  x2=x+S。y2=S。
  imgのx,yからx2,y2へ四角。

*中点({グループ}img,S)
  xx=(x+S/2)-半径。yy=S/2-半径
  xx2=(x+S/2)+半径。yy2=S/2+半径。
  imgのxx,yyからxx2,yy2へ。

*左上点({グループ}img,S)
  xx=(x+S/4)-半径。yy=S/4-半径
  xx2=(x+S/4)+半径。yy2=S/4+半径。
  imgのxx,yyからxx2,yy2へ。

*左下点({グループ}img,S)
  xx=(x+S/4)-半径。yy=(S/4)*3-半径
  xx2=(x+S/4)+半径。yy2=(S/4)*3+半径。
  imgのxx,yyからxx2,yy2へ。

*右上点({グループ}img,S)
  xx=(x+S/4*3)-半径。yy=S/4-半径
  xx2=(x+S/4*3)+半径。yy2=S/4+半径。
  imgのxx,yyからxx2,yy2へ。

*右下点({グループ}img,S)
  xx=(x+S/4*3)-半径。yy=(S/4)*3-半径
  xx2=(x+S/4*3)+半径。yy2=(S/4)*3+半径。
  imgのxx,yyからxx2,yy2へ。

*左中点({グループ}img,S)
  xx=(x+S/4)-半径。yy=S/2-半径
  xx2=(x+S/4)+半径。yy2=S/2+半径。
  imgのxx,yyからxx2,yy2へ。

*右中点({グループ}img,S)
  xx=(x+S/4*3)-半径。yy=S/2-半径
  xx2=(x+S/4*3)+半径。yy2=S/2+半径。
  imgのxx,yyからxx2,yy2へ。
#------------------------------------------------------------
*遊び方
  ダイアログタイトルは「36(Thirty-six)について」
  「【36(Thirty-six)のルール】
   二人で交互に六面ダイス二個を振り合い、点数を累計してゆきます。
   二個の目の和が、のまま点数になり、ゾロ目の場合は二個の目のが点数と
  なりますが、1ゾロの場合はそれまでの点数の累計がクリアされ0点になります。
   早く36点に達した方が勝ちとなりますが、先攻後攻はなく両者同じ回数だけ
  ダイスを振ることが出来るため、双方同時に上がった場合は、36を越えた分が
  罰点となり、より罰点の少ない方が勝ちとなります。
   なお、6ゾロで上がった場合は、36点ぴったりでの上がりとなり罰点はなく、
  また、通常の累計での上がりに優先します。
   罰点も同数の場合や両者ともに6ゾロで上がった場合は、引き分けとなります。」と言う
#------------------------------------------------------------
*バージョン
  ダイアログタイトルは「バージョン情報」
  「{二重カッコ}36(Thirty-six){二重カッコ閉じ}{改行}  Version 1.03{改行}{改行} by 雪乃☆雫」と言う。
#------------------------------------------------------------
●枠内文字描画({グループ=?}OBJのX,Y,W,HへSをA,Vで)
  xxとは整数。yyとは整数。
  もし、A=左ならば
    xx=X
  違えばもし、A=中央ならば
    xx=X+(W-(Sの文字幅取得))/2
  違えばもし、A=右ならば
    xx=(X+W)-(Sの文字幅取得)
  もし、V=上ならば
    yy=Y
  違えばもし、V=中央ならば
    yy=Y+(H-(Sの文字高さ取得))/2
  違えばもし、V=下ならば
    yy=(Y+H)-(Sの文字高さ取得)
  OBJのxx,yyへSを文字描画。
#------------------------------------------------------------

 やっぱり、こうゆう単純なゲームは、自分でサイコロを振ってこ、相手が人であってこって部分があるよねぇ。

 しかし、の時代は各々スマホのアプリって感じで、みんなでこういった埒もない暇つぶしの遊びをしたりはもうしないんだろうね・・・

 なこ様がもう少し、出目に対して一喜一憂した方が、少しは人っぽくて面白いかとも思ったけど、所詮は焼け石に水っていうか、色々メッセージを考えるのがもうさすがに面倒になったていうか、場合によっちゃむしろ腹立つっていうかなので、やめた~www

 画像合成を使わず、画面の書き換えもしなくて済むように、画像通り変形したフォームを重ねてみたんだけど、このなこ様で、デスクトップマスコットを作ってみたらどうだろう。

 またまたひらめいてしまったw(だから、なでコラはどうした;)

 次は、なでコラです(予定)

ゲスト



トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20160520