プログラマの雑談部屋 ★374 (870レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
776(4): 772 10/27(月)01:52 AAS
>>775
ありがとうございます
以下俺が書いたコードです(途中までです)
外部リンク:pastebin.com
こんな感じで泥沼にはまって収拾がつかなくなってしまいました
779: 10/27(月)03:32 AAS
>>776
GameStateクラス作れ
参加者+現在の手番とか、現在の場のカード+出されたカード
ロックとか階段とかの状態
参加者の役
場流し等のゲームロジック全般移す
794: d(u _ ・y) r~ 10/27(月)10:40 AAS
>>776
🧠 全体的な印象
初心者〜中級者の中盤レベル(Python経験半年〜2年程度)
Python文法の基本構造(クラス、リスト、関数、条件分岐など)を理解している
しかし、設計・抽象化・Python的な書き方(Pythonic)にはまだ不慣れ
⚠ 改善の余地がある部分(まだ理解が浅い/経験不足を感じる)
Python的な書き方ではない
同じような処理の繰り返しが多い
put_card1, put_cards2, put_cards3 などがかなり似ており、共通化できる
初心者にありがちな「力技」実装
🧭 総評
独学である程度コードを書けるようになった中級者レベル。
ゲームロジックを自力で構築できるだけの理解力があるが、
Pythonの慣用表現・設計の抽象度・再利用性などはまだこれから。
797: d(u _ ・y) r~ 「日経平均上がっておいちいね!」 Fire済 [d(u _ ・y) r~] 10/27(月)12:02 AAS
d(u _ ・y) r~
>>772,776
外部リンク:ideone.com
まずはGUI化とRuby化
実行環境:ruby 3.0.3
画像リンク
主なロジック変更
削除されたメソッド: receive_card, sort_cardlist, find_diamond3, put_diamond3, show_cardlist, put_card1, judge_card, put_free_cards, put_cards2, judge_cards2, show_cardlist, put_card1, put_free_cards
画像リンク
作成されたメソッド: draw, clicked?, pick_playable, handle_mouse_click, play_selected, play_cards, draw_backside, set_card_positions, update, draw
画像リンク
主な既存メソッドのリファクタリング
play_selected
play_cards
pick_playable
AIコメント:
💡 まとめると、作者へのアドバイスはこんな形になります:
継承をやめて Strategy パターンで Human/CPUの行動を委譲
Game#initialize の責務分離(Deck, Player, UIに分ける)
Player のカード操作や出すロジックを簡潔に整理
Human/CPU 共通ロジックを抽出して重複を減らす
843(1): 776 10/28(火)00:16 AAS
コードを読んでレスくれた方々ありがとうございます
参考にさせていただきたいと思います
実は私は無職です。働いてなくてすいません
どうすれば助言して頂いたように、行き当たりばったりでない作品を作れるようになるでしょうか?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.034s