2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

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 ★