プログラマの雑談部屋 ★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