JPH0751430A - 将棋盤情報処理装置 - Google Patents

将棋盤情報処理装置

Info

Publication number
JPH0751430A
JPH0751430A JP5202337A JP20233793A JPH0751430A JP H0751430 A JPH0751430 A JP H0751430A JP 5202337 A JP5202337 A JP 5202337A JP 20233793 A JP20233793 A JP 20233793A JP H0751430 A JPH0751430 A JP H0751430A
Authority
JP
Japan
Prior art keywords
coordinate system
move
shogi board
shogi
piece
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP5202337A
Other languages
English (en)
Other versions
JP3191840B2 (ja
Inventor
Masafumi Shibazaki
雅史 柴崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP20233793A priority Critical patent/JP3191840B2/ja
Publication of JPH0751430A publication Critical patent/JPH0751430A/ja
Application granted granted Critical
Publication of JP3191840B2 publication Critical patent/JP3191840B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 自動将棋対局装置における将棋着手計算部の
プログラムの構造を簡単化し、その保守性を増大させる
こと。 【構成】 将棋の自動対局装置で駒位置を確認するため
に、将棋盤上の駒位置を観測する座標系として、右上隅
を1一、左隅を9九、とする座標系Aと、該座標系Aを
180度回転させた、右上隅を9九、左下隅を1一、と
する座標系Bとを用いる将棋盤情報処理装置であって、
将棋盤上の任意の駒が、このどちらの座標系からでも観
測できるように連動させている。先手側の駒を試しに動
かすときには座標系Aを用い、後手側の駒を試しに動か
すときには座標系Bを用いる。 【効果】 種類別の駒の移動できる位置の算出や、成る
ことが可能かどうかの判定は、先手と後手で全く同じ方
法を用いることができるようになる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピューターが人間
の代りに将棋の着手を計算する将棋の自動対局装置に関
し、特に、着手を検索するために将棋盤上の駒の配置を
記憶する記憶装置の記憶内容の読み出し、書き込み動作
を制御する将棋盤情報処理装置に関する。
【0002】
【従来の技術】将棋では、盤上の駒位置を表す座標系
は、列方向を算用数字で記述し、行方向を漢数字で記述
する。図5に示すように先手側を手前としたときに、右
上隅を1一、左下隅を9九、とするように定められてい
る。
【0003】典型的な最初の2手は、例えば、先手▲7
六歩、後手△8四歩、のように表現される。コンピュー
ターによる将棋の対局プログラムのように、人間の代り
に将棋の着手を計算する装置においても、現状では計算
に上記のような座標系が用いられている。
【0004】
【発明が解決しようとする課題】しかしながら、そのよ
うな座標系を用いることには次の問題がある。例えば
「香」という駒を考えると、それが移動できる座標XY
は、先手側の駒であればYが減少する方向となり、後手
側の駒であれば先手側とは逆にYが増加する方向とな
り、計算式が異なる。また、「成る」条件の計算には、
移動後の座標をXYとすると、先手側の駒ではY≦3と
なり、後手側の駒ではY≧7となるため、やはり異なる
条件を用いなければならない。
【0005】図6は、座標X,Yにある味方の歩の動き
をテストするプログラムの従来例の動作を示すフローチ
ャートである。
【0006】プログラムが開始すると、まず、指し手が
先手であるか、後手であるかの確認が行われる(ステッ
プS501)。先手である場合には、座標(X,Y−
1)を調べ(ステップS502)、そこに味方の駒が居
るかを確認する(ステップS503)。座標(X,Y−
1)に味方の駒が居る場合には進めないとの判断をする
(ステップS506)。座標(X,Y−1)に味方の駒
が居ない場合には、Y≦4であるかを確認する(ステッ
プS504)。Yの値が上記の条件を満たしていない場
合には、駒を進めることはできるが成れないと判断し
(ステップS507)、Yの値が上記の条件を満たして
いる場合には、Y=2であるかをさらに確認する(ステ
ップS505)。Yの値が2でない場合には成ることが
できると判断し(ステップS508)、Yの値が2であ
る場合には成ることしかできないと判断する(ステップ
S509)。
【0007】ステップS501で指してが後手であるこ
とが確認された場合には、上記と同様のルーチン(ステ
ップS510〜S513)に従った確認動作がなされ
る。後手の場合には上述したように先手のときとは異な
る座標系となるために確認する際のパラメータが異なる
ものとなる。
【0008】コンピューターによる将棋の対局プログラ
ムでは、良い手を探すために先手と後手の着手の両方を
シミュレーションする(試しにいろいろと動かしてどう
なるかを調べる)必要がある。先手側の着手の計算と、
後手側の着手の計算を、個々のサブルーチンのなかでい
ちいち場合分けすると、プログラムの可読性を損ね、保
守性を低下させる原因になるという問題点がある。
【0009】本発明は、上述したような従来の技術が有
する問題点に鑑みてなされたものであって、先手側の計
算と後手側の計算とを区別なく取り扱えるようにするこ
とで、自動将棋対局装置における将棋着手計算部のプロ
グラムの構造を簡単化し、その保守性を増大させること
を目的としている。
【0010】
【課題を解決するための手段】本発明の将棋の将棋盤情
報処理装置は、将棋盤上の駒位置を観測する座標系とし
て、右上隅を1一、左下隅を9九、とする座標系Aと、
該座標系Aを180度回転させた、右上隅を9九、左下
隅を1一、とする座標系Bとを用いる将棋盤情報処理装
置であって、将棋盤の盤面を座標系Aにより記憶する将
棋盤情報記憶部と、先手後手の手番、座標、該座標上の
駒の種類を確認する読み出し動作であるか該座標上の駒
の種類を変更したことを知らせる書き込み動作であるか
のいずれかを示す命令種別、駒の種類、等の駒位置を確
認するために必要とされる確認用情報を設定する確認用
情報設定手段と、確認用情報設定手段に設定された内容
に応じて、将棋盤情報記憶部に記憶された内容の読み出
し書き込み動作を行う命令処理部とを有し、命令処理部
は、確認用情報設定手段に設定された手番が先手である
場合には、確認用情報設定手段に設定された座標を座標
系Aによるものとして将棋盤情報記憶部に対する読み出
し書き込み動作に使用し、確認用情報設定手段に設定さ
れた手番が後手である場合には、確認用情報設定手段に
設定された座標を座標系Bによるものとし、該座標を座
標系Aに変換した座標により将棋盤情報記憶部に対する
読み出し書き込み動作を行うことを特徴とする。
【0011】なお、将棋盤情報記憶部に記憶する情報に
座標系Bを用いても、先手と後手、座標系Aと座標系B
を同時に読み替えることで同様の結果が得られる。
【0012】上記の命令処理部は、重複しないように配
置された座標系Aの1一〜9九に対応する第1のメモリ
アドレスブロックと、座標系Bの1一〜9九に対応する
第2のメモリアドレスブロックと、確認用情報に示され
る手番が先手である場合には第1のメモリアドレスブロ
ックを選択し、手番が後手である場合には第2のメモリ
アドレスブロックを選択するメモリアドレス選択手段
と、を有し、第1のメモリアドレスブロックおよび第2
のメモリアドレスブロックのそれぞれは、将棋盤上の同
一の升目に対するメモリアドレスが、将棋盤情報記憶部
内の同じメモリを指すように構成してもよい。
【0013】
【作用】本発明による作用を簡単に述べると次のように
なる。2つの連動する座標系を用いるが、ひとつは、右
上隅を1一、左上隅を9九、とする座標系Aで、もう1
つは、それを180度回転した、右上隅を9九、左下隅
を1一、とする座標系Bである。2つの座標系は、任意
の駒が、このどちらの座標系からでも観測できるように
連動させておく。例えば図3のように、座標系Aにおけ
る先手側の「歩」は、7六の位置にあると観測される
が、座標系Bでは3四の位置にあると観測される(駒の
向きは変わらない)。
【0014】将棋の対局プログラムでは、良い手を探す
ためには先手と後手の着手の両方を試しにいろいろと動
かして調べる必要があることを先ほど述べたが、ここで
先手側の駒を試しに動かすときには座標系Aを用い、後
手側の駒を試しに動かすときには座標系Bを用いること
にすると、種類別の駒の移動できる位置の算出や、成る
ことが可能かどうかの判定は、先手と後手で全く同じ方
法を用いることができるようになる。
【0015】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0016】図1は本発明の一実施例の要部構成を示す
ブロック図、図2は、2つの座標間の関係の概念図であ
る。
【0017】本実施例では、盤上の右上隅を1一、左隅
を9九、とする座標系Aと、それを180度回転させ
た、右上隅を9九、左下隅を1一、とする座標系Bとを
用いるものである。
【0018】図1に示すように、本実施例は、先後手番
記憶部101、命令入力部102、命令処理部103、
将棋盤情報記憶部104および将棋着手計算部201よ
り構成されている。
【0019】先後手番記憶部101および命令入力部1
02は確認用情報設定手段を構成し、将棋着手計算部2
01より与えられる確認用情報を記憶するもので、先後
手番記憶部101は、駒位置確認を行う際の手番が先手
であるか、または、後手であるかを記憶し、命令入力部
102は、駒位置確認を行う座標や該座標上の駒の種類
(駒の名称や表裏の状態等)を確認する読み出し動作で
あるか該座標上の駒の種類を変更したことを知らせる書
き込み動作であるかのいずれかを示す命令種別、駒の種
類等を記憶する。
【0020】将棋盤情報記憶部104は、将棋盤の盤面
を座標系Aにより記憶するもので、命令処理部103は
将棋盤情報記憶部104に対して先後手番記憶部101
および命令入力部102に設定された内容に応じて読み
出し書き込み動作を行うものであり、読み出し動作の場
合には読み出し内容である駒の種類を将棋着手計算部2
01へ出力する。
【0021】将棋着手計算部201は、着手を計算する
部分であり、読み出し動作を行うための上記の確認用情
報を出力することで、盤面上の各駒の位置をそれぞれ確
認する。また、書き込み用の確認用情報を出力して将棋
盤情報記憶部104の記憶内容を書き換える。これらを
組み合せることで着手を決定する。
【0022】上記の読み出し書き込み動作において、命
令処理部103は、確認用情報設定手段に設定された手
番が先手である場合には、確認用情報設定手段に設定さ
れた座標を座標系Aによるものとして将棋盤情報記憶部
104に対する読み出し書き込み動作に使用し、手番が
後手である場合には、確認用情報に示される座標を座標
系Bによるものとし、該座標を座標系Aに変換した座標
により将棋盤情報記憶部104に対する読み出し書き込
み動作を行う。
【0023】ここで、先手側の着手には座標系Aを、後
手側の着手には座標系Bを用いると、先手の最初の着手
▲7六歩は、後手から見ると▲3四歩として観測され
る。ちなみに▲7六歩という着手は、8八にある角の道
筋を開けることにより角の動きを増す効果がある。これ
に対して後手も座標系Aで△3四歩として同様に角道を
開ける作戦が考えられる。ここで、本実施例に基づいて
後手の着手を検討する際に座標系Bを用いると、先手の
着手は▲3四歩と観測され、後手の角道を開ける着手は
△7六歩となる。つまり、先手と後手とで対称な着手は
同じ座標となる。
【0024】次に、この方法によって思考のプログラム
が簡単化されることを図3によって示す。図3は、本発
明の方法に基づき、座標XYにある味方の「歩」が前進
できるかどうか、できるなら「成る」ことが可能かどう
かを判定する将棋着手計算部のなかのプログラム例のフ
ローチャートである。
【0025】プログラムが開始すると、まず、指し手が
先手であるか、後手であるかの確認用情報を先後手番記
憶部101に出力する(ステップS301)。先手であ
る場合には、座標系Aによる駒位置を使用し(ステップ
S302)、後手である場合には、座標系Bによる駒位
置を使用するテップS303)。判定は、(X,Y−
1)座標の読み出し指示を命令処理部102に対して行
い(ステップS304)、そこに味方の駒が居るかを確
認する(ステップS305)。座標(X,Y−1)に味
方の駒が居る場合には進めないとの判断をする(ステッ
プS308)。座標(X,Y−1)に味方の駒が居ない
場合には、Y≦4であるかを確認する(ステップS30
6)。Yの値が上記の条件を満たしていない場合には、
駒を進めることはできるが成れないと判断し(ステップ
S309)、Yの値が上記の条件を満たしてている場合
には、Y=2であるかをさらに確認する(ステップS3
07)。Yの値が2でない場合には成ることができると
判断し(ステップS310)、Yの値が2である場合に
は成ることしかできないと判断する(ステップS31
1)。
【0026】図6に示した従来の方法では、先手と後手
で移動を計算するための座標が異なるので図6に示した
ように場合分けが必要であるが、本発明を用いると図6
の最初の分岐から右側へ行くフローは不要になり、左側
のフローだけで済むようになる。
【0027】なお、上述した命令処理部103で行われ
る座標系の変換は、たとえば、各座標に対してそれぞれ
設けられた将棋盤情報記憶部104のメモリへのアドレ
ス付与を二重化することにより実現できる。1一〜9九
の座標をレジスタで表現する方法として11〜99の整
数値を用い、座標系Aにおけるメモリの具体的なアドレ
スとして、1一〜9九に対応させて11番地から99番
地を割り当てておく。ベースレジスタを先後手番記憶部
とし、先手であれば0、後手であれば100を随時記憶
させておく。将棋盤上の各升目に対応するメモリの読み
書きのためのアドレス計算の際には、11〜99の整数
値にこのベースレジスタの値を加算して求める。メモリ
への配線等の工夫によって各座標系の将棋盤上の同一の
升目に対応する11番地と199番地は同一メモリを指
すものとし、同様にして12番地と198番地、13番
地と197番地、・・・、99番地と111番地が同一
のメモリを指すように結線することにより実現すること
ができる。
【0028】上記のような座標変換について図4を参照
し、座標系Bの座標7六が座標系Aの座標3四と同一と
する場合について説明する。
【0029】後手の座標系Bを用いる結果、ベースレジ
スタには100が記憶されている。座標系Bでの座標7
六(76)はアドレスレジスタに記憶されている。各レ
ジスタを加算することによって176番地が求められ、
アドレス176番地に対応するメモリへアクセスがなさ
れるが、アドレス176番地は、アドレス34番地とと
もにメモリの34番地を指すように結線されており、同
一の内容が読み出される。
【0030】
【発明の効果】以上のように本発明を用いると、自動将
棋対局装置の将棋着手計算部において先手と後手の着手
を計算するのに同一の計算方法でできるようになるの
で、内蔵プログラムが簡単になり、可読性の向上、保守
性の増大を期待できる。
【図面の簡単な説明】
【図1】本発明の装置構成を示す図である。
【図2】本発明で提案する2つの座標の関係を表す図で
ある。
【図3】本発明による座標XYにある味方の「歩」の動
きをテストするプログラムのフローチャートである。
【図4】本発明で行われる座標系変換を具体的に説明す
る図である。
【図5】将棋盤の駒の初期配置と通常の座標の振り方を
示す図である。
【図6】座標XYにある味方の「歩」の動きをテストす
るプログラムの従来例のフローチャートである。
【符号の説明】
101 先後手番記憶部 102 命令入力部 103 命令処理部 104 将棋盤情報記憶部 201 将棋着手計算部 S301〜S311 ステップ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 将棋盤上の駒位置を観測する座標系とし
    て、右上隅を1一、左下隅を9九、とする座標系Aと、
    該座標系Aを180度回転させた、右上隅を9九、左下
    隅を1一、とする座標系Bとを用いる将棋盤情報処理装
    置であって、 将棋盤の盤面を前記座標系Aにより記憶する将棋盤情報
    記憶部と、 先手後手の手番、座標、該座標上の駒の種類を確認する
    読み出し動作であるか該座標上の駒の種類を変更したこ
    とを知らせる書き込み動作であるかのいずれかを示す命
    令種別、駒の種類、等の駒位置を確認するために必要と
    される確認用情報を設定する確認用情報設定手段と、 前記確認用情報設定手段に設定された内容に応じて、前
    記将棋盤情報記憶部に記憶された内容の読み出し書き込
    み動作を行う命令処理部とを有し、 前記命令処理部は、確認用情報設定手段に設定された手
    番が先手である場合には、前記確認用情報設定手段に設
    定された座標を座標系Aによるものとして前記将棋盤情
    報記憶部に対する読み出し書き込み動作に使用し、前記
    確認用情報設定手段に設定された手番が後手である場合
    には、前記確認用情報設定手段に設定された座標を座標
    系Bによるものとし、該座標を座標系Aに変換した座標
    により前記将棋盤情報記憶部に対する読み出し書き込み
    動作を行うことを特徴とする将棋盤情報処理装置。
  2. 【請求項2】 請求項1記載の将棋盤情報処理装置にお
    いて、 命令処理部は、 重複しないように配置された座標系Aの1一〜9九に対
    応する第1のメモリアドレスブロックと、座標系Bの1
    一〜9九に対応する第2のメモリアドレスブロックと、 確認用情報に示される手番が先手である場合には前記第
    1のメモリアドレスブロックを選択し、手番が後手であ
    る場合には前記第2のメモリアドレスブロックを選択す
    るメモリアドレス選択手段と、を有し、 前記第1のメモリアドレスブロックおよび第2のメモリ
    アドレスブロックのそれぞれは、将棋盤上の同一の升目
    に対するメモリアドレスが、将棋盤情報記憶部内の同じ
    メモリを指すように構成されていることを特徴とする将
    棋盤情報処理装置。
