2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【ステイホーム】zoom麻雀用Webサービスを1.5日で作った話【お家で過ごそう】

Last updated at Posted at 2020-05-17

はじめに

こんにちは。
みなさん、いかがお過ごしでしょうか。

僕は、仲間で麻雀をするのが楽しみの一つなのですが、この状況下、みんなでそろって麻雀することは控えております。
そこでzoom飲み会ならぬ、zoom麻雀をしております(笑)

オンライン麻雀で、仲間用の部屋を作ってそこに集まって、zoomで会話しながら麻雀をするって形ですね。

これがなかなかスムーズで快適で、みんなとも色んな話ができて楽しいです(^^)

ただ、1つの難点を除けば、、、

難点とは

難点とは、そう!

チップのやり取りができない!

麻雀は、点数そのもののやり取り以外に、「チップ」というのを使って、和了(あが)り方によって、点数とは別に何枚払う/もらう、みたいなルールも追加できるんですね。
和了ったときに、

  1. 赤いドラがあったら1つにつきチップ1枚
  2. 裏ドラがあったら1つにつきチップ1枚
  3. 役満あがったら5枚

などなど。
まぁ、このルールは仲間の中で好きに決めますがw

ないなら作れ

初めて仲間内でzoom麻雀したのがある日の金曜日だったんですね。そのときは、「あー、これだとチップやり取りできないねぇ」ってなったんですが、ぼくはITエンジニア。

「じゃ、作るわ!」

と、言いました。

この時に、構想とかあったわけじゃないんですけどね(笑)

で、土曜の朝から構想して、日曜の夕方に麻雀仲間に

「できたよー」

と、できたのが、これ!

チップくん
https://mahjang-chips.an.r.appspot.com/
001.PNG
002.PNG
003.PNG

システムの流れ

と、前置きが長かったんですが、システムの流れは以下。
qiita.png

  1. 主催者が面子(メンツ)を設定する。
  2. 生成されたURLをメンツに連絡する。
  3. 全員、同じURLにアクセスする。
  4. そこの画面でチップのやり取りを行う。

と、シンプルなもの。

この通り、画面としては、3つだけ。
チップのやり取りを行う画面では、

  1. チップの枚数の増減ボタン
  2. 増減の確定ボタン
  3. 画面の更新ボタン

があるのですが、2,3の処理は非同期処理にて実装しました。
ボタンを押すたびに画面ごとリロードするのは、ダメだな、ってことで。

システム構成

このサービスを運用するのに、できるだけお金かけたくないなぁっと思って色々検討した結果GCP(Google Cloud Platform)を使うことにしました。
最小のVMならタダっぽかったんで。

あとは、データベースをどうするか考えたんですが、使ったことないけど「Datastore」にしました。
エンティティはたった1つだけです(笑)

  • Chips
    • プレイヤー4人の名前
    • プレイヤー4人のチップ数
    • キーとなるID
    • 作成日

GCPの要素は以下です。

  • GAE
    • Python
      • Flask
  • Datastore

以上!
初めてGAE、Datastore使ってみましたが、ドキュメント読みながらでなんとかなるもんですねー。
いやー、時代は進んでますね(笑)

詳しいことは、ソースを見てもらったほうが早いと思うので、Githubのリンクを張っておきます。

今後の展望

  1. リファクタリング
    2. 急いで作ったので、コピペが多い
    3. ループですっきりする箇所がいくつもある
  2. 試合結果のOCR
    5. 試合結果の点数が画像であるので、それをOCRしてテキストにしたい
    って感じですー。

最後に

今、苦しく厳しい状況ですが、大なり小なり、ITのチカラで課題を自分なりに解決していけたらいいなぁ、って思っています。
自分ができることを考えて、世の中に発信していきたいと思います。

チップくん、よかったら使ってみてくださいねー!(^o^)/
ステイホームだけど、楽しく過ごしていただける一助になれば幸いです。

ではでは。

2021/06/09

チップ君が生まれ変わりました!!

以前のものは、良かれと思って作り込んだもの実際は使いづらかった。。。。

なので、一気にシンプルに作り直しました!!
よかったら使ってみた下さい!

目玉機能は

チップのやりとり履歴が見れる!!

です。
chip01.PNG

chip02.PNG

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?