• ベストアンサー

そろった牌を選ぶと自動的に適合する役とポイントを計算するスクリプト

こんにちは、いつもお世話になっております。 正式な麻雀の話ではないのですが、なんちゃって麻雀風ゲームで以下のようにポイントが決まるようになっています。 ・(役の名前):(必要な組み合わせ)=(ポイント) ・ありえない組み合わせ:カレー+ラーメン+ギョウザ=5,000ポイント ・定番:ラーメン+シューマイ=2,000ポイント 手札がカレー、ラーメン、ギョウザ、シューマイ、ごま団子だとしたら「ありえない組み合わせ」と「定番」が適用で「7,000ポイント」になります。 …上のは例ですが、たとえば手札の一覧があり、今自分がもっている手札をその一覧上でチェックを入れていくと、自動的に適合する役と合計ポイントを計算し表示するスクリプトは作れるでしょうか? 説明が足らない場合は補足します。 意味をわかっていただけるかた、方法を教えていただけると助かります。 よろしくお願いします。m(_ _)m

noname#58564
noname#58564

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

とりあえず、こんな感じでどうでしょう? インデント(字下げ)は全角空白にしているので コピーする時は半角空白に変換してください。 スクリプト部: <SCRIPT LANGUAGE="JavaScript"> <!-- var kcnt = 0; var KUMI = new Array(); //KUMI[n][0] 組み合わせ //KUMI[n][1] ポイント //KUMI[n][2] 組み合わせ名 //KUMI[n][3] 組み合わせ KUMI[kcnt++] = new Array( "1,1,1,0,0", 5000, "ありえない", "カレー+ラーメン+ギョウザ" ); KUMI[kcnt++] = new Array( "0,1,0,1,0", 2000, "定番", "ラーメン+シューマイ" ); KUMI[kcnt++] = new Array( "1,0,1,0,1", 3000, "ありえない", "カレー+ギョウザ+ごま団子" ); KUMI[kcnt++] = new Array( "0,0,1,1,0", 3500, "ありえない", "ギョウザ+シューマイ" ); KUMI[kcnt++] = new Array( "1,0,0,0,1", 3000, "ありえない", "カレー+ごま団子" ); KUMI[kcnt++] = new Array( "1,1,1,1,1", 7000, "ありえない", "カレー+ラーメン+ギョウザ+シューマイ+ごま団子" ); KUMI[kcnt++] = new Array( "0,1,1,0,0", 1500, "定番", "ラーメン+ギョウザ" ); function CheckKumi( Set ){  point = 0;  msg = "";  for(i=0; i<kcnt; i++){   KSet = KUMI[i][0].split(",");   kumi_flg = true;   for(j=0;j<Set.length;j++){    if( KSet[j] > Set[j] ){     kumi_flg = false;     break;    }   }   if( kumi_flg ){    point += KUMI[i][1];    msg = msg + KUMI[i][2] + ":" + KUMI[i][3] + ":" + KUMI[i][1] + "\n";   }  }  msg = msg + "合計ポイント:" + point; } function Check(){  with( document.InputForm ){   var Set = new Array();   for( j=0;j<5;j++ ){    Set[j] = 0;    if( elements['menu'+j].checked ) {     Set[j] = 1;    }   }  }  CheckKumi( Set );  alert(msg); } //--> </SCRIPT> フォーム部: <FORM NAME="InputForm"> <INPUT TYPE="checkbox" name="menu0">カレー<br> <INPUT TYPE="checkbox" name="menu1">ラーメン<br> <INPUT TYPE="checkbox" name="menu2">ギョウザ<br> <INPUT TYPE="checkbox" name="menu3">シューマイ<br> <INPUT TYPE="checkbox" name="menu4">ごま団子<br> <INPUT TYPE="button" value="チェック" onClick="Check()"> </FORM>

noname#58564
質問者

お礼

