[過去ログ] 【まず1嫁】くだすれPython(超初心者用) その59 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
990
(2): 勉強スレ誤爆より質問スレに移動 [sage] 2024/08/31(土) 13:26:42.65 ID:fwQH707u(1/4) AAS
関数やクラスにインデックスの指す中身の値でなく“インデックス指定”を渡したいのですがうまく出来ません
こんな場合どういうような考え方があるのでしょう(タプルでインデックス数字を渡す?)

# [[0,0,0,0,0],[[0,0,0,0,0]]
alist = [[0]*5]*2

# 値ではなく箱の位置を意図してるが…
hako = alist[0][3]

def change(b):
b = 3
return

change(hako)

print(alist) # 全部0のまま

change(alist[0][4])

print(alist) # こちらも全部0

実際にはrpgゲームの様々のステートやフラグやそのセーブを管理するクラスに
alist[6][15](王さまと喋ったとか)を1にするといった仕事をさせたいと試行錯誤しています
喋る関数、戦う関数やクラスのとこから発生しだいリストを直で操作すればいいのだけど
State.change(インデックス, 1)みたく一元的にやりたいとクラスを作ってきています
目的で位置の固定されたフラグなのでメニューを開いているかState.menu(1)、State.kingtalked(1)などとしその先のクラスの関数で位置を決め撃ちするのが良いのかななどと困って考えています
991: 勉強スレ誤爆より質問スレに移動 [sage] 2024/08/31(土) 14:58:41.77 ID:fwQH707u(2/4) AAS
設計からおかしいと思ったので質問は取り下げます

ロールプレイングゲームでゲーム状態(シナリオ進捗やパーティーのステータス状態やカーソル位置まで状態の復元可能)の情報は
どう作り、ゲーム中に持つのか、どこからリードやライトするのかについて混乱しています
ステータスマネージャーのようなクラスにこれ記録しといてと各所から投げればいいのかなと考えてるのが今で
逆に難しくなってしまってる、参考に出来そうなpython製ののrpgを見つけられていません
993: デフォルトの名無しさん [sage] 2024/08/31(土) 16:31:20.69 ID:fwQH707u(3/4) AAS
ありがとう
クラス使い始めてみたばかりで継承など使ってないレベルなので意図の読み取りがあれですが
書いてくれた雰囲気はなんとなく理解しました
例えばシナリオ進捗や済みイベントのフラグ、世界が滅亡するまでの残り時間などの進捗データを保持させるカテゴリーなクラス
アイテムやそのソート順選択状態や現在カーソル位置などを保持させるアイテムGUIデータなカテゴリーのクラス
それらから収集しまとめて保持していてセーブで書きだし、ロード時に各所へセットしてから再開する統合クラス
ラベルで管理とは、辞書型だったりあるいは投げ込むクラス内のステータスごとに対応する関数で配置場所を固定して分けたらいいのかなと…頭が限界ですゆっくり考えてみます
996: デフォルトの名無しさん [sage] 2024/08/31(土) 20:12:52.72 ID:fwQH707u(4/4) AAS
>>995
995(1): デフォルトの名無しさん [] 2024/08/31(土) 19:54:44.30 ID:E1cdB3xT(1) AAS
>>990
>>777
>alist = [[0]*5]*2
これやると詰む
しばらくなぜだろうと考え込んだ(もう1つのスレの方の指摘とあわせ)
…思い出した、要素のidが同じになって連動しまうんだっけたしかに挙動に困ったことある
もう一回この手の宣言について調べなおし学習しますどうも
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.037s