U-16
旭川プログラミングコンテスト

競技部⾨門概要資料
旭川⾼高専パソコン部著

目次
第R章

GBMmt の使い方
起動方法 X X X X X X X X X X X X X X X X X X X X
終了方法 X X X X X X X X X X X X X X X X X X X X

R
R
k

第k章

プログラムの使用方法
プログラム作成から実行の流れ X X X X X X X X X

9
9

第j章

競技ルール
説明に使う用語・記号について X X X X X X X X X
画面のサンプル X X X X X X X X X X X X X X X X X
ルール X X X X X X X X X X X X X X X X X X X X X
ゲームで行える行動 X X X X X X X X X X X X X X
周辺情報 X X X X X X X X X X X X X X X X X X X X
具体的な通信の仕様 X X X X X X X X X X X X X X

N
N
Ry
Ry
RR
Rj
R9

第9章

ライブラリの詳細
構成要素 X X X X X X X X X X X X X X X X X X X X
定義一覧 X X X X X X X X X X X X X X X X X X X X
定数・変数 X X X X X X X X X X X X X X X X X X X
関数 X X X X X X X X X X X X X X X X X X X X X X X

Re
Re
Rd
R3
RN

RXR
RXk
kXR
jXR
jXk
jXj
jX9
jX8
jXe
9XR
9Xk
9Xj
9X9

GBMmt の使い方

第R章

ě概要ě

GBMmt は，rBM/Qrb などとは違い色々な個人が協力して趣味で作成した PaUオペレーティングシステムの略で，rBM/Qrb の様にパソコンを人間に取って使いやすくするためのソフトウェ
アV です．なので，見た目や機能などを自分に必要な状態にカス
タマイズすることが出来るため，大学の研究室や企業などで広く用いられています．
今年の旭川プロコンは GBMmt を旭川プロコン専用 Pa として改造したものを使っていきたいと思います．そのための使い方を勉強して行きましょう．

RXR 起動方法(1) パソコンを起動する前に la" を差し込みます．
(2) "APaUこれは，rBM/Qrb などを呼び出すために使われるマ
ザーボードに内蔵されているソフトウェアですV のブートマネージャを用いて変更します U警告：これは間違えるとS* が壊れる危険が有る行動なので，心配なら中学校の技術の先生や旭川プロコンで教えてくれる工業高校や高専の人たちに聞いてみて下さいV．
(3) しばらく謎の黒い文字が出て来たあと，以下の様な画面が出てくると思います．

図 RXR 選択画面

これの上側を選んで下さい U下側は基本的に使いませんV．

第 R 章 GBMmt の使い方

k(4) 謎のハッカー的な画面の後，以下の画面になる筈です．これが，いわゆるデスクトップです．講習では，下の方にある
8 つのアイコンを主に使ってプログラムを書いていきます．

図 RXk デスクトップ画面

また，デスクトップにおいてあるファイルはいじらないでください！ なぜかと言うと，中には qBM/Qrb のデータに関するモノもあるので，まちがって rBM/Qrb を壊したりする可能性があるからです．

起動方法は以上です．興味のある人は，自分で調べて他のソフ
トウェアなどの使い方を勉強してみるのも良いかもしれません．

RXk 終了方法(1) 左上のアプリケーションの項目を押して，一番下にあるログアウトを押す．

図 RXj

アプリケーション選択画面

RXk 終了方法

j(2) ログアウトを押すと出てくる，終了の一覧から，「電源を切る」を選択する Uそれ以外を選択すると，ユーザ名とパス
ワードの入力をしたりなどめんどくさいことになるV．

図 RX9 終了画面

第k章

プログラムの使用方法

では，GBMmt でのプログラムを書いていく方法を学んでいきましょう．

kXR プログラム作成から実行の流れ
プログラミングは基本的に一連の流れによって，作成されます．