JP20233793A 1993-08-16 1993-08-16 将棋盤情報処理装置 Expired - Fee Related JP3191840B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20233793A JP3191840B2 (ja) 1993-08-16 1993-08-16 将棋盤情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20233793A JP3191840B2 (ja) 1993-08-16 1993-08-16 将棋盤情報処理装置

Publications (2)

Publication Number Publication Date
JPH0751430A true JPH0751430A (ja) 1995-02-28
JP3191840B2 JP3191840B2 (ja) 2001-07-23

Family

ID=16455877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20233793A Expired - Fee Related JP3191840B2 (ja) 1993-08-16 1993-08-16 将棋盤情報処理装置

Country Status (1)

Country Link
JP (1) JP3191840B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015196985A1 (en) * 2014-06-24 2015-12-30 Tencent Technology (Shenzhen) Company Limited Method and apparatus for performing interaction in chessboard interface
CN111150992A (zh) * 2019-12-13 2020-05-15 重庆智能机器人研究院 一种棋艺对弈装置及方法
CN113289325A (zh) * 2021-05-31 2021-08-24 温州大学 一种自动多面翻转升降棋盘装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015196985A1 (en) * 2014-06-24 2015-12-30 Tencent Technology (Shenzhen) Company Limited Method and apparatus for performing interaction in chessboard interface
CN105288997A (zh) * 2014-06-24 2016-02-03 腾讯科技(深圳)有限公司 棋盘界面中实现交互的方法和装置
US10632379B2 (en) 2014-06-24 2020-04-28 Tencent Technology (Shenzhen) Company Limited Method and apparatus for performing interaction in chessboard interface
CN111150992A (zh) * 2019-12-13 2020-05-15 重庆智能机器人研究院 一种棋艺对弈装置及方法
CN111150992B (zh) * 2019-12-13 2023-12-29 重庆智能机器人研究院 一种棋艺对弈装置及方法
CN113289325A (zh) * 2021-05-31 2021-08-24 温州大学 一种自动多面翻转升降棋盘装置
CN113289325B (zh) * 2021-05-31 2023-06-06 温州大学 一种自动多面翻转升降棋盘装置

