24/08/26 20:38:35.96 TfC/Wz7r.net
横からだけど
おまえは完璧なコードを書きすぎる
と言われた事がある・・・
難しい部分を任されたことが無いってのもあるけど
その部分の動画もあるのかな
995:デフォルトの名無しさん
24/08/26 20:59:37.19 694qjtkr.net
レビューがめっちゃ桜臭いな
星3以下だと一気に評判落ちるので発売直後の星5が大事
996:デフォルトの名無しさん
24/08/27 00:42:37.95 jPnUMQmz.net
設計通りに実装していないやつが多すぎる
997:デフォルトの名無しさん
24/08/27 14:12:58.86 oHcafaf7.net
これ教えてくらはい
解く過程もお願いします
URLリンク(i.imgur.com)
998:デフォルトの名無しさん
24/08/27 14:13:20.99 oHcafaf7.net
(S)でshortだからSの上のRは無いのと一緒
6Ωと3Ωの並列の合成抵抗は2Ω
12Vかかってるから6A
999:デフォルトの名無しさん
24/08/27 14:13:37.32 oHcafaf7.net
答えは燃えるだよ
0A
1000:デフォルトの名無しさん
24/08/27 14:14:03.15 oHcafaf7.net
どっちが正しい?
1001:デフォルトの名無しさん
24/08/30 20:00:23.54 /S3k+zaQ.net
SQLAlchemy気に入った
おかげでpythonから離れそうにない
1002:勉強スレ誤爆より質問スレに移動
24/08/31 13:26:42.65 fwQH707u.net
関数やクラスにインデックスの指す中身の値でなく“インデックス指定”を渡したいのですがうまく出来ません
こんな場合どういうような考え方があるのでしょう(タプルでインデックス数字を渡す?)
# [[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)などとしその先のクラスの関数で位置を決め撃ちするのが良いのかななどと困って考えています
1003:勉強スレ誤爆より質問スレに移動
24/08/31 14:58:41.77 fwQH707u.net
設計からおかしいと思ったので質問は取り下げます
ロールプレイングゲームでゲーム状態(シナリオ進捗やパーティーのステータス状態やカーソル位置まで状態の復元可能)の情報は
どう作り、ゲーム中に持つのか、どこからリードやライトするのかについて混乱しています
ステータスマネージャーのようなクラスにこれ記録しといてと各所から投げればいいのかなと考えてるのが今で
逆に難しくなってしまってる、参考に出来そうなpython製ののrpgを見つけられていません
1004:デフォルトの名無しさん
24/08/31 15:42:25.61 Q7p5BAl/.net
ゲームプログラムの構造自体に悩んでるように見える
個々のパラメータはカテゴリごとにクラス化して
それらを保持するゲームカーネルクラスを考えてみては?
セーブ・ロードの時は所属クラスを識別可能なラベルを付けて
カーネルが各クラスに分配・収集する
もちろんカーネルは分散構造でもいい
1005:デフォルトの名無しさん
24/08/31 16:31:20.69 fwQH707u.net
ありがとう
クラス使い始めてみたばかりで継承など使ってないレベルなので意図の読み取りがあれですが
書いてくれた雰囲気はなんとなく理解しました
例えばシナリオ進捗や済みイベントのフラグ、世界が滅亡するまでの残り時間などの進捗データを保持させるカテゴリーなクラス
アイテムやそのソート順選択状態や現在カーソル位置などを保持させるアイテムGUIデータなカテゴリーのクラス
それらから収集しまとめて保持していてセーブで書きだし、ロード時に各所へセットしてから再開する統合クラス
ラベルで管理とは、辞書型だったりあるいは投げ込むクラス内のステータスごとに対応する関数で配置場所を固定して分けたらいいのかなと…頭が限界ですゆっくり考えてみます
1006:デフォルトの名無しさん
24/08/31 17:12:20.07 Q7p5BAl/.net
画面や入力は別のクラスにして
入力クラス→カーネルへのAPI
カーネル→画面クラスへのAPI
に分離した方が見通しよくなると思う
1007:デフォルトの名無しさん
24/08/31 19:54:44.30 E1cdB3xT.net
>>990
>>777
>alist = [[0]*5]*2
これやると詰む
1008:デフォルトの名無しさん
24/08/31 20:12:52.72 fwQH707u.net
>>995
しばらくなぜだろうと考え込んだ(もう1つのスレの方の指摘とあわせ)
…思い出した、要素のidが同じになって連動しまうんだっけたしかに挙動に困ったことある
もう一回この手の宣言について調べなおし学習しますどうも
1009:デフォルトの名無しさん
24/09/01 14:38:13.87 MnUgJTxK.net
元レスの主張をそのままリスペクトすると
ctypes の POINTER が超お薦め
1010:デフォルトの名無しさん
24/09/01 15:14:54.96 MnUgJTxK.net
>>990
URLリンク(paiza.io)
import ctypes
def a(p):
p.contents.value = 3
x = [[ctypes.c_uint32(j * 3 + i + 1) for i in range(3)] for j in range(3)]
print(x)
a(ctypes.pointer(x[1][1]))
print(x)
# [[c_uint(1), c_uint(2), c_uint(3)], [c_uint(4), c_uint(5), c_uint(6)], [c_uint(7), c_uint(8), c_uint(9)]]
# [[c_uint(1), c_uint(2), c_uint(3)], [c_uint(4), c_uint(3), c_uint(6)], [c_uint(7), c_uint(8), c_uint(9)]]
1011:デフォルトの名無しさん
24/09/01 19:02:55.77 tGCM6k6e.net
>>997
ありがとう
最終的には教えてもらった辞書型でうまく意図した役割をつなぐことに成功しました
「Pythonでゲーム作りますが何か?」というハテナのblogを参考にクラスというもの主体の作り方に触れ
そこのgithubのpython3ソースを見たりしながらタイルチップrpgでないadv寄りな自分のものにあてはめているところでした
ある程度のとこで連載は終わっていて残念、実践的ですごく参考になりました
1012:デフォルトの名無しさん
24/09/01 20:02:05.87 tGCM6k6e.net
次スレ
【まず1嫁】くだすれPython(超初心者用) その60
スレリンク(tech板)
スレ立てがNGRockにかかるためテンプレの一部変えました
1013:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 416日 1時間 13分 25秒
1014:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています