電子書籍の厳選無料作品が豊富!

友達3人とリモートで麻雀するようなソフトを、python で作りたいのですが、何から始めればいいでしょう?
python プログラミング歴は長いですが、リモートで他の PC とコミュニケートするようなことは全くやったことがないので、まずはそのあたりをどうやればできるか、アドバイスをいただければ幸いです。
どうぞよろしくお願いします。

A 回答 (3件)

> 僕の質問の後半部分に対して「自分で勉強してください、あるいは他の誰かに作ってもらってください」と言ってるのと同じように感じました。



現段階ではそうなります。
ネットワーク通信は、その方式毎に具体的なやり方が違います。
解説が書籍になるくらいの分量があり、とてもここに書けませんし、書くつもりもありません。

ネットワーク通信は
・送信 = ファイルへの書き込み
・受信 = ファイルからの読み込み
と考えれば、それほど難しくはありません。
ただ、ネットワークの性質上、ファイルとは違っている部分を考慮する必要があります(通信エラー、通信速度など)


> それ以上に、どのようなことをまとめるのを意図していらっしゃるのか、よくわかりませんでした

あなた自身がお書きの
↓のような内容をまとめましょう。
> サーバとしてどのような選択肢があるか
> それぞれの選択肢について、どのような機能を持たせることができるか
> クライアントからサーバにどのように情報を発信するか
> サーバ・クライアントの機能について、どこまで python でできるか
> python でできない部分について、どのような言語を使うべきで、python とどのようにコミュニケートできるか

これらを決めるのは、設計者であるあなたです。

決めるための判断材料になるのは、ゲーム自体の仕様です。
それもまとめましょう。

例えば。
> チー、ポン、ロンなどの処理
「ポン」とは何か?どんな処理の流れになるのか?
→ 他者が牌を捨てる→自分の非公開の牌2つと合わせたら刻子ができるか判断する→「ポン」をするかしないか決める→するなら「ポン」と宣言→ポンしたら牌の後処理→自分の手番
 では「他者が牌を捨てる」とは?
 それぞれの箇所で、それを処理するのはサーバー/クライアント?通信するならその内容は?
    • good
    • 0
この回答へのお礼

ご返信をどうもありがとうございました。

お礼日時:2022/01/02 17:30

「リモート麻雀ソフト」とはどんなことができて、どんなことをやらないソフトなのかをまとめること。


それができたら、上記の「できること」の具体的な内容について吟味すること。
さらに吟味して....
と繰り返し、プログラムに必要な機能を抽出して、それをするためにはどうすればいいかを考える。
現在技術力不足なら、その点について勉強する(または、技術のある人に外注する)



プロがシステムを作るときにどうしているか、は「開発プロセス」「開発フロー」といったキーワードで探してみるとよいでしょう。
アマチュアが全てやる必要はありませんが、どうすればいいかの指針にはなるでしょう
    • good
    • 0
この回答へのお礼

ご回答をどうもありがとうございます。
いただいたご回答を受けて、いろいろ考えてみました。

>「リモート麻雀ソフト」とはどんなことができて、
> どんなことをやらないソフトなのかをまとめること。

早い話、PC同士で牌の情報の交換や、チー、ポン、ロンなどの処理ができればいいのではないでしょうか。
それ以上に、どのようなことをまとめるのを意図していらっしゃるのか、よくわかりませんでした。

> それができたら、上記の「できること」の具体的な内容について
> 吟味すること。
> さらに吟味して....
> と繰り返し、プログラムに必要な機能を抽出して、
> それをするためにはどうすればいいかを考える。

質問に書きましたように、プログラミング歴は長いので、ひとつのPCで閉じるようなことは大体できます。
結局PC間のコミュニケーションのことが問題になるわけで、「技術力不足なら、その点について勉強する(または、技術のある人に外注する)」というお言葉は結局、僕の質問の後半部分に対して「自分で勉強してください、あるいは他の誰かに作ってもらってください」と言ってるのと同じように感じました。

「開発プロセス」「開発フロー」も検索しましたが、結局上の点が問題になります。
要件定義>基本設計>詳細設計の順番で開発を進めていくそうですが、

サーバとしてどのような選択肢があるか

それぞれの選択肢について、どのような機能を持たせることができるか

クライアントからサーバにどのように情報を発信するか

サーバ・クライアントの機能について、どこまで python でできるか

python でできない部分について、どのような言語を使うべきで、python とどのようにコミュニケートできるか

。。。などの情報がないと、設計なんてできないと思います。

お礼日時:2021/12/27 13:31

面子を揃える

    • good
    • 0
この回答へのお礼

揃ってなくとも、開発はできますが。

お礼日時:2021/12/22 18:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!