回答ありがとうございます。 お返事が遅れてすみません。 実際に教えてくださったスクリプトをコピペして、試してみたのですが、何も起きませんでした。 素人目には、チェックボタンをクリックするとアラートがでてどの役なのかを教えてくれるスクリプトだと思うのですが…。 なぜなのでしょうか。 もうちょっと試行錯誤してみます。m(_ _)m

その他の回答 (3)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

他の方も書いているとおり、まずルールをきめましょう。 種類やバリエーションによってカードの持ち方は変わります。 あえて書くなら以下のようなこんな感じですね。 (1)カードを配列で持つ (2)チェッカーにわたして結果をreturnで受ける (3)結果を表示する まぁもっと効率的なデータの持ち方をしたほうがいいので いろいろやってみてください。 <script language=javascript> main(); function main(){ myCard=new Array(); myCard[0]="カレー"; myCard[1]="ラーメン"; myCard[2]="ギョウザ"; myCard[3]="シューマイ"; myCard[4]="ごま団子"; point=0; point +=check_arienai(myCard); point +=check_teiban(myCard); point +=check_oyaji(myCard); alert(point) } function check_arienai(num){ var flag_kare=false; var flag_ramen=false; var flag_gyoza=false; for(var i in num){ if(num[i]=="カレー") flag_kare=true if(num[i]=="ラーメン") flag_ramen=true if(num[i]=="ギョウザ") flag_gyoza=true } if(flag_kare && flag_ramen && flag_gyoza) return 5000; return 0; } function check_teiban(num){ var flag_ramen=false; var flag_shumai=false; for(var i in num){ if(num[i]=="ラーメン") flag_ramen=true if(num[i]=="シューマイ") flag_shumai=true } if(flag_ramen && flag_shumai) return 2000; return 0; } function check_oyaji(num){ var flag_gyoza=false; var flag_biiru=false; for(var i in num){ if(num[i]=="ギョウザ") flag_gyoza=true if(num[i]=="ビール") flag_biiru=true } if(flag_gyoza && flag_biiru) return 3000; return 0; } </script>

noname#58564
質問者

お礼

具体的な回答ありがとうございます。 すみません、これをどのようにチェックボックスと連動させればよいのでしょうか? >他の方も書いているとおり、まずルールをきめましょう。 ルールとは…どのようなルールのことでしょうか。 すみませんが、みなさんのおっしゃってることがちんぷんかんぷんです。 恐らくわたしの言いたいことが全く伝わってないようなので、質問を読んでいる側もちんぷんかんぷんなんだと思いますが…汗

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 現在はどのようにして、どこまで動いているのでしょうか?? それが具体的にわからないと、スクリプトを具体的に提示するのは 難しいと思いますよ。 手札情報をどのような形で保持しているのか 例) 手札配列に名称が入っている。 手札配列に札IDが入っている。 配列なんか使ってないよ。 一覧上でチェックを入れていくと・・ 例) チェックボックスにチェック。 画像をクリック。 役照合ボタンを選択。 いろいろ方法があり、どのようにやっているかによって (特にデータの持ち方) 変わってきてしまいます。

noname#58564
質問者

補足

