【悲報】ガ●ジプログラマワイ、辞書の辞書の辞書の辞書という型の変数を宣言する

1 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:06:33.468 ID:4b6ze9vC0
不思議のダンジョンみたいなゲームでこういう状況になっとる
型表記は Dictionary<int, Dictionary<int, Dictionary<int, Dictionary<int, object>>>> と何とも壮観に仕上がった😤

レス1番の画像サムネイル

2 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:07:14.462 ID:flQxjQmTp
すげえ!!!!
3 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:07:36.453 ID:4b6ze9vC0
天才の可能性も微レ存か?😤
4 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:07:52.222 ID:4q+V0z5z0
四次元構造ってわけか
5 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:08:07.060 ID:bK7/uaIxr
Python?
流石にネストしすぎ
7 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:09:09.382 ID:4b6ze9vC0
>>5
C#
他のやり方教えてクレメンス😭
6 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:08:20.329 ID:7P1rRP14r
柔軟な発想
9 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:09:29.498 ID:4b6ze9vC0
>>6
むしろこれ以外に何も思い浮かばなかったんや
8 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:09:10.928 ID:L+qiEfxp0
猛虎弁きっしょ4ねゴミ
10 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:10:09.288 ID:+PzLVVsQ0
Keyを一つのクラスにするとか?
あんまわからんけど
13 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:11:57.277 ID:4b6ze9vC0
>>10
辞書から取り出すときはxy座標の値を用いるため、クラスにすると辞書による高速化が効かなくなる
16 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:14:03.646 ID:+PzLVVsQ0
>>13
HashCode与えてキーにすれば問題なくない?
25 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:18:25.643 ID:4b6ze9vC0
>>16
HashCodeってポインタ的なことか?

座標値を全て1つのクラスにまとめてそのクラスをキーにしたとして、じゃあ(2、2)と(2、3)を格納しているクラスをどうやって見つけるのかというと、結局クラスの中の値一つ一つと比較していって一致するものを探すことになるから遅いんや

31 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:20:07.731 ID:m14f3FmG0
>>25
イミュータブルって知ってるか?
35 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:22:08.851 ID:4b6ze9vC0
>>31
ガ●ジだから分からない😭
11 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:10:13.045 ID:croUu9Wg0
高速化という意味では正しい
複雑だけど効率的
ただ、他の奴には解読不可
あと半年後のお前でも解読不可
14 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:13:10.613 ID:4b6ze9vC0
>>11
速度重視ならやっぱりこれしかないんか😭
17 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:14:36.480 ID:croUu9Wg0
>>14
せやで
わかりやすい作りはほかでも出来るけど
速さを求めるならこれが楽
26 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:18:37.462 ID:4b6ze9vC0
>>17
あざっす
23 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:17:43.036 ID:croUu9Wg0
>>14
ちょい速度落ちるけど特定するために連結文字を作って特定したら?
それだと辞書クラスは1つで済む
ただ、何か1つユニーク性の文字列を選ぶ必要があるけど、個人的にはいつも$使ってたわ
key1$key2$key3$・・・
みたいなのだとkeyを無限に作れる
34 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:21:07.554 ID:4b6ze9vC0
>>23
なるほど
新しい知見を得た
サンガツ
12 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:11:23.160 ID:m14f3FmG0
設計おかしいぞそれ
15 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:13:29.775 ID:4b6ze9vC0
>>12
マ?助けてクレメンス😭
27 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:18:40.862 ID:m14f3FmG0
>>15
そもそも何に使うのこれ
本当にキー4つ要る?
高速化っていうならそれこそ1つに纏めればよくね?
30 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:19:25.954 ID:croUu9Wg0
>>27
1つにまとめた上で後の分解する方が処理的には遅くなる
ループさせるよりはマシだけど
18 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:14:44.774 ID:uciisTRtM
C言語から始めたやつはこういうコード書きやすい
確かに速度は出るけど、可読性考えるなら、クラスを1つずつ設計しろ
20 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:15:57.622 ID:croUu9Wg0
>>18
1人でしか作らないプログラムに可読性いらんやろ
プロジェクトで作ってるならともかく
19 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:15:12.192 ID:+DEzBfu5d
速度重視にする必要性は?
可読性の方が重要なような
28 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:19:15.934 ID:4b6ze9vC0
>>19
ワイのゲーム割とFPSカツカツなんや😭
21 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:16:15.398 ID:GKzLlmBU0
座標の上下左右って考え方じゃいかんのか
33 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:20:45.022 ID:4b6ze9vC0
>>21
(2、2)と(2、3)の境界は
(2、2)と(2、3)の値のどちらからも取得できるようにしたいからそれは無理や
22 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:17:24.490 ID:bK7/uaIxr
高速化としては正しいのか
c♯知らんけど
array{
x1,
x2,
y1,
y2 }
みたいなのはだめ?
24 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:18:19.012 ID:croUu9Wg0
>>22
それだとかなり遅い
特定ができない
特定するためにループする必要あるやろ
辞書はループなしに一気に飛べる
29 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:19:16.930 ID:+DEzBfu5d
というか辞書型でキー指定で引っ張ってくるってそんな速いの?
32 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:20:38.003 ID:croUu9Wg0
>>29
そら配列の中身を直接指定できるからね
もし仮に100万の配列の中からある文字列が入っているものを特定する場合と、ハッシュによる指定だと平均的に後者が圧倒的に早くなる
アルゴリズム学では当たり前の話やで
39 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:24:36.335 ID:+DEzBfu5d
>>32
いや探索するのは文字列じゃなくて整数じゃん
辞書型使う方法だと毎回探索する必要があるような
36 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:22:48.598 ID:Y27VIYaT0
String key=x1+”,”+y1+“,”+x2“,”+y2
にすればキー一つで済むで
intをStringに変換するのが汚い気がするが…
37 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:23:26.823 ID:4b6ze9vC0
>>36
上でもそれ言ってる人おったな
それは思いつかんかったわ
38 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:24:13.438 ID:croUu9Wg0
>>37
チェイン法でぐぐるんやな
この考え方をさらに高度化したものがチェイン法なんや
41 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:25:35.964 ID:4b6ze9vC0
>>38
調べて見るわ
サンガツ
40 名前:匿名のゴリラ 投稿日時:2020/02/09(日) 12:25:22.371 ID:m14f3FmG0
まって
座標直接指定なら配列でいいと思うが?
状態が4つあるの?
辞書が早いのは分かるが座標をキーにしてるのが意味わからん
混乱してきた

コメント一覧

タイトルとURLをコピーしました