(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022172202
(43)【公開日】2022-11-15
(54)【発明の名称】プログラム
(51)【国際特許分類】
A63F 13/426 20140101AFI20221108BHJP
A63F 13/2145 20140101ALI20221108BHJP
A63F 13/80 20140101ALI20221108BHJP
A63F 13/69 20140101ALI20221108BHJP
A63F 13/53 20140101ALI20221108BHJP
A63F 13/52 20140101ALI20221108BHJP
A63F 13/5375 20140101ALI20221108BHJP
G06F 3/0488 20220101ALI20221108BHJP
【FI】
A63F13/426
A63F13/2145
A63F13/80 A
A63F13/69
A63F13/53
A63F13/52
A63F13/5375
G06F3/0488
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022133116
(22)【出願日】2022-08-24
(62)【分割の表示】P 2020018481の分割
【原出願日】2018-08-02
(71)【出願人】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】100142365
【弁理士】
【氏名又は名称】白井 宏紀
(72)【発明者】
【氏名】福塚 翼
(57)【要約】
【課題】誤ったタッチ操作によりプレイヤが意図せぬ展開となることを極力回避することができるゲームプログラム、ゲーム方法、および情報処理装置を提供する。
【解決手段】コンピュータを、複数のゲームオブジェクトのうちユーザのゲームオブジェクトの組合せを表示する表示手段と、表示手段により表示されているゲームオブジェクトのうちから選択操作されているゲームオブジェクトを特定する特定手段と、表示手段により表示されたゲームオブジェクトの組合せよりも、ゲームオブジェクトの組合せから特定手段により特定された特定ゲームオブジェクトを除外した組合せの方が、ゲームにおける有利度合いが低い特定状況となるか否かを判定する判定手段と、判定手段により特定状況となると判定されなかった際には、特定ゲームオブジェクトをユーザのゲームオブジェクトの組合せから除外するための除外処理を行う一方、判定手段により特定状況となると判定された際には、除外処理とは異なる特定処理を行う手段として機能させる。
【選択図】
図7
【特許請求の範囲】
【請求項1】
コンピュータを、
複数のゲームオブジェクトのうちユーザのゲームオブジェクトの組合せを表示する表示手段と、
前記表示手段により表示されているゲームオブジェクトのうちから選択操作されているゲームオブジェクトを特定する特定手段と、
前記表示手段により表示されたゲームオブジェクトの組合せよりも、当該ゲームオブジェクトの組合せから前記特定手段により特定された特定ゲームオブジェクトを除外した組合せの方が、ゲームにおける有利度合いが低い特定状況となるか否かを判定する判定手段と、
前記判定手段により前記特定状況となると判定されなかった際には、前記特定ゲームオブジェクトをユーザのゲームオブジェクトの組合せから除外するための除外処理を行う一方、前記判定手段により前記特定状況となると判定された際には、前記除外処理とは異なる特定処理を行う手段として機能させる、プログラム。
【請求項2】
前記複数のゲームオブジェクトは、複数の分類のいずれかに属し、
前記表示手段は、ユーザのゲームオブジェクトの組合せを分類毎に表示し、
前記判定手段は、前記表示手段により表示されているゲームオブジェクトのうち前記選択操作により特定されたゲームオブジェクトと同じ分類に属するゲームオブジェクトについて、前記有利度合いを特定する、請求項1に記載のプログラム。
【請求項3】
前記コンピュータを、
ユーザのゲームオブジェクトの組合せに応じた特典を付与する付与手段として機能させ、
前記付与手段は、前記表示手段により表示されている前記ユーザのゲームオブジェクトの組合せに予め定められたゲームオブジェクトが含まれる際には、当該予め定められたゲームオブジェクトが含まれていない際よりも大きな特典を付与し、
前記判定手段は、前記特定ゲームオブジェクトが前記予め定められたゲームオブジェクトである際に前記特定状況となると判定する、請求項1または請求項2に記載のプログラム。
【請求項4】
前記判定手段は、前記特定ゲームオブジェクトを除外することによりゲームにおいて特典が付与される可能性が低くなる際に前記特定状況となると判定する、請求項1~請求項3のいずれかに記載のプログラム。
【請求項5】
前記表示手段は、ユーザのゲームオブジェクトの組合せを表示部上の第1エリアに表示し、
前記除外処理は、前記選択操作が維持されたまま当該選択操作の位置が前記第1エリアとは異なる第2エリアに移動された場合には、前記特定状況となるか否かにかかわらず行われる、請求項1~請求項4のいずれかに記載のプログラム。
【請求項6】
前記除外処理は、前記選択操作が所定時間以上に亘って維持されている際には前記特定状況となるか否かにかかわらず行われる、請求項1~請求項4のいずれかに記載のプログラム。
【請求項7】
前記特定処理は、前記除外処理を行うか否かをユーザに確認する情報を報知するための処理である、請求項1~請求項6のいずれかに記載のプログラム。
【請求項8】
前記特定処理は、前記除外処理を行うか否かを決定するためのアイコンを表示する処理を含む、請求項7に記載のプログラム。
【請求項9】
前記表示手段は、選択操作されることにより、前記特定手段により特定されている特定ゲームオブジェクトを拡大表示する、請求項1~請求項8のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムに関する。
【背景技術】
【0002】
従来より、麻雀卓に積まれた牌の山から、当該麻雀卓を囲む4人のプレイヤが1つずつ牌を引き、14枚~18枚の手牌の組合せからなる役の成立を競う麻雀ゲームが広く知られている。このような麻雀ゲームの中には、携帯端末の表示部に対局画面を表示した上で、手牌に対するタッチ操作が行われたときに、当該手牌(捨て牌候補)を捨てるものがあった(非特許文献1)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】“セガNET麻雀MJ”、[online]、[平成30年7月12日検索]、インターネット<http://sega-mj.com/outline/>
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1の麻雀ゲームでは、別の捨て牌候補を選択するつもりが現在の捨て候補を捨ててしまうなど、誤ったタッチ操作によりプレイヤが意図しない牌を捨ててしまう虞があった。特に、対局画面を縦長に表示する場合、手牌は画面の横幅が狭い状況で横に並べられるため、誤ったタッチ操作によりプレイヤが意図しない牌が捨てられる懸念は高くなる。
【0005】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、誤ったタッチ操作によりプレイヤが意図しない展開となることを極力回避することができる、プログラムを提供する。
【課題を解決するための手段】
【0006】
本開示に示す一実施形態のある局面によれば、プログラムは、コンピュータを、複数のゲームオブジェクトのうちユーザのゲームオブジェクトの組合せを表示する表示手段と、表示手段により表示されているゲームオブジェクトのうちから選択操作されているゲームオブジェクトを特定する特定手段と、表示手段により表示されたゲームオブジェクトの組合せよりも、ゲームオブジェクトの組合せから特定手段により特定された特定ゲームオブジェクトを除外した組合せの方が、ゲームにおける有利度合いが低い特定状況となるか否かを判定する判定手段と、判定手段により特定状況となると判定されなかった際には、特定ゲームオブジェクトをユーザのゲームオブジェクトの組合せから除外するための除外処理を行う一方、判定手段により特定状況となると判定された際には、除外処理とは異なる特定処理を行う手段として機能させる。
【発明の効果】
【0007】
本発明によれば、誤ったタッチ操作によりプレイヤが意図せぬ展開となることを極力回避することができる。
【図面の簡単な説明】
【0008】
【
図1】ゲームシステムの全体的な構成を示す模式図である。
【
図3】ゲームサーバの機能的構成を示すブロック図である。
【
図4】(A)はシャンテン数レジスタの一例を示す図であり、(B)は捨て牌管理テーブルの一例を示す図である。
【
図5】管理者側対局処理の一例を示すフローチャートである。
【
図6】ユーザ側対局処理の一部を示すフローチャートである。
【
図7】ユーザ側対局処理の他の一部を示すフローチャートである。
【
図8】ユーザ側対局処理のその他の一部を示すフローチャートである。
【
図9】(A)は対局画面の一例を示す図であり、(B)は対局画面の他の一例を示す図である。
【
図11】(A)は対局画面のその他の一例を示す図であり、(B)は対局画面のさらにその他の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0010】
図1は、ゲームシステム1の全体的な構成を示す模式図である。本実施形態では、ゲームシステム1は、予め定められた複数の役(達成条件)のうちのいずれかの役の成立により特典(例えば点数等)を付与するゲームを提供する。ゲームの種類としては、ユーザ(プレイヤ)によって操作されるキャラクタが、3人の他ユーザによってそれぞれ操作される3人のキャラクタと対戦可能な麻雀ゲームを例示する。
【0011】
本実施形態では、ユーザと当該ユーザが操作するキャラクタとは、1対1で対応している。このため、キャラクタとの関連で述べる説明は、ユーザとの関連で述べる説明と実質的に同じであり、キャラクタは、適宜ユーザに置き換えることができる。
【0012】
麻雀ゲームでは、萬子牌、筒子牌、索子牌または字牌に分類された136枚あまりの牌(識別情報)が用いられる。当該136枚あまりの牌は部屋の麻雀卓に積まれ、各ユーザは、牌山から1つずつ牌を引いて、14枚~18枚の手牌(ユーザが所有する牌)の組合せからなる役の成立を目指す。
【0013】
また、麻雀では、家(自家または他家)、副露、晒すなどの専門用語が用いられる。ここで、家はキャラクタを意味し、自家は自ユーザによって操作されるキャラクタを意味し、他家は他ユーザによって操作されるキャラクタまたはNPCを意味する。さらに、副露は、ポン、チー、大明槓、暗槓、小明槓の総称であり、晒すは牌の模様を他のキャラクタに見せることを意味する。
【0014】
各局は、親が上がり続ける限り継続され、子が上がったときや流局したときに終了する。即ち、親の切替条件は、子に上がられることや、流局することにより成立する。今回の対局が終了すると、右隣りのキャラクタに親が切り替わり、次回の対局が開始される。
【0015】
なお、ゲームの種類は、役の成立により特典(例えば点数等)を付与するゲームであればこれに限らず、例えば、トランプを用いたゲーム(例えばポーカー)などであってもよい。
【0016】
図1に示すように、ゲームシステム1は、複数のユーザ端末100と、ゲームサーバ200とを含む。各ユーザ端末100とゲームサーバ200とは、ネットワーク2を介して接続されている。ネットワーク2は、インターネット、図示しない無線基地局によって構築される各種移動通信システム(たとえば、所謂3G、4G移動通信システム、LTE(Long Term Evolution))、または所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(たとえばWi-Fi(登録商標))を含み得る。
【0017】
(ユーザ端末およびゲームサーバの構成)
ユーザ端末100は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であることがより好ましい。
図1に示すように、ユーザ端末100は、通信バスによって互いに電気的に接続されたプロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15とを備える。
【0018】
入出力IF14は、USB(Universal Serial Bus)等を介した各種データ入出力機能、および音声入出力機能を備える。
【0019】
タッチスクリーン15は、入力部151と表示部152とを組合せた電子部品である。入力部151は、タッチセンシティブなデバイスであり、たとえばタッチパッド等によって構成される。表示部152は、たとえば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。入力部151は、タッチスクリーン15に対するユーザの指やスタイラスといった物体の接触または近接を検知し、操作入力として受け付ける。入力部151は、当該操作入力に含まれるユーザの作用(主に、タッチ操作、スワイプ操作、フリック操作、およびタップ操作等の物理的接触操作)が入力された画面位置の情報を検知して、該情報を外部へ情報信号として出力する機能を備える。タッチスクリーン15は、タッチセンシティブであればよい。タッチセンシティブなデバイスは、静電容量方式、抵抗膜方式等のどのような方式を採用したものであってもよい。
【0020】
ゲームサーバ200は、ゲームに関する各種サービスを各ユーザ端末100に提供する。ゲームサーバ200は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであることが、より好ましい。
図1に示すように、ゲームサーバ200は、通信バスによって互いに電気的に接続されたプロセッサ20と、メモリ21と、ストレージ22と、通信インターフェース(IF)23と、入出力IF24とを備える。
【0021】
プロセッサ10、20は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を含んで構成される。プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、ゲームサーバ200全体の動作を制御する。
【0022】
メモリ11、21は、ROM(Read Only Memory)およびRAM(Random Access Memory)等の揮発性記憶装置で構成され得る主記憶装置を含んで構成される。
【0023】
ストレージ12、22は、フラッシュメモリまたはHDD(Hard Disk Drive)などの不揮発性記憶装置によって構成され得る補助記憶装置を含んで構成される。メモリ11には、プロセッサ10がストレージ12からロードした各種プログラムおよびデータが一時的に記憶される。メモリ21には、プロセッサ20がストレージ22からロードした各種プログラムおよびデータが一時的に記憶される。これによりメモリ11は、プロセッサ10に対して作業領域を提供する。メモリ21は、プロセッサ20に対して作業領域を提供する。
【0024】
ゲームサーバ200のストレージ22には、ゲームプログラム等のゲームデータが格納される。ユーザ端末100のストレージ12には、ゲームサーバ200からダウンロードされるゲームプログラム等のゲームデータが格納される。当該ゲームプログラムは、メモリ11、21に展開される。プロセッサ10は、メモリ11に展開されるゲームプログラムを実行する。プロセッサ20は、メモリ21に展開されるゲームプログラムを実行する。メモリ11には、プロセッサ10が当該ゲームプログラムに従って動作している間に生成した各種ゲームデータも一時的に格納される。メモリ21には、プロセッサ20が当該ゲームプログラムに従って動作している間に生成した各種ゲームデータも一時的に格納される。
【0025】
通信IF13、23は、ユーザ端末100とゲームサーバ200との間で各種データを送受信するための通信制御機能を備える。通信制御機能には、たとえば、無線LAN(Local Area Network)接続機能、有線LAN、無線LAN、携帯電話回線網を介したインターネット接続機能、近距離無線通信機能等が含まれる。
【0026】
本実施形態では、各種データは、所定のゲームプログラム、ユーザ情報、ゲーム情報等のゲームデータ、それらをユーザ端末100とゲームサーバ200との間に送受信させる指示、および、ゲームを進行させるための指示を含む。
【0027】
たとえばプロセッサ10は、通信IF13を介してユーザIDをゲームサーバ200に送信することによって、当該ユーザIDに関連付けられたオブジェクト(キャラクタ、配牌スキル、ツモスキル、配牌、ツモ牌、捨て牌等)に関する情報をゲームサーバ200から受信する。また、プロセッサ10は、ユーザ作用に基づいて麻雀卓に牌を配置し、ゲームの結果として取得されたゲームポイント(点棒)を、通信IF13を介してゲームサーバ200に送信する。
【0028】
ゲームサーバ200の入出力IF24は、マウス、キーボード等の情報入力機器である入力部、および、液晶ディスプレイ等の出力部を備えており、コンピュータの情報をモニタリングするために用いられる。
【0029】
(ユーザ端末の機能的構成)
図2は、ユーザ端末100の機能的構成を示す図である。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能し得る。記憶部120にはゲームプログラムが格納されている。このゲームプログラムは、主記憶上に展開されかつ制御部110において実行される。また、本実施形態では、このゲームプログラムは、プロセッサ10およびメモリ11を備えるユーザ端末100に対し、麻雀ゲームを進行させる制御部110および記憶部120としてユーザ端末100を機能させるプログラムである。
【0030】
制御部110は、当該ゲームプログラムによって、作用受付部111、端末処理部112、タイマー部113、端末判定部114、表示制御部115、報酬計算部116、および送受信部117として機能し得る。制御部110が当該ゲームプログラムに従って動作している間に生成した各種ゲームデータ、および制御部110によって利用される各種ゲームデータも、主記憶上に一時的に格納される。
【0031】
作用受付部111は、タッチスクリーン15の入力部151に対するユーザの作用を検知する。作用受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールによる操作指示等から、いかなる入力がなされたかを判別し、その結果を端末処理部112等の必要な要素に出力する。作用受付部111は、タッチスクリーン15に対する作用入力がなされた場合には、入力位置の座標情報および作用の種類(タッチ操作、スライド動作等)を検知する。また、作用受付部111は、連続して検知されていた入力が途切れることを検知することによって、タッチスクリーン15から接触入力が解除されたことを検知する。
【0032】
端末処理部112は、ユーザ端末100全体の動作を制御し、各要素間におけるデータの送受信、およびゲームの実行に必要な演算処理その他の処理を行う。端末処理部112は、たとえば、作用受付部111によって検知された作用に基づいて、ゲームプログラムに従ったゲームを展開させ、その結果を示すゲーム画像を描画するよう、表示制御部115に指示する。また、端末処理部112は、タッチスクリーン15に対する操作入力に基づいて仮想空間内におけるゲームオブジェクトを操作する。また、端末処理部112は、タッチスクリーン15に対する操作入力および演算処理の結果等に基づいて、記憶部120に記憶されている各種データの更新等の処理を行う。なお、端末処理部112は、ゲームの進行状態に応じて、ゲーム空間の視野を指定するための仮想カメラの位置を制御してもよい。
【0033】
タイマー部113は、麻雀部屋内の時刻を規定するとともに、麻雀部屋内の時間の経過を計測する。タイマー部113は、たとえば、牌がツモられた時刻を記憶部120に記憶させ、その後に経過した時間を測定する。タイマー部113は、測定することによって得られる時間情報を端末判定部114に提供する。端末判定部114は、タイマー部113および記憶部120を参照して、今回のツモから所定時間が経過したか否かなどを判定できる。
【0034】
表示制御部115は、ゲームサーバ200から受信したユーザ情報、ゲームプログラムによる演算結果、およびユーザの入力部151に対する作用に基づいて、表示部152に表示される画像を生成する。本実施形態では、ユーザ端末100は、配牌、牌山、ツモ牌、捨て牌、ポン、チー、カン、ロンあがり、ツモあがり、流局等などの対局の開始から終了までに刻々と変化するゲーム情報をゲームサーバ200から取得し、この情報を用いて対局画面の画像を生成する。なお、これらのゲーム情報は、ユーザ端末100側においても記憶しているものであってもよい。表示制御部115は、端末処理部112によるゲーム進行制御に応じて表示画像を更新する。
【0035】
報酬計算部116は、作用受付部111から受信した操作に基づいて、各ユーザに提供される報酬を算出して、ユーザに付与する。たとえば報酬計算部116は、ユーザに付与される点棒を算出し、ユーザに付与する。
【0036】
送受信部117は、ゲームサーバ200から各種情報を受信したり、ゲームサーバ200に各種情報を送信したりする。送受信部117は、制御部110の制御によって各種情報をゲームサーバ200に対して送信する。ゲームサーバ200は、ネットワーク2および通信IF23を介して当該情報を受信し、送受信部211が情報の内容を識別して受け付ける。送受信部117は、たとえば、ユーザ端末100上で動作可能なゲームプログラム、ユーザ情報、ゲーム画面等のゲーム空間情報、自ユーザの配牌、牌山、他のユーザの捨て牌、他のユーザによるポン、チー、カン、ロンあがり、ツモあがり等のゲーム情報を、ゲームサーバ200から受信することができる。なお、これらの情報は、ユーザ端末100側においても記憶しているものであってもよい。一方、送受信部117は、ユーザ情報、自ユーザの捨て牌、自ユーザによるポン、チー、カン、ロンあがり、ツモあがり等のゲーム情報を、ゲームサーバ200に送信することができる。
【0037】
記憶部120には、制御部110が前述の各部として機能するために必要なデータが記憶されている。当該データとしては、たとえば、ゲームプログラム、ゲーム情報、およびユーザ情報が含まれる。ゲーム情報としては、オブジェクト管理テーブル等が挙げられる。ユーザ情報としては、ユーザ管理テーブル等が挙げられる。
【0038】
本実施形態では、ゲームプログラムは、ユーザの立場で麻雀ゲームを進めるユーザ側プログラムと、管理者の立場で当該麻雀ゲームを取り仕切る管理者側プログラムとによって構成されている。いずれかのユーザ(ユーザ1)がホストとして麻雀部屋を作ると、当該ユーザとともに麻雀卓を囲む3人のユーザ(ユーザ2~4)が、マッチングによって選定され、ゲストとして当該麻雀部屋に入室する。対戦は、ユーザ1~4が揃った後に、開始される。また、本実施形態では、麻雀ゲームに用いる情報として、
図4(A)に示すシャンテン数レジスタ301と、
図4(B)に示す捨て牌管理テーブル302とが、ユーザ端末100の記憶部120に設けられている。
【0039】
(ゲームサーバの機能的構成)
図3は、ゲームサーバ200の機能的構成を示すブロック図である。ゲームサーバ200は、各ユーザ端末100にゲーム進行に必要な情報を提供するゲーム提供機能を有している。ゲームサーバ200は、ユーザ端末100からゲーム情報を受信し、ユーザ端末100上で動作可能なゲームプログラム、Webページ(ゲーム画面等)、ユーザ情報およびゲームパラメータ等の各種ゲームデータ、各種通知等を送信する。ゲームサーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、入出力IF24等の協働によって、制御部210および記憶部220として機能し得る。
【0040】
図3に示すように、制御部210は、記憶部220に格納されたゲームプログラムによって、送受信部211、サーバ処理部212、データ管理部213、マッチング部214、計測部215として機能し得る。本実施形態では、このゲームプログラムは、プロセッサ20およびメモリ21を備えるゲームサーバ200に対し、麻雀ゲームを進行させる制御部210および記憶部220としてゲームサーバ200を機能させるプログラムであり、管理者の立場で当該麻雀ゲームを取り仕切る上述の管理者側プログラムも含んでいる。
【0041】
送受信部211は、各ユーザ端末100から送信される各種情報を受信したり、各ユーザ端末100に各種情報を送信したりする。
【0042】
各ユーザ端末100は、制御部110の制御に基づいて各種情報をゲームサーバ200に対して送信する。ゲームサーバ200は、ネットワーク2および通信IF23を介して当該情報を受信し、送受信部211が情報の内容を識別して受け付ける。
【0043】
送受信部211は、記憶部220に格納されている各種管理テーブルを参照する。送受信部211は、必要に応じてデータ管理部213によって更新された各種管理テーブルを参照して、必要な処理を実行する。当該情報には、各ユーザに配られる牌の組合せを特定するための配牌情報、配牌の後に残った牌を特定するための牌山情報、各ユーザによるポン、チー、カンなどの情報が含まれる。
【0044】
また、送受信部211は、ユーザ端末100上で動作可能なゲームプログラム、ユーザ情報、ゲーム画面等のゲーム空間情報、各ユーザの配牌、牌山、各ユーザの捨て牌、各ユーザによるポン、チー、カン、ロンあがり、ツモあがり等のゲーム情報をユーザ端末100に送信する。
【0045】
サーバ処理部212は、ゲームサーバ200全体の動作を制御し、各要素間におけるデータの送受信、および、ゲームの進行に必要な演算処理を行う。サーバ処理部212は、たとえば、送受信部211が受信したユーザ端末100からの情報または要求に基づいて、ゲームプログラムに従った演算処理を実行する。そして、その結果としての各種ユーザ情報、ゲーム情報等のゲームデータ、およびゲームプログラム等を、通信IF13を介してユーザ端末100に送信することによって、ユーザ端末100においてさらにゲームを進行させる。
【0046】
データ管理部213は、サーバ処理部212における各種演算結果に基づいて、記憶部220に格納されている各種ゲームデータ、およびデータベースのレコードを、追加、更新、または削除することによって、必要な処理を実行する。
【0047】
送受信部211は、例えば、ユーザが麻雀卓に牌を晒すようにユーザ端末100に作用を与えると、その結果としてユーザが保有するオブジェクト情報およびゲームポイントに関する情報をユーザ端末100から受信する。サーバ処理部212は、受信された情報に基づいて必要な処理を実行し、一方、データ管理部213はユーザ情報およびゲーム情報を更新する。
【0048】
また、例えば、送受信部211がユーザ端末100から捨て牌を実行する要求を受信した場合、データ管理部213は、捨て牌の情報を、ユーザ情報と、捨て牌の配置位置等に関するゲーム情報とに関連付けて記憶する。
【0049】
マッチング部214は、対戦プレイのために、複数の操作キャラクタを所定のゲーム空間に関連付ける。たとえばマッチング部214は、ある操作キャラクタがホストとして部屋を作る操作を行った場合、当該操作キャラクタをホストとし、他の3人の操作キャラクタをゲストとするパーティをマッチングによって組成し、当該パーティに属する4人の操作キャラクタを同じ麻雀部屋に一時的に関連付ける。
【0050】
計測部215は、タイマー部113と同様に、麻雀部屋内の時刻を規定するとともに、麻雀部屋内の時間を計測する機能を有する。計測部215は、例えば、対局開始時に発動させたいスキルを選択するための画面が表示された時刻からの経過時間を計測する。計測部215は、麻雀部屋の時間情報を生成し、タイマー部113で生成された麻雀部屋の時間情報と照合する。これにより、ユーザ端末100とゲームサーバ200において麻雀部屋の時間情報が同期され、各種時間情報の計測および判定を円滑に実施し得る。
【0051】
記憶部220には、ゲームプログラムおよびユーザの認証プログラム等が格納されている。また、記憶部220には、ユーザ管理テーブル等のユーザ情報、オブジェクト管理テーブル等のゲーム情報を管理するデータベースが構築されていてもよい。記憶部220には、対局に臨む4人のユーザ各々のために、
図4(A)に示すシャンテン数レジスタ301と、
図4(B)に示す捨て牌管理テーブル302とを設けるようにしてもよい。
【0052】
(シャンテン数レジスタ)
図4(A)を参照して、シャンテン数レジスタ301は、対局を行っているユーザの手元にある牌のシャンテン数を管理する。ここで、シャンテンとは、最短で何回ツモればテンパイ可能かを示す用語である。具体的には、最短で3回ツモればテンパイ可能な手牌の状態を3シャンテンと呼び、最短で2回ツモればテンパイ可能な手牌の状態を2シャンテンと呼ぶ。このため、役の成立に近づくほどシャンテンの数が小さくなり、シャンテンの数が小さくなることをシャンテン数アップと呼ぶ。逆に、役の成立から遠ざかるほどシャンテンの数が大きくなり、シャンテンの数が大きくなることをシャンテン数ダウンと呼ぶ。
【0053】
(捨て牌管理テーブル)
図4(B)を参照して、捨て牌管理テーブル302は、ユーザの手牌のうち、フリック操作を構成するタッチ操作によりタッチされた手牌と、当該タッチされた手牌の右隣りの手牌と、当該タッチされた手牌の左隣りの牌との3つの牌を管理する。当該3つの牌の各々には、有利度ポイントが設定される。ここで、有利度ポイントとは、当該有利度ポイントが設定されている手牌を捨てたときの手牌の組合せに基づく役成立に関する有利度合いを表すポイントであり、当該有利度合いはポイント値が小さいほど低くなる。このため、タッチされた手牌に対する捨て牌の優先順位(当該手牌を捨てるべき順位)は、当該タッチされた手牌に設定されている有利度ポイントが小さいほど低くなる。
【0054】
(対局画面)
図9(A)は、縦長に表示された対局画面の一例を示す図である。対局画面の上段には、ドラ特定用牌(例えば、六萬牌)が表示される。また、対局画面の下段には、自ユーザが操作するキャラクタの顔画像が表示される。さらに、対局画面の中央やや上段には、麻雀卓が自ユーザの視点(斜め上)で表示される。
【0055】
麻雀卓の中央には、自ユーザおよび他ユーザの捨て牌を表示するための河エリアRVが割り当てられており、河エリアRVの下側には、自ユーザの手牌を表示するための手牌エリアHAが割り当てられている。
【0056】
対局が始まると、自ユーザの手牌が牌の分類(萬子牌、筒子牌、索子牌、字牌)毎に手牌エリアHAに表示(数牌については、同じ分類内において数に応じた順序で整列)され、自ユーザのツモ牌が手牌エリアHA内の右端部に表示される。各ユーザは、河エリアRVへの捨て牌や、自ユーザの手牌または他ユーザの捨て牌に対する副露を繰り返しながら、対局を進める。
【0057】
対局において、手牌エリアHAに表示されたいずれかの手牌に対するフリック操作が行われると、当該フリック操作の際にタッチされた手牌(特定牌)と、当該タッチされた手牌の右隣りの手牌(非特定牌)と、当該タッチされた手牌の左隣りの手牌(非特定牌)との3つの手牌が、捨て牌管理テーブル302に登録される。登録された時点では、当該3つの手牌の各々の有利度ポイントは0を示す。当該3つの手牌の各々の有利度ポイントは、当該手牌がドラ牌である場合に1だけ減算され、当該手牌を捨てることによりシャンテン数がダウンする場合に1だけ減算される。
【0058】
例えば、
図9(A)に示す対局においては、七萬牌がドラ牌である。また、自ユーザの手元にある牌のシャンテン数は、三萬牌~五萬牌、七萬牌~九萬牌、二索牌、白のうちのいずれかの牌が捨てられた場合にダウンする。
【0059】
このため、フリック操作の際に三筒牌がタッチされると、当該三筒牌と、右隣りの五筒牌と、左隣りの九萬牌との3つの牌が捨て牌管理テーブル302に登録される。このとき、三筒牌および五筒牌はいずれもドラ牌と異なるし、三筒牌および五筒牌のいずれを捨ててもシャンテン数はダウンしないため、三筒牌および五筒牌の各々の有利度ポイントは0のまま維持される。一方、九萬牌を捨てると、シャンテン数がダウンするため、九萬牌の有利度ポイントは-1に更新される。
【0060】
また、フリック操作の際に七萬牌がタッチされると、当該七萬牌と、右隣りの八萬牌と、左隣りの四萬牌との3つの牌が捨て牌管理テーブル302に登録される。このとき、七萬牌はドラ牌であるし、七萬牌を捨てるとシャンテン数がダウンするため、七萬牌の有利度ポイントは-2に更新される。また、八萬牌または四萬牌を捨てると、シャンテン数がダウンするため、八萬牌および四萬牌の各々の有利度ポイントは-1に更新される。
【0061】
タッチされた手牌に設定されている有利度ポイントが3つの牌のうちで最小ではない場合は、当該タッチされた手牌を対象として捨て牌が実行される。即ち、有利度ポイントが、当該タッチされた手牌とは異なる手牌を捨てたときよりも、当該タッチされた手牌を捨てたときの方が低い特定状況とはならない場合は、当該タッチされた手牌を対象として捨て牌が実行される。捨てられた手牌は、河エリアRVに移動して縮小表示される。
【0062】
このため、
図9(A)に示す対局画面において、三筒牌がフリック操作の際にタッチされたときは、三筒牌を対象として捨て牌が実行される。当該三筒牌は、
図9(B)に示すように河エリアRVに表示される。
【0063】
一方、タッチされた手牌に設定されている有利度ポイントが最小の有利度ポイントである場合は、タッチされた手牌が持ち上げられるとともに、確認メッセージが表示される(
図10参照)。即ち、有利度ポイントが、当該タッチされた手牌とは異なる手牌を捨てたときよりも、当該タッチされた手牌を捨てたときの方が低い特定状況となる場合は、当該確認メッセージがタッチスクリーン15に表示される。なお、有利度ポイントが特定された複数の牌のうちで、タッチされた牌の有利度ポイントが最小である場合には、当該タッチされた牌と有利度ポイントが同じ牌が含まれている場合であっても、確認メッセージが表示される。なお、タッチされた牌の有利度ポイントが0である場合には、他の牌の有利度ポイントにかかわらず、確認メッセージを表示することはない。
【0064】
このため、
図9(A)に示す対局画面上で、七萬牌がフリック操作の際にタッチされたときは、七萬牌が持ち上げられるとともに、当該タッチされた手牌を対象として捨て牌を実行してもよいか否かを確認する文字列と、実行操作を受け付けるアイコンと、キャンセル操作を受け付けるアイコンとによって構成される確認メッセージが手牌エリアHAと河エリアRVとの間に表示される(
図10参照)。
【0065】
なお、シャンテン数は、例えば一萬牌、四萬牌、六萬牌が手牌エリアHAに並んでいる場合において、四萬牌または六萬牌がタッチされたときにもダウンする。このため、四萬牌および六萬牌のいずれかの手牌がタッチされ、当該手牌の有利度が最小である場合には、確認メッセージがタッチスクリーン15に表示される。
【0066】
ここで、当該キャンセル操作を受け付けるアイコンがタッチされたときは、タッチされた手牌を対象とする捨て牌は中止される。一方、当該実行操作を受け付けるアイコンがタッチされたときは、タッチされた手牌を対象として捨て牌が実行される。
【0067】
ツモ牌は、手牌が捨てられた後に手牌に収められる。具体的には、ツモ牌の分類に応じた位置(数牌については、同じ分類内で数に応じた順序で整列される位置)に当該ツモ牌が表示されるように、手牌が並び替えられる。例えば、
図9(A)に示す対局画面において三筒牌が捨てられた場合は、七萬牌~九萬牌が右に詰められ、これによって設けられた隙間に五萬牌が収められる(
図9(B参照)。
【0068】
なお、フリック操作の際にタッチされた牌がツモ牌(
図9(A)の例では五萬牌)であれば、捨て牌管理テーブル302を対象とした上述の処理は実行されず、当該ツモ牌を対象とする捨て牌が無条件で実行される。即ち、ツモ牌は手牌とは少し離れた位置に表示され、タッチ操作を誤っている可能性は低いため、当該ツモ牌を対象とする捨て牌が無条件で実行される。この場合、手牌の並び替えが行われることはない。これにより、処理に掛かる負担が軽減される。
【0069】
一方、対局において、手牌エリアHAに表示されたいずれかの牌(手牌またはツモ牌)に対するロングタップ操作が行われた場合は、
図11(A)に示すように、河エリアRVの下端近傍にガイド枠(所定の目安)GFが表示され、ロングタップ操作の対象となった牌が手牌エリアHAの上側つまり河エリアRV側に拡大表示される。なお、
図11(A)の対局画面におけるD字状の図形はロングタップ操作の位置を示す。
【0070】
ロングタップ操作のためにタッチされた位置を手牌エリアHA内において横方向に移動させると、移動前にタッチされていた牌の表示が通常表示に戻され、現時点でタッチされている牌が手牌エリアHAの上側つまり河エリアRV側に拡大表示される(
図11(B)参照)。また、ロングタップ操作のためにタッチされた位置を、手牌エリアHAよりも下方のエリア内に移動させて横方向に移動させることによっても、タッチ位置の鉛直方向に位置する牌が、手牌エリアHAの上側つまり河エリアRV側に拡大表示される。
【0071】
タッチ位置を河エリアRVに移動させた後に当該タッチ操作が解除されると、即ち、拡大表示された牌に対するドラッグ&ドロップ操作が行われると、当該牌を対象とした捨て牌が実行される。拡大表示された牌は、手牌エリアHAから河エリアRVに移動して、縮小表示される。ドラッグ&ドロップ操作が行われた場合には、ドラッグ操作中に捨て牌候補を間違って選んでいないことを目視にて判断する時間が確保されており、その結果捨て牌候補が間違っていないことを確認している蓋然性が高いために、有利度ポイントを特定する処理は実行されない。これにより、処理負担を軽減することができる。
【0072】
(動作について)
ホスト役のユーザが操作するユーザ端末100の制御部110は、管理者側プログラムに従って、
図5に示す管理者側対局処理を実行する。また、各ユーザが操作するユーザ端末100の制御部110は、ユーザ側プログラムに従って、
図6~
図8に示すユーザ側対局処理を実行する。なお、
図5に示す管理者側対局処理は、ゲームサーバ200で実行し、処理結果を各ユーザ端末100に送信するようにしてもよい。
【0073】
図5を参照して、ステップS01では、136枚あまりの牌からなる牌山を構築し、ステップS02では、対局に臨む4人のユーザの各々に13枚の牌を配る。配牌の種類は、当該4人のユーザの各々が操作するキャラクタの種類に対応する。配牌が完了すると、ステップS03に進み、当該4人のユーザ間の引き牌の順番等を仕切りながら対局を進める。
【0074】
ステップS04では、当該4人のユーザのうちのいずれかのユーザが上がったか又は今回の対局が流局となったか否かを判定する。いずれかのユーザが上がったか又は今回の対局が流局となったと判定されなければ、ステップS03に戻る。一方、いずれかのユーザが上がったか又は今回の対局が流局となったと判定されると、ステップS05で清算を行う。例えば、上がりを宣言したユーザに対して、上がり役に応じた点数が付与される。また、門前で上がった場合において、上がり役を構成する牌がドラ牌を含んでいれば、付与される点数がアップされる。今回の管理者側対局処理は、ステップS05の処理の後に終了する。
【0075】
図6を参照して、ステップS11では、
図9(A)に示す対局画面をタッチスクリーン15に表示する。ステップS12では、ステップS01の処理によって自ユーザに配られた牌を、当該対局画面のうちの手牌エリアHAに表示する。手牌エリアHAには、牌の分類(萬子牌、筒子牌、索子牌、字牌)毎に、13枚の手牌が表示される。ステップS13では、自ユーザの順番が到来したか否かをステップS03の処理結果に基づいて判定し、当該順番が到来したと判定されるとステップS14に進む。
【0076】
ステップS14では、ステップS01の処理によって構築された牌山から牌をツモり、ツモった牌を手牌エリアHA内の右端部に表示する。ステップS15では、手牌エリアHAに表示された牌のシャンテン数を特定し、当該シャンテン数をシャンテン数レジスタ301に登録する。
【0077】
ステップS16では、複数種類の役の各々を成立させる牌の組合せと手牌エリアHAに表示されている手牌の組合せとを照合することにより、当該手牌エリアHA上の牌の組合せについて役が成立しているか否かを判定する。当該役が成立していると判定されたときは、ステップS17に進み、ツモ上がりまたはロン上がりを宣言する操作がユーザによって行われたか否かをタッチスクリーン15に対する操作入力に基づいて判定する。当該ツモ上がりまたはロン上がりを宣言する操作が行われたと判定されると、ステップS18に進み、ツモ上がりまたはロン上がりを管理者側プログラムに通知する。通知には、上がりの態様(ロン/ツモの別)と、上がり役と、上がり役を構成する牌の組合せとが含まれる。ユーザ側対局処理は、当該通知の後に終了する。
【0078】
ステップS16において役が成立していると判定されなかったとき、又はステップS17において上がりを宣言する操作が行われたと判定されなかったときは、ステップS19に進む。ステップS19では、副露またはリーチを宣言する操作が行われたか否かをタッチスクリーン15に対する操作入力に基づいて判定する。副露またはリーチを宣言する操作が行われたと判定されたときは、ステップS20で当該操作に対応する処理を実行する。ステップS20の処理が完了すると、ステップS21で処理の完了を管理者側プログラムに通知し、その後にステップS13に戻る。
【0079】
ステップS19において、副露またはリーチを宣言する操作が行われたと判定されなかったときは、ステップS22に進む。ステップS22では、手牌エリアHAに表示されている手牌およびツモ牌のうちのいずれかの牌に対するタッチ操作が行われたか否かを、タッチスクリーン15に対する操作入力に基づいて判定する。
【0080】
当該タッチ操作が行われたと判定されなかったときは、ステップS16に戻り、当該タッチ操作が行われたと判定されたときは、ステップS23に進む。ステップS23では、当該タッチ操作がフリック操作を構成するタッチ操作であるか否かを、タッチスクリーン15に対する操作入力に基づいて判定する。
【0081】
当該タッチ操作がフリック操作を構成するタッチ操作であると判定されたときは、ステップS24に進む。ステップS24では、タッチされた牌は手牌であるか否かを、タッチスクリーン15に対する操作入力に基づいて判定する。タッチされた牌は手牌であると判定されたときはステップS25に進み、タッチされた牌は手牌であると判定されなかったときはステップS46に進む。
【0082】
ステップS25では、手牌エリアHAに表示されている手牌のうち、タッチされた手牌と、当該タッチされた手牌の右隣りの手牌と、当該タッチされた手牌の左隣りの手牌との3つの手牌を、捨て牌管理テーブル302に登録する。このとき、当該3つの手牌の各々の有利度ポイントは、0に設定する。
【0083】
例えば、
図9(A)に示す対局画面において、手牌エリアHAに表示されている三筒牌がタッチされたときは、当該三筒牌と、右隣りの五筒牌と、左隣りの九萬牌との3つの牌が、捨て牌管理テーブル302に登録され、当該3つの手牌の各々の有利度ポイントが0に設定される。
【0084】
ステップS26では、当該捨て牌管理テーブル302に登録されている3つの手牌のうちのいずれかの手牌を指定する。ステップS27では、当該手牌がドラ牌であるか否かをステップS01の処理によって構築された牌山の設定に基づいて判定する。当該手牌がドラ牌であると判定されたときは、ステップS28に進み、捨て牌管理テーブル302において当該手牌に設定されている有利度ポイントから1を減算する。
【0085】
例えば、
図9(A)に示す対局画面においては、七萬牌がドラ牌である。このため、ステップS26で七萬牌が指定されると、捨て牌管理テーブル302において当該七萬牌に設定されている有利度ポイントが1だけ減算される。
【0086】
ステップS28の処理が完了すると、ステップS29に進む。一方、ステップS27において、当該手牌がドラ牌であると判定されなかったときは、ステップS28の処理を実行することなく、ステップS29に進む。
【0087】
ステップS29では、当該手牌を捨てた後に手牌エリアHAに残っている手牌およびツモ牌に基づいて、シャンテン数を特定する。ステップS30では、当該手牌を捨てた場合にシャンテン数がダウン(後退)するか否かを、ステップS29で特定したシャンテン数とシャンテン数レジスタ301に登録されているシャンテン数とを比較することにより判定する。
【0088】
当該牌を捨てた場合にシャンテン数がダウンすると判定されたときは、ステップS31に進む。ステップS31では、捨て牌管理テーブル302において当該牌に設定されている有利度ポイントから1を減算する。即ち、ステップS30においてシャンテン数が後退すると判定されたときは、ステップS31において低い有利度合いが特定される。
【0089】
例えば、
図9(A)に示す対局画面においては、三萬牌~五萬牌、七萬牌~九萬牌のうちのいずれかの牌が捨てられた場合にシャンテン数がダウンする。ただし、五萬牌はツモ牌であり、五萬牌を対象としてステップS26、S29およびS30の処理が実行されることはない。このため、ステップS26で指定された手牌が三萬牌、四萬牌、七萬牌~九萬牌のいずれかの手牌であれば、当該手牌に設定されている有利度ポイントが1だけ減算される。
【0090】
ステップS31の処理が完了すると、ステップS32に進む。一方、ステップS30において、当該手牌を捨てた場合にシャンテン数がダウンすると判定されなかったときは、ステップS31の処理を実行することなく、ステップS32に進む。
【0091】
ステップS32では、捨て牌管理テーブル302に登録されている3つの手牌の全てが指定されたか否かを、ステップS26の処理結果に基づいて判定する。当該3つの手牌の全てが指定されたと判定されなかったときはステップS26に戻り、当該3つの手牌の全てが指定されたと判定されたときはステップS33に進む。
【0092】
ステップS33では、タッチされた手牌の有利度ポイントが最小の有利度ポイントであるか否か(即ち、有利度ポイントが、タッチされた手牌とは異なる手牌を捨てたときよりも、当該タッチされた手牌を捨てたときの方が低い特定状況となるか否か)を、捨て牌管理テーブル302に基づいて判定する。当該有利度ポイントが最小の有利度ポイントであると判定されたときは、ステップS34に進み、
図10に示す確認メッセージをタッチスクリーン15に表示する。
図10によれば、確認メッセージは、タッチされた牌を対象とする捨て牌を実行してもよいかを確認する文字列と、実行操作を受け付けるアイコンと、キャンセル操作を受け付けるアイコンとによって構成される。
【0093】
なお、タッチされた手牌の有利度ポイントが最小である場合には、当該有利度ポイントと同じ有利度ポイントが特定された牌が存在する場合であっても確認メッセージが表示される。
【0094】
ステップS35では、当該実行操作を受け付けるアイコンがタッチされたか否かを、タッチスクリーン15に対する操作入力に基づいて判定する。当該実行操作を受け付けるアイコンがタッチされたと判定されなかったときは、ステップS36に進む。ステップS36では、当該キャンセル操作を受け付けるアイコンがタッチされたか否かを、タッチスクリーン15に対する操作入力に基づいて判定する。当該キャンセル操作を受け付けるアイコンがタッチされたと判定されなかったときは、ステップS35に戻る。
【0095】
ステップS36において、当該キャンセル操作を受け付けるアイコンがタッチされたと判定されたときは、ステップS16に戻る。捨て牌管理テーブル302に登録された手牌および有利度ポイントは、次回のフリック操作において別の手牌がタッチされたときに、ステップS25の処理によって更新される。一方、ステップS33において、タッチされた手牌の有利度ポイントが最小の有利度ポイントであると判定されなかったとき、または、ステップS35において、当該実行操作を受け付けるアイコンがタッチされたと判定されたときは、ステップS46に進む。
【0096】
ステップS46では、タッチされた牌(ツモ牌または手牌)を対象として捨て牌を実行する。ステップS47では、捨てられた牌を河エリアRVに移動させて縮小表示する。ステップS48では、捨てられた牌が手牌である場合に、ツモ牌を手牌に収めるべく手牌エリアHA内の手牌を並び替える。具体的には、ツモ牌の分類に応じた位置に当該ツモ牌が表示されるように、手牌を並び替える。例えば、
図9(A)に示す対局画面において三筒牌が捨てられた場合は、七萬牌~九萬牌が右に詰められ、これにより設けられた隙間に五萬牌が収められる。ステップS49では、処理の完了を管理者側プログラムに通知し、その後にステップS13に戻る。
【0097】
ステップS23において、手牌エリアHAに表示されている牌に対するタッチ操作がフリック操作を構成するタッチ操作であると判定されなかったときは、当該タッチ操作はロングタップ操作であるとみなし、ステップS37に進む。即ち、ロングタップ操作が行われた場合、ユーザは時間を掛けて手牌を確認しており、捨てるべき牌が誤選択されている可能性は低いと思われるため、ステップS24~S36の処理は省略される。これによって、処理負担の軽減が図られる。
【0098】
ステップS37では、ガイド枠GFをタッチスクリーン15に表示し、ステップS38ではタッチされた牌を河エリアRV側に拡大表示する。したがって、
図11(A)に示す対局画面において、七筒牌がタッチされると、ガイド枠GFが表示されるとともに、タッチされた牌がタッチ位置よりも上側の位置に拡大表示される。また、
図11(B)に示す対局画面において、五筒牌がタッチされると、ガイド枠GFが表示されるとともに、タッチされた牌がタッチ位置よりも上側の位置に拡大表示される。
【0099】
ステップS39では、タッチ位置が移動したか否かをタッチスクリーン15に対する操作入力に基づいて判定する。当該タッチ位置が移動したと判定されたときは、ステップS40に進み、現在のタッチ位置は手牌エリアHAを含んで画面下部に広がる下部エリア内の位置であるか否かを判定する。
【0100】
現在のタッチ位置は当該下部エリア内の位置であると判定されると、ステップS41に進み、拡大表示する牌を当該タッチ位置の鉛直方向に位置する牌に変更する。牌の変更が完了すると、ステップS39に戻る。なお、現在のタッチ位置は当該下部エリア内の位置であると判定されなかったときは、ステップS41の処理を実行することなくステップS39に戻る。
【0101】
したがって、
図11(A)に示す七筒牌が拡大表示されている状態でタッチ位置が左側に移動されると、七筒牌が元の位置に通常表示され、左隣りの五筒牌がタッチ位置よりも上側の位置に拡大表示される。また、
図11(B)に示す五筒牌が拡大表示されている状態でタッチ位置が右側に移動されると、五筒牌が元の位置に通常表示され、右隣りの七筒牌がタッチ位置よりも上側の位置に拡大表示される。なお、タッチ位置が河エリアRVに移動すると、ガイド枠GFは強調表示される。
【0102】
ステップS39においてタッチ位置が移動したと判定されなかったときは、ステップS42に進み、タッチ操作が解除されたか否かをタッチスクリーン15に対する操作入力に基づいて判定する。当該タッチ操作が解除されたと判定されなかったときはステップS39に戻る。一方、当該タッチ操作が解除されたと判定されたときは、ステップS43に進み、ガイド枠GFを非表示とする。
【0103】
ステップS44では、直前のタッチ位置は河エリアRV内の位置であるか否かを、タッチスクリーン15に対する操作入力に基づいて判定する。直前のタッチ位置は河エリアRV内の位置であると判定されなかったときは、ステップS45で牌の拡大表示を終了し、その後にステップS16に戻る。この結果、拡大表示されていた牌は、元の位置に通常表示される。
【0104】
ステップS44において、直前のタッチ位置は河エリアRV内の位置であると判定されたときは、ステップS46に進み、直前にタッチされていた牌を対象とする捨て牌を実行する。即ち、捨て牌は、拡大表示された牌に対するドラッグ&ドロップ操作に応じて実行される。ステップS46の処理が完了すると、ステップS47~S49で上述と同様の処理を実行し、その後にステップS13に戻る。
【0105】
<本実施形態の効果>
本実施形態によれば、手牌エリアHA内のいずれかの手牌がフリック操作のためにタッチされると、手牌の組合せに基づく役成立に関する有利度合いが、タッチされた手牌(特定牌)とは異なる手牌(非特定牌)を捨てたときよりも、当該タッチされた手牌を捨てたときの方が低い特定状況となるか否かが判定される。当該特定状況となると判定されなかったときは、当該タッチされた手牌を対象とする捨て牌処理が実行される。一方、当該特定状況となると判定されたときは、捨て牌処理とは異なる特定処理が実行される。
【0106】
当該特定状況となると判定されなかったときは、ロングタップ等よりも簡易なフリック操作により捨て牌処理が実行されるため、操作性を向上させることができる。また、当該特定状況となると判定されたときは、捨て牌処理とは異なる特定処理が実行されるため、ユーザの誤操作により意図しない手牌が捨てられ、ユーザの意図しないゲーム展開となることを極力回避することができる。
【0107】
また、本実施形態によれば、当該タッチされた手牌を捨てたときの手牌の組合せに基づく役成立に関する有利度合いと、当該タッチされた手牌と異なる手牌(タッチされた手牌の右隣りの手牌および左隣りの手牌の各々であり、
図9(A)において三筒牌がタッチされた場合には五筒牌および九萬牌の各々)を捨てたときの手牌の組合せに基づく役成立に関する有利度合いとが特定され、当該有利度合いに基づいて当該特定状況となるか否かが判定される。これによって、ユーザのタッチ操作が誤操作であるか否かを客観的に判定することができる。
【0108】
さらに、本実施形態によれば、門前で役を成立させた場合において、手牌の組合せがドラ牌を含んでいるときは、ドラ牌を含んでいないときよりも高い点数がユーザに付与されるところ、当該タッチされた手牌がドラ牌であれば、有利度ポイントが減算される。これによって、ドラ牌を捨てる操作をユーザの誤操作とみなすことができる。
【0109】
また、本実施形態によれば、当該タッチ牌を捨てることによりシャンテン数が多くなるときに、有利度ポイントが減算される。これによって、シャンテン数をダウンさせることとなる捨て牌操作をユーザの誤操作とみなすことができる。
【0110】
さらに、本実施形態によれば、いずれかの手牌に対するタッチ操作が維持されたまま当該タッチ操作の位置が河エリアに移動されると、特定状況となるか否かにかかわらず、捨て牌処理が実行される。即ち、当該タッチ操作がドラッグ&ドロップ操作である場合、ユーザは熟考して捨て牌操作を行っているものとみなし、捨て牌により特定状況となるか否かにかかわらず、捨て牌処理が実行される。これによって、特定処理が無意味に実行されることを防止することができる。
【0111】
また、本実施形態によれば、当該特定処理は、捨て牌処理を行うか否かをユーザに確認するための処理である。これによって、誤操作のキャンセルをユーザに促すことができる。
【0112】
<変形例>
以上説明した実施形態の変形例などを以下に列挙する。
【0113】
(1) 上記実施形態においては、手牌エリアHA内でフリック操作が行われた場合、当該フリック操作を構成するタッチ操作によりタッチされた手牌と、当該タッチされた手牌の右隣りの手牌と、当該タッチされた手牌の左隣りの手牌との3つの手牌について有利度ポイントを特定するようにしている。しかし、右隣りの手牌または左隣りの手牌がタッチされた手牌と異なる分類の手牌である場合(例えば、タッチされた手牌が筒子牌であり、左隣りの手牌が萬子牌である場合)には、当該異なる分類の手牌に対する有利度ポイントの特定を省くようにしてもよい。即ち、有利度ポイントを特定する処理は、当該タッチされた手牌と同じ分類に属する牌を対象として実行するようにしてもよい。これによって、ユーザのタッチ操作が誤操作であるか否かを判定する処理に掛かる負荷を軽減できる。
【0114】
上記実施形態のように、タッチされた手牌と、当該タッチされた手牌の右隣りの手牌と、当該タッチされた手牌の左隣りの手牌との3つの手牌について有利度ポイントを特定することに加えて、左隣りの手牌が異なる分類の手牌であり、当該左隣りの手牌に対する有利度ポイントの特定を省く場合においては、異なる分類の手牌が位置する方向とは逆に配置されている2つの牌、すなわちタッチされた手牌の2つ右隣りの手牌を対象として有利度ポイントを特定するようにしてもよい。同様に、右隣りの手牌が異なる分類の手牌であり、当該右隣りの手牌に対する有利度ポイントの特定を省く場合においては、タッチされた手牌の2つ左隣りの手牌を対象として有利度ポイントを特定するようにしてもよい。これによって、ユーザのタッチ操作が誤操作であるか否かを判定する精度の低下を抑えることができる。
【0115】
さらに、タッチされた手牌の右隣りまたは左隣りに当該タッチされた手牌と同じ分類の手牌が存在しない状況において、タッチされた手牌を捨てるとシャンテン数がダウンする場合は、一律に確認メッセージを表示するようにしてもよい。これによって、ユーザの誤操作により捨て牌が実行される懸念を軽減することができる。
【0116】
(2) 上記実施形態においては、
図10に示す確認メッセージに対する実行操作またはキャンセル操作により処理を確定させるようにしている。しかし、所定期間(3秒間)に亘り何の操作も行われなかったときに、タッチされた手牌を対象とする捨て牌を実行するようにしてもよい。
【0117】
(3) 上記実施形態においては、有利度ポイントの減少量は、指定された手牌がドラ牌である場合と、指定された手牌を捨てることによりシャンテン数がダウンする場合とで、同じ量とされる。しかし、有利度ポイントの減少量は、指定された手牌がドラ牌である場合と、指定された手牌を捨てることによりシャンテン数がダウンする場合とで異ならせるようにしてもよい。
【0118】
(4) 上記実施形態においては、タッチされた手牌の有利度ポイントが最小である場合に確認メッセージを表示するようにしているが、確認メッセージを表示するときは、当該表示とともに、ユーザ端末100を振動させるようにしてもよい。
【0119】
(5) 上記実施形態においては、自ユーザが操作するキャラクタと、3人の他ユーザがそれぞれ操作する3人のキャラクタとの間で、対戦を行わせるようにしている。しかし、対戦相手である3人のキャラクタの少なくとも1人は、NPC(ノンプレイヤキャラクタ)であってもよい。
【0120】
(6) 上記実施形態においては、縦長の対局画面をタッチスクリーン15に表示するようにしている。しかし、これに代えて横長の対局画面をタッチスクリーン15に表示したり、ユーザ端末100の姿勢に応じて対局画面の表示態様を縦長と横長との間で切り替えるようにしてもよい。対局画面の表示態様を縦長と横長との間で切り替える場合、フリック操作のためにタッチされた手牌を含む複数の手牌について有利度ポイントを特定し、当該有利度ポイントの値に応じて確認メッセージを表示する処理は、縦長の対局画面を表示するときにオンする一方、横長の対局画面を表示するときにオフするようにしてもよく、あるいは対局画面の表示態様に関係なく常にオンするようにしてもよい。
【0121】
(7) 上記実施形態においては、ユーザが意図しない牌を捨てようとしているか否かを判定する際、具体的には、当該牌がドラ牌であるか否かと、当該牌を捨てることによりシャンテン数がダウンするか否かとの両方を判定するようにしている。しかし、ユーザが意図しない牌を捨てようとしているか否かは、当該牌がドラ牌であるか否かと、当該牌を捨てることによりシャンテン数がダウンするか否かとのいずれか一方を判定することにより、判定するようにしてもよい。
【0122】
(8) 上記実施形態においては、タッチされた手牌と、当該タッチされた手牌の右隣りの手牌と、当該タッチされた手牌の左隣りの手牌との3つの手牌の各々について有利度ポイント即ち捨て牌の優先順位を特定し、当該タッチされた手牌について特定された優先順位が最下位である場合に、確認メッセージを表示するようにしている。しかし、手牌エリアHA内の全ての手牌について捨て牌の優先順位を特定し、タッチされた手牌に対する捨て牌の優先順位が所定順位以下(例えば3位以下)のときに、確認メッセージを表示するようにしてもよい。
【0123】
(9) 上記実施形態においては、確認メッセージは、タッチされた牌を対象とする捨て牌を実行してもよいかを確認する文字列と、実行操作を受け付けるアイコンと、キャンセル操作を受け付けるアイコンとによって構成される。しかし、タッチされた手牌と、当該タッチされた手牌の右隣りの手牌と、当該タッチされた手牌の左隣りの手牌との3つの手牌のうちのいずれかを捨て牌候補として指向するカーソルと、当該カーソルを左右に移動させるためのアイコンとを当該確認メッセージに追加し、当該アイコンにタッチすることで捨て牌候補を変更できるようにしてもよい。これによって、ステップS26~S32の処理を再度実行する必要がなくなり、処理負担の軽減が図られる。
【0124】
(10) 上記実施形態においては、ツモ牌に対するフリック操作が行われた場合、当該ツモ牌を対象として有利度ポイントが特定されることはない。しかし、ツモ牌に対するフリック操作が行われた場合は、当該ツモ牌を対象として有利度ポイントを特定するとともに、当該ツモ牌と同じ分類に属する手牌を対象として有利度ポイントを特定し、こうして得られた有利度ポイントに基づいて捨て牌を実行するようにしてもよい。これによって、その場の勢いでツモ牌が誤って捨てられる懸念を軽減することができる。
【0125】
(11) 上記実施形態においては、麻雀ゲームを想定しているが、これに代えてポーカー、ババ抜き等のカードゲームや、こいこい等の花札ゲームを想定するようにしてもよい。この場合、一枚一枚のカードや花札が識別情報に相当する。
【0126】
(12) 上記実施形態においては、タッチ操作に基づく指定牌がドラ牌である場合、または当該指定牌を捨てた場合にシャンテン数が後退する場合に、有利度ポイントを減算するようにしている(
図7のステップS26~S31参照)。しかし、ユーザの手牌、場の捨て牌、ユーザおよび対戦相手の各々の副露牌を参照して、テンパイまでの牌効率の観点から有効牌(手牌に収めることで待ちが増える牌など)が減少する場合にも、有利度ポイントを減算するようにしてもよい。なお、当該有効牌が減少する場合としては、例えば、両面待ちの状態から一方の面の待ちがなくなるときのように受け入れの数が減少する場合が考えられる。
【0127】
(13) 上記実施形態においては、いずれかの手牌に対するタッチ操作が維持されたまま当該タッチ操作の位置が河エリアに移動したときは、特定状況となるか否かにかかわらず、捨て牌処理を実行するようにしている。しかし、河エリアへドラッグ操作された場合に限らず、例えば、タッチ操作が所定時間(例えば5秒)以上に亘り継続しているときには、タッチ操作により指定されている捨て牌候補がユーザの意図する牌であるかを確認する時間が十分に確保されているといえる。このため、タッチ操作が所定時間(例えば5秒)以上に亘り継続しているときには、特定状況となるか否かにかかわらず、タッチ操作により指定されている捨て牌候補について捨て牌処理を実行するようにしてもよい。この場合における捨て牌処理は、タッチ操作が所定時間に達したときに当該タッチ操作が解除されていなくても実行するようにしてもよく、また、所定時間以上に亘り継続していたタッチ操作が解除されたときに実行するようにしてもよい。
【0128】
<付記>
以上の各実施形態で説明した事項を、以下に付記する。
【0129】
(付記1):
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、およびタッチスクリーンを備えるコンピュータ(
図1のユーザ端末100)において実行されるゲームプログラムであって、前記ゲームプログラムは、前記プロセッサに、予め定められた複数の識別情報のうちユーザが所有する識別情報の組合せを表示する第1ステップ(
図6のS12、S14)と、前記第1ステップにより表示された識別情報の組合せに基づいて、予め定められた複数種類の役のうちから成立している役を特定する第2ステップ(
図6のS16)と、前記第1ステップにより表示されている識別情報のうちからタッチ操作されている識別情報を特定する第3ステップ(
図6のS22)と、識別情報の組合せに基づく役成立に関する有利度合い(有利度ポイント)が、前記第3ステップにより特定された特定識別情報とは異なる非特定識別情報を除外したときよりも、当該特定識別情報を除外したときの方が低い特定状況となるか否かを判定する第4ステップ(
図7のS33)と、前記第4ステップにより前記特定状況となると判定されなかったときには、前記特定識別情報をユーザが所有する識別情報の組合せから除外するための除外処理を行う一方、前記第4ステップにより前記特定状況となると判定されたときには、前記除外処理とは異なる特定処理を行う第5ステップ(
図8のS46、
図7のS34)とを実行させる。
【0130】
(付記2):
(付記1)において、前記第4ステップは、前記特定識別情報を除外したときの識別情報の組合せに基づく役成立に関する有利度合いと、前記非特定識別情報を除外したときの識別情報の組合せに基づく役成立に関する有利度合いとを特定し(
図7のS25~S32)、当該有利度合いに基づいて前記特定状況となるか否かを判定する。
【0131】
(付記3):
(付記2)において、前記複数の識別情報は、複数の分類(萬子、筒子、索子、字牌)のいずれかに属し、前記第1ステップは、ユーザが所有する識別情報の組合せを分類毎に表示し、前記第4ステップは、前記第1ステップにより表示されている識別情報のうち前記タッチ操作により特定された識別情報と同じ分類に属する識別情報について、前記有利度合いを特定する。
【0132】
(付記4):
(付記1)から(付記3)のいずれかにおいて、前記ゲームプログラムは、前記プロセッサに、前記第2ステップにより成立していることが特定された役の種類に応じた特典を付与する第6ステップ(
図5のS05)を実行させ、前記第6ステップは、役を成立させている識別情報の組合せに予め定められた識別情報(ドラ牌)が含まれるときには、当該予め定められた識別情報が含まれていないときよりも大きな特典を付与し、前記第4ステップは、前記特定識別情報が前記予め定められた識別情報であるときに、前記予め定められた識別情報と異なるときよりも低い有利度合いを特定する(
図7のS27、S28)。
【0133】
(付記5):
(付記1)から(付記4)のいずれかにおいて、前記第4ステップは、前記特定識別情報を除外することにより役を成立させるまでに要する識別情報の必要数(シャンテン数)が多くなるときに、前記必要数が多くならないときよりも低い有利度合いを特定する(
図7のS30、S31)。
【0134】
(付記6):
(付記5)において、前記ゲームプログラムに基づくゲームは、麻雀ゲームであり、前記第4ステップは、識別情報の組合せである手牌に基づき特定されるシャンテン数が後退するときに低い有利度合いを特定する。
【0135】
(付記7):
(付記5)または(付記6)において、前記ゲームプログラムに基づくゲームは、麻雀ゲームであり、前記第4ステップは、少なくとも、識別情報の組合せである手牌、ユーザおよび対戦相手により除外された識別情報である捨て牌、および、対戦相手が除外した識別情報をユーザが所有する識別情報に含めた識別情報である副露牌に基づいて有効牌が減少するときに低い有利度合いを特定する。
【0136】
(付記8):
(付記1)から(付記7)のいずれかにおいて、前記第1ステップは、ユーザが所有する識別情報の組合せを前記タッチスクリーン上の第1エリアに表示し、前記第5ステップは、前記タッチ操作が維持されたまま当該タッチ操作の位置が前記第1エリアとは異なる第2エリアに移動されることにより、前記特定状況となるか否かにかかわらず、前記除外処理を行う。
【0137】
(付記9):
(付記1)から(付記7)のいずれかにおいて、前記第5ステップは、前記タッチ操作が所定時間以上に亘って維持されているときには前記特定状況となるか否かにかかわらず、前記除外処理を行う。
【0138】
(付記10):
(付記1)から(付記9)のいずれかにおいて、前記特定処理は、前記除外処理を行うか否かをユーザに確認する情報を報知するための処理である。
【0139】
(付記11):
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、および入力部を備えるコンピュータ(
図1のユーザ端末100)において実行されるゲーム方法であって、前記ゲーム方法は、前記コンピュータが、予め定められた複数の識別情報のうちユーザが所有する識別情報の組合せを表示する第1ステップ(
図6のS12、S14)と、前記第1ステップにより表示された識別情報の組合せに基づいて、予め定められた複数種類の役のうちから成立している役を特定する第2ステップ(
図6のS16)と、前記第1ステップにより表示されている識別情報のうちからタッチ操作されている識別情報を特定する第3ステップ(
図6のS22)と、識別情報の組合せに基づく役成立に関する有利度合いが、前記第3ステップにより特定された特定識別情報とは異なる非特定識別情報を除外したときよりも、当該特定識別情報を除外したときの方が低い特定状況となるか否かを判定する第4ステップ(
図7のS33)と、前記第4ステップにより前記特定状況となると判定されなかったときには、前記特定識別情報をユーザが所有する識別情報の組合せから除外するための除外処理を行う一方、前記第4ステップにより前記特定状況となると判定されたときには、前記除外処理とは異なる特定処理を行う第5ステップ(
図8のS46、
図7のS34)とを備える。
【0140】
(付記12):
本開示に示す一実施形態のある局面によれば、情報処理装置(
図1のユーザ端末100)であって、ゲームプログラムを記憶する記憶部(
図2の120)と、前記ゲームプログラムを実行することにより、前記情報処理装置の動作を制御する制御部(
図2の110)とを備え、前記制御部は、予め定められた複数の識別情報のうちユーザが所有する識別情報の組合せを表示する第1ステップ(
図6のS12、S14)と、前記第1ステップにより表示された識別情報の組合せに基づいて、予め定められた複数種類の役のうちから成立している役を特定する第2ステップ(
図6のS16)と、前記第1ステップにより表示されている識別情報のうちからタッチ操作されている識別情報を特定する第3ステップ(
図6のS22)と、識別情報の組合せに基づく役成立に関する有利度合いが、前記第3ステップにより特定された特定識別情報とは異なる非特定識別情報を除外したときよりも、当該特定識別情報を除外したときの方が低い特定状況となるか否かを判定する第4ステップ(
図7のS33)と、前記第4ステップにより前記特定状況となると判定されなかったときには、前記特定識別情報をユーザが所有する識別情報の組合せから除外するための除外処理を行う一方、前記第4ステップにより前記特定状況となると判定されたときには、前記除外処理とは異なる特定処理を行う第5ステップ(
図8のS46、
図7のS34)とを実行する。
【0141】
〔ソフトウェアによる実現例〕
制御部110の制御ブロック(特に、作用受付部111、端末処理部112、タイマー部113、端末判定部114、表示制御部115、報酬計算部116、および送受信部117)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
【0142】
後者の場合、制御部110を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0143】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0144】
1 ゲームシステム、2 ネットワーク、100 ユーザ端末、110 制御部、111 作用受付部、112 端末処理部、113 タイマー部、114 端末判定部、115 表示制御部、116 報酬計算部、117 送受信部、120 記憶部、151 入力部、152 表示部、200 ゲームサーバ、210 制御部、211 送受信部、212 サーバ処理部、213 データ管理部、214 マッチング部、215 計測部、220 記憶部、301 シャンテン数レジスタ、302 捨て牌管理テーブル。