(1) プログラムソースを書く．
(2) コンパイルする．
(3) コンパイルが成功したら次へ行く．もし，失敗したら (1) へと戻ってやり直す．
(4) プログラムを実行する．今回の大会は以下の通りに実行
する．
i サーバプログラムを起動する．
ii *PPGU先攻側のプログラムV を起動する．
iii >PhU後攻側のプログラムV を起動する．

この流れを普通は黒い画面に文字を打ち込んで行います．しかし，それは結構大変なので，今回の大会ではクリックするだけで実行出来る様にしました！ 各流れに対応する e 個のアイコンを順番に押していくだけで実行できます．
その e 個のアイコンは画面の下，以下の図の様な位置に存在します． このアイコンは，左から順番に押していきます．左から

図 kXR .Q+F

順番に，押すとどのようになるのか，実際に図を交えながら説明したいと思います．

(1): このアイコンは，プログラムソースを作成するためのコマンドです．クリックすると次の画面が現れます． この画面に書かれているモノがプログラムソースと呼ばれるモノで，実際にこれを書き換えることでプログラムを作成
していきます．
作成し終わったプログラムを保存するためには下に赤丸で示した場所を押します．

kXR プログラム作成から実行の流れ

図 kXk

プログラムソースを書く画面

図 kXj 保存する場所

(2)

(3)

: コンパイルを行います．このボタンを押したら，一件何も変わりませんが，裏側でコンパイルが行われている
ので，本当に押したか分かりづらいので k，j 回押すことをお勧めします．

: これは，コンパイル結果を調べるコマンドです．以

8

第k章

e

プログラムの使用方法

下の画像の様に何も書かれていなければ成功です．

図 kX9

コンパイル成功時の画面

逆に，次の様に書かれていれば失敗です．最初に戻ってプ
ログラムを書き直すことになります．

図 kX8

コンパイル失敗時の画面

また，何度かコンパイルし直すと，以下の様な画面になりますが，このときは上にある (再読み込み U_V) を選択して下さい．

kXR プログラム作成から実行の流れ

図 kXe

(4)

d

再読み込み

: サーバプログラムを起動します．起動すると，次の様な黒い画面が出てくると思います．

図 kXd

サーバプログラム起動時の画面

この画面に「a1_o1_ ah_h
れば完了です．次の項目に進みます．

」と表示されてい

第k章

3

(5)

(6)

プログラムの使用方法:*PPGU先攻側V で接続します．押したら，先ほどの

黒い画面に「Ｃｏｏｌが【接続時の名前】で接続しました．
」と表示されたら成功です．表示されてなかった場合，実はコンパイルが失敗していたなどの可能性があります．

:>PhU後攻側V で接続します．成功したらさきほどと同様に「Ｈｏｔが【接続時の名前】で接続しました．
」と表示されるとともに，以下の様にマップなども表示されます．

図 kX3

ゲーム開始前の画面