回答ありがとうございます。 質問にあげたものはあくまで例ですので、データなどは一切ありません。 あくまでイメージを伝えようとした例にすぎませんので、どこまで動くもなにも全く何もないんです。(^-^; もし具体的に提示していただけたなら、それに合わせようと思いますし、自分の都合のよいように改変しようと思いますが…それでも具体的に提示するのは難しいでしょうか?(x_x)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>自動的に適合する役と合計ポイントを計算し表示するスクリプトは作れるでしょうか? 作れるかと聞かれたら作れるということになるでしょう 役テーブルを用意して 入力がそれぞれに適合するかどうか調べて 適合した場合、役を表示し、ポイントを加算していくというような感じになるでしょう。

noname#58564
質問者

補足

アドバイスありがとうございます。 ではそれをどのように実現したらよいのでしょうか。 具体的なスクリプトを教えていただけると助かります。m(_ _)m

関連するQ&A

  • どっちが好きですか?

    中華料理六番勝負、それぞれどっちが好きですか? 1ギョウザVSシュウマイ 2エビチリVSエビマヨ 3八宝菜VSホイコーロー 4麻婆豆腐VS麻婆茄子 5中華丼VS天津丼 6杏仁豆腐VSゴマ団子

  • 『史上(私情?)最高』の料理の組み合わせ。

    みなさん料理の好み、こだわり、ありますよね。 「ラーメン食べるときは餃子も必ず注文する」 「カレーライスには必ずソースをかける」 「ビールを飲むときは必ず枝豆が無いとイヤ」 etc・・・ そこで皆さんのこだわりと言うか、この組み合わせは最高! と言うものを教えてください。 脱線回答も可です。 よろしくお願いします。

  • 「好きな食べ合わせ」と、「これは一緒に食べるのは無理だろう」・・・

    好きなのは、 ○我が家の昼のごちそう、「ぼた餅」+「インスタントラーメン」・・・甘さと、ちょいしょっぱさが、絶妙の組合せです。 ○お菓子では、何といっても、「チョコ」+「ピーナッツ」・・・だから「キョロちゃんのチョコボール」が最高! 無理そうなのは、 ×「お寿司」+「カレー」・・・でも、好きな人もいるかな? ×「鰻」+「餃子」も、きつそう。 皆さんは、どんなものがありますか?

  • 餃子の餡に「お酢」?

    私は餃子をこよなく愛するものです。 餃子の餡の味付けに「お酢」または「黒酢」を入れると言う方はいらっしゃいますか? 以前食べたに行ったお店で餃子を食べたところ、「ニンニク」でもない、「ショウガ」でもない、「鶏がらスープ」でもない、何か引き締まった(お酢の隠し味?)美味しい味がしたのです。ちなみに、そこのお店は九州系のラーメン屋さんです。 餃子の餡に「お酢」あるいは「黒酢」を入れるレシピってあるのですか?実際に入れたことのある方がもしいらっしゃるとしたら、それは美味しいですか? ハッキリと「お酢」とは到底断言できませんけれども、当然そのほかのニンニクやショウガの味も利いてますが、それを上回るような味のポイントになっているのは確かです。とても美味しいです。 「ニンニク」や「ショウガ」、「鶏がらスープ」以外に味の決め手となるような調味料はありますか?(既に「塩」「コショウ」「醤油」「ごま油」「紹興酒」「みそ」は折込済みです。それらの調味料では引き締まった味が出せないことは実証済みです) もしもあれば参考に教えてください。宜しくお願いいたします。

  • よく作る冷凍ストックは何ですか?

    調理時間の短縮に欠かせない、冷凍ストックおかず! 忙しいときでも、すぐ食べられる冷凍おかずが常備してあると思うと、 なんだか安心しますよね。 あなたがよく作っている冷凍ストックは何ですか? 定番の餃子やシュウマイから、 最近では生野菜を冷凍するなんていうテクニックもありますね。 「これを冷凍しておくと役に立つ!」という冷凍おかずを教えてください。 『オレンジページ』(11/17号)では、 「冷凍できるラクチンおかず」を特集しています! http://www.orangepage.net/book/orp/new/111117_orp.html 今日のごはんと忙しい日に、 2度使える便利な冷凍おかずをいろいろご紹介♪ 参考にしてみてくださいね!

  • 麺類の副菜はどうされてます?

    私は、麺類が大好きです。 が、夫はそれほど好きではない。できたら、ちゃんとした定食風に、主菜、副菜、箸休めと欲しい人です。麺類はお酒の〆みたいな感覚です。食事だと思ってない。 土日のお昼は麺類にしたいな~、でも、麺類だけじゃ不満?足らないみたい。 しっかりしたおかずの感じで、麺類とも相性が良くて、、、どんなものをされてますか? ・そば、うどんの時はてんぷらが定番ですが、いささか飽きてくるというか、夕食で揚げ物の選択肢が減ってしまうことも痛い。 ・スパゲティの時は、フリッターやカツレツなど普通に一品を作ります。 ・ラーメンが、一番悩ましいです。やはり、餃子、シューマイでしょうか?冷食やチルドは駄目なので、いささか手間がかかりすぎ、量が半端で作りにくいです。中華粽を作れば一番喜ぶことはわかっているのですが、、、、 ・ミニサラダはつけます。フルーツまたはデザートもつけます。 肉じゃがとかポテトサラダとかが合いそうにないので困ってしまいます。 誰かお知恵拝借したいです。

  • 即自動計算のスクリプト

    あらかじめ出力される数値が指定されたボタンをクリックされるごとに、テキストエリアに数値が加算されるようなスクリプトはどのように書いたらいいのでしょうか?お願いいたします。

    • ベストアンサー
    • Flash
  • 絶食の旦那に私の手料理が食べたいと言われなかった。

    みなさんは料理の本でどんどんレシピも覚えて味付けもうまくなっていくのでしょうか? 私は料理の本を見て作っても普通な感じで凄く美味しいって思ったことがあまりありません。 旦那が入院していて絶食でラーメンが食べたいとか焼肉が食べたいとは言っても私の手料理が食べたいとは言ってくれませんでした。 すごくショックでした。 どうしたら上達するのかなと悩んでいます。 カレーや肉じゃがなど定番なものしか作れません。 違うのに挑戦してもまずかったりします。 料理の組み合わせとかも浮かばずマンネリ化しています。 特に腸が悪いみたいなので魚料理を作りたいのです。 こんな私にアドバイスをお願いします。 料理教室はどうなのかとかユーキャンの料理講座の事も気になります。 料理の本はどの位持っていますか? 本を選ぶ時のコツも教えてください。 お願いします。

  • 皆様の「我が家のチャーハン」を教えて下さい!!

    子供の頃、土日のお昼ご飯の定番といえば、カレー・やきそば・チャーハン・ラーメン…などでした。中でも、私はチャーハン(「焼き飯」と言う方がしっくりくるかも)が大好物。結婚した後も、2・3週間に1回は、土日のお昼にチャーハンを作っております。 さて、そこで。チャーハンのレパートリーを増やすべく、質問をさせていただきました。 ズバリ。「我が家のチャーハン大募集!!」です。 具材・簡単なレシピ・調理のポイント…などなど。なんでも結構ですので、よろしければご回答下さい。 レシピを記載したURLのご紹介も嬉しいのですが、実際にお作りになった感想やポイントなどを添えていただくと、「ひゃっほー!」と叫びたくなるくらい嬉しいです。)^o^( ちなみにうちのチャーハンは… (1) タマネギ(時には長ネギも仲間入り)・にんじん・ピーマンをそれぞれ5mm位の角切り(?)にする。 (2) 豚肉を小さく切って、(1)と共に炒める。 (3) 塩・こしょう・鶏がらスープの素で味付け。 (4) 割りほぐした卵を加え、半熟のところでご飯投入!!とにかく煽って煽って煽りまくる!! (5) 最後に、醤油で香り付け。気分によっては、ごま油を少々…。野菜を炒める前に、ニンニクのみじん切りが入る事も、ごくごく稀にあり…。 *スペシャルバージョンとして、豚肉の生姜焼きと、生姜焼きのつけダレで味付けた炒めタマネギを上に乗せると、もうこれは大ご馳走!(^○^) 今回は、出きる限り、ご回答頂いた皆様の「我が家のチャーハン」を作ってみてから締切りたいなぁ…と思っております。その為、締切が遅くなるとは思うのですが、どうかどうか、よろしくお願いします。m(__)m

  • 全自動麻雀牌について

    全自動卓には、それぞれ機種により専用の牌があるようで、専用牌以外は使用できないと聞いたのですが、 雀豪マーク3に雀夢マーク3の牌は使えるのでしょうか? ご存知の方いらっしゃいましたらご回答お願い致します。

専門家に質問してみよう