プログラミング

Go言語で麻雀プログラミング事始め

投稿日:2016年4月4日 更新日:

こんにちは。エイプリルフールは天鳳が絶好調で「嘘でしょ?w」と調子に乗っていたら、翌日は3ラス食らって「マジか?嘘でしょ...」と無言の悲鳴を上げてシオシオのパーになっている僕です。上げて叩き落とすとは、さすが、やってくれますね。誰とは言いませんが(笑)

そんなわけで、天鳳のモチベが地の底を這いずりまわる状態になってしまい、やる気の泉が枯渇してしまいました。でも、空いた時間を無為に過ごすのは人生の無駄です。

だから、麻雀も速く打て!

あっ、どうでも良いことでしたね(笑)

というわけで、以前から気になっていたGo言語の勉強をすることになりました。けっして天鳳から逃げたわけじゃないです。そこんところ夜露死苦(ΦωΦ=)

13view
Go言語でコマンドラインオプション対応点数計算プログラム
Go言語で麻雀プログラミング事始め(2)~コマンドラインオプションの実装

Go言語で麻雀プログラミング事始めで作った点数計算プログラムは、符・翻・親子・アガリ方の値が固定されて、汎用性に欠けるも ...

続きを見る

Go言語とは?

Go言語とはGoogleが開発したプログラミング言語です。旧来の言語よりもシンプルで開発がしやすいという噂です。コンパイルと実効速度も速いとの評判です。安全性も高く、しかも、オープンソース。これは期待できそうな予感がします。

あのGoogleが開発したのだから、うん(とりあえず、納得する)

一つのプログラムコードからWindows、MacOS X、Linux、Androidなど、複数のOS用の実行ファイルを生成できます。

生産性が高いですね。素敵。

僕は普段はJavaScriptでプログラミングをしています。JavaScriptは、スクリプト言語です。一方のGO言語は、コンパイラ言語です。

なんか、とってもカッコいいっぽい?

コンパイル系の言語は、ほぼ初心者の自分でもできるのか?案ずるより産むが易し。やってみるのが一番の早道です。誰が言ったかしらないが、<b>論より証拠金</b>という迷言もあります。
というわけで、簡単な点数計算プログラムを作ってみることにしました。

Go言語で点数計算プログラムを作ってみた

ざっと、こんな感じです。ファイル名は「tensu.go」です。Go言語書いたプログラムには「go」という拡張子を付けます。

変数の型でつまずかなければ、JavaScriptからの移行もスムーズにできそうです。switch文は、Go言語のほうが応用が効いて、逆に書きやすかったです。今回は使ってないけど、関数の戻り値を複数指定できるのも嬉しいですね。

では、コンパイルしてプログラムを実行してみます。

何もメッセージが出なければコンパイルは成功です。「成功」を意味するメッセージは一切出ません。硬派で無骨です。

男は黙ってサッポロなんとか

という懐かしいCMを思い出しました。

コードに問題があると、メッセージがズラズラ出てきます。黙ってくれるまで、修正しましょう。
コンパイルは、噂通りの速さでした。無駄に待たされないのは嬉しいです。

「tensu.exe」という実行ファイルがが一つだけ生成されます。他には一切ありません。この辺もシンプルで好感が持てます。シンプルイズベストですね。

ちゃんと動きました。
このプログラムは符・翻・親子判定・アガリ判定は固定になっています。数値を変更する場合は、プログラムを直接書き換えて、コンパイルする必要があります。

符・翻・親子判定・アガリ判定を引数付きで実行できるように手直しすれば、そこそこ実用的なものに仕上がりそうです。今後の課題にしたいと思います。

今回は、Go言語の体験学習が目的です。何かしらの言語を学んでいいれば、学習時間はかなり短縮できそうな感じでした。当面は、勉強がてらに、今までJavaScriptで作ったプログラムを移植してみようと思います。

ブログランキング


最後まで読んでいただきありがとうございます!ブログランキングにクリックしてもらえると、今後のはげみになります。


関連記事

おすすめベストセラー麻雀本

何切る問題集の決定版です。スタンダードな問題から難問まで、実に300問の何切る問題が収録されています。何切る脳を鍛えるのにもってこいのテキストです。

G・ウザク

三才ブックス

G・ウザク

2017-07-27

三才ブックス

-プログラミング
-,

Copyright© 麻雀ブログ!勝負は下駄を履くまで , 2018 All Rights Reserved.