このとき，上にある (h2`KBMH) と書かれたバーを選択して，エンターキーを押すとゲームが始まります．

こうすると，ゲームが開始します．上の方に「*QQH rBM55」または「>Qi rBM55」と表示されたら決着がついたと思って大丈夫です．
そして，ゲームを終了させるときは，ゲームが終了したのを確認してからフィールドをマウスで一回クリックして，(Hi Y 69)
を押して下さい．そうすると終了します．また，ゲーム終了してからすぐサーバを起動すると，前の対戦結果が完全に終了していないため，勝負が始まらない可能性があります．なので，一息ついてから行動して下さい．

第j章

競技ルール
ě概要ě

この章では，プログラミングコンテスト競技部門のルールについて解説します．ゲームの基本となるため，ぜひ目を通しておいて下さい．また，中にはルールとして知ってるのと知らないのでは全然ゲームの難易度が違ってくるルールもあるので，隅から隅まで詳しく読んで少しでも優勝のために頑張って下さい．

jXR 説明に使う用語・記号についてゲームに使う基本的な用語や記号と実際のゲームとの対応を説明します．

プレイヤ : ゲームに接続するプログラム Uつまり，今回の大会で皆さんに書いてもらうプログラムV とそれを使って対戦する人です．
サーバ : 接続されて，対戦の状況などを管理するプログラムのことです．
*PPG: ゲームの先攻側です．
サーバに先に接続したプログラムが先攻になります．
>Ph: ゲームの後攻側です．
サーバに後から接続したプログラムが後攻になります．
ターン : 自分が R 回行動する一連の動作 U;2i_2/v，周辺情報の取得，メソッド，周辺情報の取得V をターンと呼びます．
フィールド : ゲームを行う場所のことです．
周辺情報 : 自分の居るマスを含めた周囲 N マスの状態とゲームが終了しているか否かの情報のことです，
メソッド 自分のターン中に R つ行える動作のことです．

また，この章ではメソッドの説明など，言葉だけではイメージが掴みづらい部分が多いです．なので，これから使われる図と用語について対応表を書いておきます Uそして，*PPG を自分として書いていますが，>Ph でも同様ですV．
自分 U*PPGV
相手 U>PhV
普通の床

ブロック
アイテム

第j章

Ry

競技ルール

jXk 画面のサンプル
具体的なサンプルをもとに実際にどのような配置になるかを見てみたいと思います．実際の競技画面は以下の様になります．

図 jXR 実際の画面(1) フィールド
(2) *PPG の名前(3) >Ph の名前(4) *PPG が獲得したアイテムの個数(5) >Ph が獲得したアイテムの個数(6) 制限ターン数 Uゲーム開始からは終了までのターンのカウ
ントダウンとなるV(7) *PPG のアイコン(8) >Ph のアイコン(9) ブロック(10) アイテム

jXj ルール

jXjXR 基本的なルール? 競技は，サーバに接続された k 人のプレイヤによる R 対 R での対戦になります．
? 先に接続した側を先攻になり，後に接続した側が後攻になります．

jX9 ゲームで行える行動

RR? 勝利条件 UjXjXk 節を参照V を先に満たしたプレイヤが勝利となります．
? 競技に使用するフィールドは，15 ⇥ 17U縦 R8 マス，横 Rd マ
スV です．
? アイテム・ブロックは，マップの中心から点対称になる様に配置されます．
? アイテムを取得したとき，元居たマスは以下の様になります U下記の図を参照V．

図 jXk 動作の例

jXjXk 勝利条件
? 決められた，制限ターンになったときに，アイテムを相手よりも多く集めている．

? ブロックを対戦相手の上に乗せる．
? 対戦相手の上下左右をブロックで囲み，動けなくする．
? 対戦相手がブロックの上に移動する．
? 対戦相手が試合続行不可能になる．

この条件で勝負がつかなかった場合は引き分けとなります．

jX9 ゲームで行える行動
jX9XR ;2i_2/v
自分のターンがくるまで待機します．自分のターンが来たとき，サーバから与えられる周辺情報を取得します．
また，ターンの間で起動した場合，試合が続行出来ないのでターンの間は起動しない様にして下さい！

第j章

Rk

競技ルール

jX9Xk メソッド
メソッドは，ǳ(動作)(lT- _B;?i- G27i- .QrM のどれか)Ǵ という形で書かれています U例 :ǳrHF_B;?iǴV．今回，載せる図などは
すべて ǳ_B;?iǴ での動作です．ほかの ǳlTǴ などは適時読み替え
て下さい．

rHF

指定された上下左右のどれかの方向に移動します．メソッド実行後に取得される周辺情報は移動後の周辺情報です．

図 jXj rHF のイメージ UrHF_B;?i の場合V

HQQF

指定された上下左右のどれかの方向に対して，正方形状に N マスの情報を取得します U下記の図を参照V．メソッド実行後に取得される周辺情報は HQQF で取得した情報です．周辺情報割当ての順番は図に割り振られている番号と一緒です．

図 jX9 HQQF のイメージ UHQQF_B;?i の場合V

jX8 周辺情報

Rjb2`+?

指定された上下左右のどれかの方向に対して，直線上に N マスの情報 U下記の図を参照V を取得します．メソッド実行後に取得される周辺情報は b2`+? で取得した情報です． 周辺情報割当ての順番は図に割り振られている番号と一緒です．

図 jX8 b2`+? のイメージ Ub2`+?_B;?i の場合V

Tmi指定された上下左右のどれかの方向に対して，ブロックを配置します．メソッド実行後に取得される周辺情報は，ブロックをおいた後の周辺情報です．

図 jXe Tmi のイメージ UTmi_B;?i の場合V

jX8 周辺情報サーバから送信される周辺情報については，具体的には以下の通りの様な仕様となっています．

(1) Ry 桁の y から j までの数字です．
(2) R 桁目には，ゲームの状態 U終了しているかどうかV を表しています．y が終了状態で，R が続行している状態です．

第j章

R9

競技ルール

(3) k 桁目から Ry 桁目には対応する自分の周囲 N マスの情報 U図
jXd 参照V が保存されています U8 番目が自分の現在居る位置
ですV．また，各桁に y から j までの数字が割り当てられて，
以下に示す様な意味になります．

表 jXR 周辺の状態割り当て表

割り当てられている数値

状態

y

なにもなし

R

相手プレイヤがいるk

ブロックがあるj

アイテムがある図 jXd 周辺情報の割当図

以下に，実際の状態と値の対応表を書きます．
表 jXk

図 jX3

周辺情報の例

周辺情報の値

周辺情報の桁

値

R

R

k

k

j

y

9

y

8

y

e

y

d

j

3

j

N

R

Ry

y

jXe 具体的な通信の仕様
q`MBM;5：この章は，自分で新しくライブラリを作成する人向けの章です．それ以外の人は読まなくても問題有りません．
別の言語などで，独自のライブラリを構築する場合，以下の仕様にのっとって作ればサーバとの通信が行えます．

(1) サーバとの接続を確立 U接続のポート番号は前述の値を参jXe 具体的な通信の仕様

R8

照して下さいV，(2) サーバへチーム名を送信します Uここで，先頭 8 文字目以降は無視されますV．
(3) サーバが送信する ǳ!Ǵ を受け取ります．
(4) ǳ;`$`$MǴ をサーバに送信します Uこれを，本テキストでは;2i_2/v と呼んでいますV．
(5) サーバ側から送信される Ry#vi2 の文字列を受け取りますUこれを，本テキストでは周辺情報と呼び，実装では pHm2に格納していますV．例としては，ǳRyyyyyyyyyǴ となります．
(6) サーバにメソッドを表現する k 文字とその末尾に ǳ$`$MǴ を付加した文字列を送信します．表現の対応表は，
表 jXj メソッドの表現対応表

lT

_B;?i

G27i

.QrM

rHF

ǳrmǴ

ǳr`Ǵ

ǳrHǴ

ǳr/Ǵ

HQQF

ǳHmǴ

ǳH`Ǵ

ǳHHǴ

ǳH/Ǵ

b2`+?

ǳbmǴ

ǳb`Ǵ

ǳbHǴ

ǳb/Ǵ

Tmi

ǳTmǴ

ǳT`Ǵ

ǳTHǴ

ǳT/Ǵ

(7) (5) と同様に周辺情報を受け取ります．
(8) サーバに ǳO$`$MǴ を送信します．
(9) 以降，周辺情報の最初の文字が ǳyǴ になるまで，(4) からこ
こまでを繰り返す．

以下に概要図を示すので，これを利用して作成に役立てて下
さい．

図 jXN

動作模式図

ライブラリの詳細

第9章

ě概要ě

今回のプログラミングコンテストで使用する T`Q*QMM2+iX?
について詳細な説明を加えます．基本的には必要最低限の機能しか搭載していないために，仕様の詳細といっても，今大会で，楽に勝てる助けとなるなツールとしての期待は出来ません．しかし，独自の言語・環境でライブラリを書き直したいしたいのなら，T`Q*QMM2+iX? の詳細な仕様を知る事で大きな手助けとなれることと思いますので，ぜひそのような野心を持つ読者の皆さんには興味を持って読んでもらいたいと思います． また，今回のライブラリ作成にあたって .GG などでの配布ではなく敢えてソースファイルとしての配布としました．これは，実際にライブラリを読んで具体的な接続方法・各関数の動きなどを理解してもらい実際に書きやすくするためです．なので，興味を持って頂けたのならぜひ一回は見てみて下さい．

9XR 構成要素
このヘッダファイルは，パラメータの最大値・設定番号を記録してある定数，サーバから受信された値を記録する変数，サーバへ動作を送信する関数の j つの要素で構成されています．基本
的に名称は，ルールセクション U第 j 章参照V と同じです．なので，わからない単語が出て来た場合はルールセクションに戻って意味を再確認することをお勧めします．
定数，変数，関数については具体的な説明はプロコンの講習資料を参照して頂くとしてこの章ではざっくりと以下の意味で使い分けていることを先に明らかにしておきます．

定数 : プロコンを通して U仕様変更が無い限りV 変化しない数値，
または文字．
変数 : ゲーム中に，サーバ側もしくはプレイヤ側からから変更される可能性のある値，または文字．
関数 : ゲーム中に，複雑な動作をひとまとまりにしたもの．

9Xk 定義一覧

Rd

9Xk 定義一覧
まずは，ここの具体的な説明を避けて一覧とその概要を載せます．
表 9XR T`Q*QMM2+iX? に含まれる定義の一覧

種別

定数

変数

関数

定義名

概説

>PhSP_h>Ph（後攻）の接続ポート番号*PPGSP_h*PPG（先攻）の接続ポート番号

LJ1nJs

サーバに送信されるチーム名の最大文字数oGl1naAw1

pHm2 の最大値pHm2

サーバから送信される周辺情報を記録する

BMBi*QMM2+i

サーバへの接続処理を行う+QQH*QMM2+i*SSY として接続処理を行う?Qi*QMM2+i>Ph として接続処理を行う;2i_2/v

待機状態になる+?2+F1M/

ゲームが終了しているかどうかの判定

2M/hm`M

ターンの終了処理を行う

2M/:K2

ゲームの終了処理を行う

rHFlT

上方向へ rHF するrHFG27i

左方向へ rHF するrHF_B;?i

右方向へ rHF するrHF.QrM

下方向へ rHF する

HQQFlT

上方向へ HQQF する

HQQFG27i

左方向へ HQQF する

HQQF_B;?i

右方向へ HQQF する

HQQF.QrM

下方向へ HQQF するb2`+?lT

上方向へ b2`+? するb2`+?G27i

左方向へ b2`+? するb2`+?_B;?i

右方向へ b2`+? するb2`+?.QrM

下方向へ b2`+? する

TmilT

上方向へ Tmi する

TmiG27i

左方向へ Tmi する

Tmi_B;?i

右方向へ Tmi する

Tmi.QrM

下方向へ Tmi する第 9 章 ライブラリの詳細

R3

9Xj 定数・変数
9XjXR *PPGSP_h
サーバへの接続の際に *PPGU先攻側V として接続するためのポート番号を表す定数です R ．

9XjXk >PhSP_h
サーバへの接続の際に >PhU後攻側V として接続するためのポート番号を表す定数です k ．

9XjXj LJ1nJs
送信出来る最大文字数を表す定数です．ただし，ここで言う定数はバイト数で換算したものです Uつまり，日本語などの k バイ
ト文字は k 文字分使うV．

9XjX9 oGl1nJspHm2U周辺情報を表す変数V の長さを表す定数です．

9XjX8 pHm2
周辺情報を表す変数です．格納の順番などの詳細は，ルールセ
クションの項目を参照して下さい．

R 現在は，kyyNX
k 現在は，kyRyX

9X9 関数RN

9X9 関数
9X9XR BMBi*QMM2+i
プロトタイプ宣言

pQB/ BMBi*QMM2+iU+QMbi BMi TQ`i- +QMbi +?` MK2Vc

説明

サーバとの接続を行う関数です．ゲームの開始時に接続を行います．引数の TQ`i は，接続に行うポート番号，MK2 は接続時に表示される名前です．
接続に失敗した場合は，エラーを返してプログラムを終了します．接続に成功した場合は，ǳ*QMM2+i bm++2bb , (TQ`i 番号)Ǵ と表示します．

9X9Xk +QQH*QMM2+i
プロトタイプ宣言

pQB/ +QQH*QMM2+iU+QMbi +?` MK2Vc

説明

*PPGU先 攻 側V と し て サ ー バ と の 接 続 を 行 う 関 数 で す．
BMBi*QMM2+i の TQ`i に *PPGSP_h を設定した場合と同じ動作をします．

9X9Xj ?Qi*QMM2+i
プロトタイプ宣言

pQB/ ?Qi*QMM2+iU+QMbi +?` MK2Vc

説明

>PhU後 攻 側V と し て サ ー バ と の 接 続 を 行 う 関 数 で す．
BMBi*QMM2+i の TQ`i に >PhSP_h を 設 定 し た 場 合 と 同 じ 動
作をします．

第 9 章 ライブラリの詳細

ky

9X9X9 ;2i_2/v
プロトタイプ宣言

pQB/ ;2i_2/vUpQB/Vc

説明

自分のターンまでの待機状態に入る関数です．実行すると，pHm2 が ;2i_2/v 時の周辺情報に書き換えられます．動作に成功すると，ǳ;2i_2/v , (周辺情報 URy 桁V)Ǵ という風に表示されます．
動作として，ターンの間で呼び出されると，無限ループに陥り，またサーバーとの通信が途切れるとプログラムを強制終了
します．

9X9X8 +?2+F1M/
プロトタイプ宣言

BMi +?2+F1M/UpQB/Vc

説明

ゲームが終了しているかどうかを判定する関数です．終了していれば@R を返し，そうでなければ R を返します．
また，終了時には ǳ+?2+F1M/ , 1M/Ǵ，そうでなければ ǳ+?2+F@
1M/ , MQi 1M/Ǵ と表示します．

9X9Xe rHFlT
プロトタイプ宣言
説明

pQB/ rHFlTUpQB/Vc

上側に rHF します．成功した場合はターンの終了処理を行った上で行動後の周辺情報を pHm2 に更新し，ǳrHFlT , (周辺情報 URy 桁V)Ǵ を表示します．

9X9 関数kR

ゲームが終了した場合は動作は実行されません．

9X9Xd rHFG27i
プロトタイプ宣言

pQB/ rHFG27iUpQB/Vc

説明

左側に rHF します．成功した場合はターンの終了処理を行った上で行動後の周辺情報を pHm2 に更新し，ǳrHFG27i , (周辺情報 URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9X3 rHF_B;?i
プロトタイプ宣言

pQB/ rHF_B;?iUpQB/Vc

説明

右側に rHF します．成功した場合はターンの終了処理を行った上で行動後の周辺情報を pHm2 に更新し，ǳrHF_B;?i , (周辺情報 URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9XN rHF.QrM
プロトタイプ宣言
説明

pQB/ rHF.QrMUpQB/Vc

下側に rHF します．成功した場合はターンの終了処理を行った上で行動後の周辺情報を pHm2 に更新し，ǳrHF.QrM , (周辺情報 URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

第 9 章 ライブラリの詳細

kk

9X9XRy HQQFlT
プロトタイプ宣言

pQB/ HQQFlTUpQB/Vc

説明

上側に HQQF します．成功した場合はターンの終了処理を行った上で行動後の周辺情報を pHm2 に更新し，ǳHQQFlT , (周辺情報 URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9XRR HQQFG27i
プロトタイプ宣言

pQB/ HQQFG27iUpQB/Vc

説明

左側に HQQF します．成功した場合はターンの終了処理を行った上で行動後の周辺情報を pHm2 に更新し，ǳHQQFG27i , (周辺情報 URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9XRk HQQF_B;?i
プロトタイプ宣言
説明

pQB/ HQQF_B;?iUpQB/Vc

右側に HQQF します．成功した場合はターンの終了処理を行った上で行動後の周辺情報を pHm2 に更新し，ǳHQQF_B;?i , (周辺情報 URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9 関数kj

9X9XRj HQQF.QrM
プロトタイプ宣言

pQB/ HQQF.QrMUpQB/Vc

説明

下側に HQQF します．成功した場合はターンの終了処理を行った上で行動後の周辺情報を pHm2 に更新し，ǳHQQF.QrM , (周辺情報 URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9XR9 b2`+?lT
プロトタイプ宣言

pQB/ b2`+?lTUpQB/Vc

説明

上側に b2`+? します．成功した場合はターンの終了処理を行った上で行動後の周辺情報を pHm2 に更新し，ǳb2`+?lT , (周辺情報 URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9XR8 b2`+?G27i
プロトタイプ宣言

pQB/ b2`+?G27iUpQB/Vc

説明

左側に b2`+? します．成功した場合はターンの終了処理を行った上で行動後の周辺情報を pHm2 に更新し，ǳb2`+?G27i , (周辺情報 URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9XRe b2`+?_B;?i
プロトタイプ宣言

pQB/ b2`+?_B;?iUpQB/Vc

説明

右側に b2`+? します．成功した場合はターンの終了処理を行った上で行動後の周辺情報を pHm2 に更新し，ǳb2`+?_B;?i , (周辺情報 URy 桁V)Ǵ を表示します．

第 9 章 ライブラリの詳細

k9

ゲームが終了した場合は動作は実行されません．

9X9XRd b2`+?.QrM
プロトタイプ宣言

pQB/ b2`+?.QrMUpQB/Vc

説明

下側に b2`+? します．成功した場合はターンの終了処理を行った上で行動後の周辺情報を pHm2 に更新し，ǳb2`+?.QrM , (周辺情報 URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9XR3 TmilT
プロトタイプ宣言

pQB/ TmilTUpQB/Vc

説明

上側に Tmi します．成功した場合はターンの終了処理を行った
上で行動後の周辺情報を pHm2 に更新し，ǳTmilT , (周辺情報
URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9XRN TmiG27i
プロトタイプ宣言
説明

pQB/ TmiG27iUpQB/Vc

左側に Tmi します．成功した場合はターンの終了処理を行った
上で行動後の周辺情報を pHm2 に更新し，ǳTmiG27i , (周辺情報
URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9 関数k8

9X9Xky Tmi_B;?i
プロトタイプ宣言

pQB/ Tmi_B;?iUpQB/Vc

説明

右側に Tmi します．成功した場合はターンの終了処理を行った
上で行動後の周辺情報を pHm2 に更新し，ǳTmi_B;?i , (周辺情報
URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9XkR Tmi.QrM
プロトタイプ宣言

pQB/ Tmi.QrMUpQB/Vc

説明

下側に Tmi します．成功した場合はターンの終了処理を行った
上で行動後の周辺情報を pHm2 に更新し，ǳTmi.QrM , (周辺情報 URy 桁V)Ǵ を表示します．
ゲームが終了した場合は動作は実行されません．

9X9Xkk 2M/hm`M
プロトタイプ宣言

pQB/ 2M/hm`M UpQB/Vc

説明

タ ー ン の 終 了 処 理 を 行 い ま す，動 作 系 の 命 令 UrHF- HQQFb2`+?- TmiV 終了後にそれぞれの関数側で呼び出されるので，特に呼び出す必要は有りません．
また，この関数の起動時に周辺情報を更新します．

9X9Xkj 2M/:K2
プロトタイプ宣言
説明BMi 2M/:K2 UpQB/Vc

ゲームの終了時に呼び出すプログラムです．ゲームが終了後に呼び出して下さい．