Also Published As

Publication number Publication date
JP3191840B2 (ja) 2001-07-23

Similar Documents

Publication Publication Date Title
JPH08161526A (ja) 画像合成装置及び画像合成方法
JPH0751430A (ja) 将棋盤情報処理装置
EP1211646B1 (en) Device and method for display control of a virtual space
JP4017114B2 (ja) 対局ゲーム装置、及び対局ゲームプログラム
JPH0561405A (ja) 図中名称表示装置
JP3197133B2 (ja) カラオケ装置
JPH04112208A (ja) プログラマブルコントローラ
JPH06225975A (ja) ゲーム機のコントローラ
JPS5972693A (ja) メモリ装置
JPH07110683A (ja) 電子楽器における操作子の操作順序登録装置
JPS62152032A (ja) 情報処理装置
SU1437897A1 (ru) Устройство дл обучени операторов
JPH10254434A (ja) 電子楽器
JP2658978B2 (ja) 電子ゲーム装置
JPH0772914B2 (ja) 図形表示装置及び図形表示方法
JPS6031646A (ja) デ−タ処理装置
JPS58181345A (ja) 通信装置
JPS6068888A (ja) アニメ−シヨン制御方式
JPS5949609A (ja) 模擬実行機能を備えたプログラマブル・コントロ−ラ
JP2002169548A (ja) リズム演奏装置およびリズム演奏方法
JPS6170651A (ja) デ−タアレイの移動方式
JPH04332059A (ja) バンク切り替え型計算機
JPH0772858A (ja) 自動演奏装置
JPH04332003A (ja) プログラマブルコントローラ
JP2002253850A (ja) ビデオゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体及びビデオゲームのプログラム及びビデオゲーム処理方法及びビデオゲーム処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees