X



コンソールでモノポリー制作 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001モノポリーおじさん
垢版 |
2017/05/22(月) 19:37:34.17ID:RA05eG8p
言語 python2.7

一人だとモチベーションも持ちません
&ソースコードの評価を受ける目的も有ります

制作期間はスレッド作成より、2ヶ月です

目標はコンソールを中心に完成させ、最後にGUIグラフィックの描画を行います
アルゴリズム、実行時間などの計算は考慮しません

ROM専用の人も参加しない人も宜しくです
0005モノポリーおじさん
垢版 |
2017/05/22(月) 21:02:22.63ID:RA05eG8p
今日のファイル
http://fast-uploader.com/file/7051009652705/


全てをグローバル変数と関数にするか?
全体の連動は、どのように実装するのか?
マップ、料金、マップ名、マップ情報

移動した場所のMAP情報を返すのは明日考えてみます

ユーザー入力はしない方向で、最後に実装できたら良いなと思います。
SQLの利用 今の所は使わない です
テスト形式、保守性など、未定
0007雪風 モノポリーおじさん
垢版 |
2017/05/22(月) 22:31:48.76ID:RA05eG8p
いえ、雪風なんですけど?
34歳じゃなくて、44歳 職歴なしの無職です
(そろそろ45〜46だけど……)

一年ちょっと前の>>1です
プログラミングできる人 来て(ヽ゚д)クレ [無断転載禁止]©2ch.net
プログラミングできる人 来て(ヽ゚д)クレ  U [無断転載禁止]©2ch.net

過去の失態(失敗)よりも
ソースコードの評価を貰いたいんですけど?
0008モノポリーおじさん
垢版 |
2017/05/22(月) 22:42:32.96ID:RA05eG8p
現在のコード
https://ideone.com/lAfabj

オブジェクト指向がイマイチ分からない状態です(使い方とか)


一周後の移動処理をどうしたら良いのか迷ってます
その他、物件の購入や止まった時の処理も穴だらけです。
0009名前は開発中のものです。
垢版 |
2017/05/22(月) 23:51:14.27ID:GBmBxQqV
Pythonは全然わからんけどいくつか疑問がある

ユーザー入力をさせる気がないのはなぜか
サイコロの処理はただの変数でいいところでリストを使ってるのはなぜか
無職なのはなぜか
0010モノポリーおじさん
垢版 |
2017/05/23(火) 00:17:07.57ID:brJ2HtJC
ユーザー入力は最後に実装するつもりで、移動できたら可としてます
結果的に数値を返した居るので、余り変わらないかと思ってます
(考えて無かったのが本音です)

サイコロの数値をリスト化してる理由
数値を纏めて放り込んで、ユーザーの合計移動数に変化をなくしたいと思ってます

無職なのは勘弁して下さい
44〜46年間、高校出て就活に失敗して引き篭もり
今では引き篭もりも治り、近所を散歩しています。

遅すぎてるのは否定しませんが、……。
アニメ見てゲームして過ごしてました。

アフェなど挑戦しましたが、失敗して今に至ります
0011名前は開発中のものです。
垢版 |
2017/05/23(火) 06:23:37.22ID:aNWq4eFq
まず「たのしいRuby 第5版、2016」を3回読む。
これで、プログラミングの基礎ができるから、その後、

「みんなのPython 第4版、2017」を読む

まあ、初心者には、Rubyを勧める。
Rubyの方が、Pythonよりも簡単だから
0012モノポリーおじさん
垢版 |
2017/05/23(火) 06:41:02.29ID:brJ2HtJC
あっ、そう言うのホントいいんで……。
おじさん、DXruby触った事あるんで……。
0013名前は開発中のものです。
垢版 |
2017/05/23(火) 07:57:54.45ID:X3EosBDn
>>8 しか見てないのとこっちもド素人なんで余り言える立場じゃないけど
最低限 if __name__ == '__main__': と def main():位は書いた方がいいと思う
大昔のBASICじゃないんだから
サイコロ?や最後のprint の部分も関数にしようよ
あと python monopoly code で検索したら幾つか見つかるけどそういうのは見た?
0014モノポリーおじさん
垢版 |
2017/05/23(火) 08:24:20.98ID:brJ2HtJC
見ました。

結論
まったく、理解できない  =  制作進行と同時に参考にして学習しようかと思いまして

調べた限りでは
if __name__ == '__main__': と def main(): は
ファイルが自分自身なら実行せよと言う命令なので、書かなくても良いかも?
サーバー環境では無いので、ファイルが混合する事も無いかと……。

設計自体を行う能力は無いので、継ぎ接ぎだらけでも2割程度の完成度で動けば
良いかなと思ってます
https://ideone.com/XPXlL3

取り敢えず、作って後から修正しようかと……プロでは無いので
辞書や連想配列は使わない方向で行きたいと思ってます
以前に連番キーの取り出しや変数名の扱いで、制御(管理)できなくなり、解りやすい様に配列に入れようと決めました。

指摘が有った、サイコロを修正しました
12面ダイス→6面ダイス*2個
関数に纏めてみました。→関数名は決定では有りません
0015名前は開発中のものです。
垢版 |
2017/05/23(火) 08:34:34.19ID:aNWq4eFq
モノポリーはイベントの種類が多く、
何かが3つ揃ったら、イベントが起こるなど、初心者が作るには、難しすぎる。
開発に数年は掛かるから、もっと単純なゲームを作れ

プレイヤークラスには、現在の金額を持たせる。
盤面のマス目のクラスには、増減される金額を持たせる

ひとまず、これだけにする
0016モノポリーおじさん
垢版 |
2017/05/23(火) 08:37:22.69ID:brJ2HtJC
移動→移動に適したマップ情報→所有者が居なければ購入or買わない→次のユーザー
所有者情報の読み込み→購入処理or支払い→次のユーザー
誰が止まったのか? 誰が所有している物件か? 所有者が居るなら 所有者が居ないなら
所持金は足りるのか? 足り無い場合どうするのか? 

当面の目標
強制移動→強制購入or支払い→所持金がマイナスでも続行→周回+200
→同じ物件に止まったら強制増築→ループ→一定回数で止める
もしくは、マイナスが一定以上なら終了


既に土地の所有者情報を読み込む時点で詰みそうです。
いま、躓いてます。
0018モノポリーおじさん
垢版 |
2017/05/23(火) 08:45:49.04ID:brJ2HtJC
雑談
オライリーの本読むと、何でもできる気になるけど、案外
そうでも無かったorz _| ̄|○

暫く、書き込みは有りません

その他
アドバイスなど歓迎です
特に理由が無かったら、このスレッドで終了です
0019名前は開発中のものです。
垢版 |
2017/05/23(火) 09:44:09.01ID:aNWq4eFq
モノポリーは考える事が多すぎて、難しすぎる。
単純な双六ゲームでも、作れば?

100マスあって、最後まで行けば終了

プレイヤークラスには、現在の金額を持たせる。
盤面のマス目のクラスには、増減される金額を持たせる

マス目に止まれば、プレイヤーの金額を増減するだけ
0020名前は開発中のものです。
垢版 |
2017/05/23(火) 10:46:02.78ID:i9Ol0cpg
入札とか交渉の駆け引き部分の落とし込みも難しそうだな
そもそも何故モノポリーを選んだのか、なに需要?
0021名前は開発中のものです。
垢版 |
2017/05/23(火) 11:07:47.08ID:aNWq4eFq
モノポリーは麻雀に近い。
所持金額を見ながら、どのグループを揃えるか?

さらに難しいのは、
同じグループのカードが3枚必要で、相手ともカード交換する

すべての相手との交換の組み合わせは、無数に考えられる
0022モノポリーおじさん
垢版 |
2017/05/23(火) 12:12:22.44ID:brJ2HtJC
交渉機能の実装は1ヶ月後でも難しいですね

モノポリーを選んだ理由
こどもの頃、スーパーファミコンのモノポリー2が大好きでした。
それだけ、です。(敷居は高過ぎるとも思ってますが継続)

>>19
おかげさまで、進んだ場所を返す方法が分かりました
ありがとうです(数値の上限は検討中です)
https://ideone.com/IPwyoV
0023名前は開発中のものです。
垢版 |
2017/05/23(火) 12:15:08.61ID:X3EosBDn
>>14
>サーバー環境では無いので、ファイルが混合する事も無いかと……。

そうじゃない。mainを書くのはプログラムがどこから実行されるかを明確にするのと
mainに処理の大まかな処理の概要、ゲームなら初期化処理呼出,メインループ呼出,終了処理呼出なんかを書いて
一目でプログラムの骨格が分かるようにするため
俺もだけどド素人の書くリストなんて只で汚いのにこんな書き方してたんじゃ1000行位で自分でも読めなくなるぞ

>設計自体を行う能力は無いので、

なら永久に0割の完成度だぞ
みんな最初はできないとこからスタートなんだから能力無いとか言わず少しづつでもやってみたら?
まずはイベントやらなんやら余計な事を考えずに
・プレイヤ毎にボードのどのマスに居るかを覚えておく位置変数(マス目の数だけ)を定義
・サイコロ振って出目の数だけプレイヤの位置変数に加算して(マス目の上限チェックもする)、
・プレイヤの位置変数の値を使ってボード(配列でも何でもいい)から情報を引っ張ってきて表示する
・上の3つをループで回せるようにする
くらいのところから始めたほうがいい。今の状態だとそれでもあなたにはきついかも知れない
0024名前は開発中のものです。
垢版 |
2017/05/23(火) 12:20:26.07ID:X3EosBDn
あ、ごめん
今の書き込みで位置変数(マス目の数だけ)とか変な事書いたけど
値の範囲って意味ね。配列用意しろって事じゃないよ
0025モノポリーおじさん
垢版 |
2017/05/23(火) 12:33:15.78ID:brJ2HtJC
移動場所は[力任せ法]
硬貨の交換は[貪欲法]
とか、今読んでる本に書いてありますね。

文字列を格納するためにのデータ構造は、
ハッシュ法、二分探査木、、トライ、三分探査木のいずれかのデータ構造が
利用(使えるとか、なんとか)できる
0026名前は開発中のものです。
垢版 |
2017/05/23(火) 12:39:53.11ID:X3EosBDn
なんの本読んでるか知らんがそれはそれだけで勉強しとけ
今作ろうとしてるのにどうやって入れ込もうとか考えるな
頭ごちゃごちゃになって何も出来なくなるぞ
0027名前は開発中のものです。
垢版 |
2017/05/23(火) 13:05:24.06ID:aNWq4eFq
>>22
>交渉機能の実装は1ヶ月後でも難しいですね
3桁違う。10年掛かる

まず、どういうカード交換をすれば得なのか、
という評価関数を作らないといけないから

漏れも大戦略の戦術AIを考えているけど、10年掛かっても分からない。
将棋AIでも、それぐらい掛かる
0028モノポリーおじさん
垢版 |
2017/05/23(火) 13:08:36.40ID:brJ2HtJC
(モチベーションアップの)完成目標
http://fast-uploader.com/file/7051067796482/

マップサイズが670*670px(画面サイズはもっと大きくなります)
誰か移動処理が解る方は居ますか?
  縦と横を分割して考えるとか何とか

GUIは新C DXライブラリのサイトを参考に進めてます
0029名前は開発中のものです。
垢版 |
2017/05/23(火) 16:23:08.96ID:6QQZckxa
その移動処理とやらは>>1の頭のなかにしか無いので
具体的にどういうものか説明がないと何とも言えない
……たぶん四角く並んだマスの上をぐるぐるまわる処理のことなんだろうけども
0031名前は開発中のものです。
垢版 |
2017/05/23(火) 18:37:47.14ID:X3EosBDn
>>1が釣りでなきゃ俺と同世代なんで何か力になれればと思ってたんだけど
ガン無視でお絵かきとかされてて悲しい・・・
ま、いいや >>23で書いたのをリストに書いてみたよ http://ideone.com/FJy3Mw
ideoneはランタイムエラー出てるけどpython2.7.12 xubuntuの端末とWinのIDLE(GUI)では
エラーは出なかったんで適当に直して試してみて 3系しか使わないんでよくわからん
マの人から見たら酷いリストなんだろうけど
もう書き込みはせずにたまに覗きに来る程度にするわ、頑張ってな
0034モノポリーおじさん
垢版 |
2017/05/23(火) 21:24:16.68ID:brJ2HtJC
笑わないで聞いて欲しいです。
久々に本読んだりしたので、知恵熱が出ました。

熱もある程度、下がったので書き込みます。
0035モノポリーおじさん
垢版 |
2017/05/23(火) 21:54:11.72ID:brJ2HtJC
申し訳ないのですが、ソースコードよりも日本語でお願いします

ゾロ目なら、もぅ一回サイコロを振る

など、
詳しければ詳しいほどありがたいです。


サンプルの提供は感謝しております
0037名前は開発中のものです。
垢版 |
2017/05/24(水) 00:38:18.58ID:LYpbxDUE
>>35
書き込まないって言った舌の根が乾かない内に書いてて恥ずかしいんだけどこれだけ
あのリストは只決まった回数サイコロを振ってマスを移動するだけのものです
タプルの定義部分を除けば十数行の関数が2~3個なので是非調べて理解出来る様になって下さい
動作の追加は処理毎に関数を考えてメインループかプレイヤーのplay関数に追加していけば出来るんじゃないかな
あれを手本にしろなんて絶対言わないけど最低限あれを読める程度には習熟しないとあなたの作りたいプログラムなんて書けないと思うよ
あと今からやるならPython3の方がいいと思う 文字の扱いの2より楽だし
どうも命令口調らしかったんで柔らかめに書いてみたつもりだけど
うるさく感じるのは治せないんで勘弁してくれw
もう書かないので後は頑張ってね
0039名前は開発中のものです。
垢版 |
2017/05/24(水) 16:02:12.37ID:YtKLXb55
この板、適当にガイジ構って遊びたいだけのやつ多すぎない?

>>1
本読んだって理解できないし応用するだけの力が無いんだからどうしようもない
それはレス見てりゃはっきり解る
本格的に手遅れにならないうちにハロワ行け
普通に就職はできなくてもA型作業所くらいならいけるだろ
0045名前は開発中のものです。
垢版 |
2017/05/25(木) 19:37:51.64ID:r1tlq4vp
44歳無職設定で同じくらいのマですらないアドバイスおじさん釣るって
誰得なんだよw
0049名前は開発中のものです。
垢版 |
2017/05/30(火) 02:59:46.33ID:VkHcOB1c
ソースコードを書く前に、もっとモノポリーを研究したらどうかな。
SFC版のプレイ経験しかない程度の知識では、お話にならないよ。

まずは、ボードゲーム版を買って、進行役とプレイヤー役を一人で決着がつくまで回してみるといい。
その時、各役割のターンを意識しながら、写真などで経過記録しておくと完璧。
0053名前は開発中のものです。
垢版 |
2017/12/31(日) 19:40:41.93ID:/rN76OKL
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

M8W98L9SEB
0054名前は開発中のものです。
垢版 |
2018/02/17(土) 07:50:34.37ID:G/oBdhuK
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況