■ このスレッドは過去ログ倉庫に格納されています
【悲報】ガイジプログラマワイ、辞書の辞書の辞書の辞書という型の変数を宣言する
- 1 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:06:33.468 ID:4b6ze9vC0.net
- 不思議のダンジョンみたいなゲームでこういう状況になっとる
型表記は Dictionary<int, Dictionary<int, Dictionary<int, Dictionary<int, object>>>> と何とも壮観に仕上がった😤
https://i.imgur.com/IEQmVIi.png
- 2 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:07:14.462 ID:flQxjQmTp.net
- すげえ!!!!
- 3 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:07:36.453 ID:4b6ze9vC0.net
- 天才の可能性も微レ存か?😤
- 4 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:07:52.222 ID:4q+V0z5z0.net
- 四次元構造ってわけか
- 5 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:08:07.060 ID:bK7/uaIxr.net
- Python?
流石にネストしすぎ
- 6 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:08:20.329 ID:7P1rRP14r.net
- 柔軟な発想
- 7 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:09:09.382 ID:4b6ze9vC0.net
- >>5
C#
他のやり方教えてクレメンス😭
- 8 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:09:10.928 ID:L+qiEfxp0.net
- 猛虎弁きっしょ死ねゴミ
- 9 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:09:29.498 ID:4b6ze9vC0.net
- >>6
むしろこれ以外に何も思い浮かばなかったんや
- 10 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:10:09.288 ID:+PzLVVsQ0.net
- Keyを一つのクラスにするとか?
あんまわからんけど
- 11 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:10:13.045 ID:croUu9Wg0.net
- 高速化という意味では正しい
複雑だけど効率的
ただ、他の奴には解読不可
あと半年後のお前でも解読不可
- 12 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:11:23.160 ID:m14f3FmG0.net
- 設計おかしいぞそれ
- 13 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:11:57.277 ID:4b6ze9vC0.net
- >>10
辞書から取り出すときはxy座標の値を用いるため、クラスにすると辞書による高速化が効かなくなる
- 14 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:13:10.613 ID:4b6ze9vC0.net
- >>11
速度重視ならやっぱりこれしかないんか😭
- 15 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:13:29.775 ID:4b6ze9vC0.net
- >>12
マ?助けてクレメンス😭
- 16 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:14:03.646 ID:+PzLVVsQ0.net
- >>13
HashCode与えてキーにすれば問題なくない?
- 17 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:14:36.480 ID:croUu9Wg0.net
- >>14
せやで
わかりやすい作りはほかでも出来るけど
速さを求めるならこれが楽
- 18 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:14:44.774 ID:uciisTRtM.net
- C言語から始めたやつはこういうコード書きやすい
確かに速度は出るけど、可読性考えるなら、クラスを1つずつ設計しろ
- 19 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:15:12.192 ID:+DEzBfu5d.net
- 速度重視にする必要性は?
可読性の方が重要なような
- 20 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:15:57.622 ID:croUu9Wg0.net
- >>18
1人でしか作らないプログラムに可読性いらんやろ
プロジェクトで作ってるならともかく
- 21 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:16:15.398 ID:GKzLlmBU0.net
- 座標の上下左右って考え方じゃいかんのか
- 22 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:17:24.490 ID:bK7/uaIxr.net
- 高速化としては正しいのか
c♯知らんけど
array{
x1,
x2,
y1,
y2 }
みたいなのはだめ?
- 23 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:17:43.036 ID:croUu9Wg0.net
- >>14
ちょい速度落ちるけど特定するために連結文字を作って特定したら?
それだと辞書クラスは1つで済む
ただ、何か1つユニーク性の文字列を選ぶ必要があるけど、個人的にはいつも$使ってたわ
key1$key2$key3$・・・
みたいなのだとkeyを無限に作れる
- 24 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:18:19.012 ID:croUu9Wg0.net
- >>22
それだとかなり遅い
特定ができない
特定するためにループする必要あるやろ
辞書はループなしに一気に飛べる
- 25 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:18:25.643 ID:4b6ze9vC0.net
- >>16
HashCodeってポインタ的なことか?
座標値を全て1つのクラスにまとめてそのクラスをキーにしたとして、じゃあ(2、2)と(2、3)を格納しているクラスをどうやって見つけるのかというと、結局クラスの中の値一つ一つと比較していって一致するものを探すことになるから遅いんや
- 26 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:18:37.462 ID:4b6ze9vC0.net
- >>17
あざっす
- 27 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:18:40.862 ID:m14f3FmG0.net
- >>15
そもそも何に使うのこれ
本当にキー4つ要る?
高速化っていうならそれこそ1つに纏めればよくね?
- 28 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:19:15.934 ID:4b6ze9vC0.net
- >>19
ワイのゲーム割とFPSカツカツなんや😭
- 29 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:19:16.930 ID:+DEzBfu5d.net
- というか辞書型でキー指定で引っ張ってくるってそんな速いの?
- 30 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:19:25 ID:croUu9Wg0.net
- >>27
1つにまとめた上で後の分解する方が処理的には遅くなる
ループさせるよりはマシだけど
- 31 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:20:07 ID:m14f3FmG0.net
- >>25
イミュータブルって知ってるか?
- 32 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:20:38 ID:croUu9Wg0.net
- >>29
そら配列の中身を直接指定できるからね
もし仮に100万の配列の中からある文字列が入っているものを特定する場合と、ハッシュによる指定だと平均的に後者が圧倒的に早くなる
アルゴリズム学では当たり前の話やで
- 33 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:20:45 ID:4b6ze9vC0.net
- >>21
(2、2)と(2、3)の境界は
(2、2)と(2、3)の値のどちらからも取得できるようにしたいからそれは無理や
- 34 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:21:07 ID:4b6ze9vC0.net
- >>23
なるほど
新しい知見を得た
サンガツ
- 35 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:22:08 ID:4b6ze9vC0.net
- >>31
ガイジだから分からない😭
- 36 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:22:48 ID:Y27VIYaT0.net
- String key=x1+”,”+y1+“,”+x2“,”+y2
にすればキー一つで済むで
intをStringに変換するのが汚い気がするが…
- 37 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:23:26 ID:4b6ze9vC0.net
- >>36
上でもそれ言ってる人おったな
それは思いつかんかったわ
- 38 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:24:13 ID:croUu9Wg0.net
- >>37
チェイン法でぐぐるんやな
この考え方をさらに高度化したものがチェイン法なんや
- 39 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:24:36 ID:+DEzBfu5d.net
- >>32
いや探索するのは文字列じゃなくて整数じゃん
辞書型使う方法だと毎回探索する必要があるような
- 40 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:25:22 ID:m14f3FmG0.net
- まって
座標直接指定なら配列でいいと思うが?
状態が4つあるの?
辞書が早いのは分かるが座標をキーにしてるのが意味わからん
混乱してきた
- 41 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:25:35 ID:4b6ze9vC0.net
- >>38
調べて見るわ
サンガツ
- 42 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:25:47 ID:locuCj89p.net
- 高校の数学で縦と横の通った道の並び順って習ったで
(縦、縦、横、横、縦)
でイッチの場所になるんやないか?
- 43 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:26:41 ID:4b6ze9vC0.net
- >>40
object[][][][]ってことか
それもいけるやん!
- 44 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:27:03 ID:croUu9Wg0.net
- >>39
整数でも一緒
もし、昇順や降順で格納されておらずバラバラだった場合は
ソート→探索アルゴリズム使うことになるけどソートの時点で遅い
ソートしなかったら文字列探索と同じレベルで遅い
ハッシュなら計算量は変わらない
学生だとハッシュ使わんよなぁ
- 45 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:28:03 ID:/Nd1Dobm0.net
- とりあえず巣で死ね
- 46 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:28:06 ID:bK7/uaIxr.net
- >>24
なるほど
- 47 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:28:32 ID:4b6ze9vC0.net
- >>45
ワイは生きたい!お前と一緒に!w
- 48 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:28:50 ID:9lmO3TKH0.net
- >>45
あ、この人話についていけなくて嫉妬してるw
- 49 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:29:16 ID:+DEzBfu5d.net
- >>44
いや配列使えばオーダ1では?みたいなこと言いたかった
辞書型使ったやり方じゃ毎回オーダnlognやらlognやらかかるんじゃないかと
- 50 :エリシア ◆HIhBVllNl6 :2020/02/09(日) 12:30:16 ID:KUz8y47r0.net
- なんJで聞いてきて
- 51 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:30:19 ID:LNlwT6dT0.net
- 境界の数だけ入る配列を1つ作ればいいだけ
わかりやすくしたければ縦境界、横境界の2つ作るとか
それだけで無意味なネストは大幅に減る
- 52 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:31:52 ID:4b6ze9vC0.net
- >>50
4レス(内4つがワイのレス)で落ちた😭
- 53 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:32:23 ID:4b6ze9vC0.net
- >>42
なるほど
新鮮な目線やな
- 54 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:33:04 ID:4b6ze9vC0.net
- >>51
なるほど
勉強になるわ
- 55 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:33:43 ID:4b6ze9vC0.net
- お前らのレスを全部見た結果とりあえずobject[][][][]でいくことにするわ
vipは助かるンゴねぇ・・・ありがとナス!
ほいじゃ、まったのぅ〜〜〜イヤッ!
- 56 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:33:50 ID:utFUp5qu0.net
- STGで敵の数だけスレッド作りそうだなお前
- 57 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:39:01.886 ID:uciisTRtM.net
- 1次元で、キーの生成を工夫すれば良いな
4つのパラメータから唯一のキーを生成するだけ
- 58 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:41:21 ID:croUu9Wg0.net
- >>49
勘違いしてたわ
要素が整数だったらってことね
要素が判明してるならそうだね
逆を考えてたわ
- 59 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:42:30 ID:croUu9Wg0.net
- >>57
その欠点は見た目が美しくない
何かのバグで分解できない時に意味不明な文字列になる笑
- 60 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:45:44.337 ID:Y27VIYaT0.net
- 四次元配列は空間の大きさにもよるけど大丈夫かよ
1000×1000の空間のだったら
v[1000][1000][1000][1000]ってことだろ
objectのサイズ×1000000000000バイト必要になる
- 61 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:55:09.011 ID:4b6ze9vC0.net
- >>60
空間サイズは99*99や
objectはクラスのアドレス
99^4=91MB
これ大丈夫やろか
- 62 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:55:48 ID:2euODRvm0.net
- バカしかいなくてワロタ
- 63 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:57:52 ID:6+rOXCar0.net
- >>62
知恵貸して?彡(❤)(❤)
- 64 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 12:59:38.166 ID:2euODRvm0.net
- 辞書は遅い
配列使え
- 65 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:00:01.051 ID:uSxSFLUS0.net
- Dictionary<(int, int, int, int), object>
でおk
- 66 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:00:33.488 ID:2euODRvm0.net
- 辞書使いたいならキーをタプルにしろ
- 67 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:02:30.831 ID:uSxSFLUS0.net
- ちなみにobject[][][][]はゴミだぞ、次元ごとに別オブジェクト作るから>>1のとさほど変わんない
object[,,,]にしろ
- 68 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:04:24.491 ID:Y27VIYaT0.net
- >>61
それなら余裕
- 69 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:04:56.352 ID:6+rOXCar0.net
- >>65
>>66
unity c#はタプルが使える前のc#やから・・・
>>67
助かるで
- 70 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:05:07.613 ID:6+rOXCar0.net
- >>68
あざっす
- 71 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:05:47.314 ID:locuCj89p.net
- もしダンジョンの部屋移動した時のイベント格納するって使い方ならイベントある移動だけ>>36とかの方法で辞書のキーにしといてキー無しなら何も起きないでええんやん?
- 72 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:06:15.315 ID:uSxSFLUS0.net
- >>69
普通に使ってるぞ
お前が使ってるUnityバージョンが古すぎるだけじゃね?
- 73 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:07:17.094 ID:6+rOXCar0.net
- >>71
全座標について必要なんや
>>72
マ?更新するわ
- 74 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:09:34.166 ID:SnyYMrpT0.net
- 斜めは要らんの?
- 75 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:10:13.379 ID:6+rOXCar0.net
- >>74
いるで
- 76 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:11:16.928 ID:uSxSFLUS0.net
- >>73
もしかしたらプロジェクト設定とかで言語バージョン変えないといけない、とかはあるかもしれん
でもまあ4次元配列全部を埋めてなきゃいかんのなら、配列にしない理由がないな
- 77 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:11:17.638 ID:DxMAhEtRM.net
- 座標のプロパティに右辺とか下辺とか持たせるんじゃだめ?
- 78 :以下、?ちゃんねるからVIPがお送りします:2020/02/09(日) 13:12:02.285 ID:ag4XcmzZa.net
- そもそも何がしたいんだこれ
部屋の遷移とかなら座標の移動方法(8種類)ごとに
挙動の場合分けとかでいいでしょ
総レス数 78
17 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★