ふらっと C#,C♯,C#(初心者用) Part159

■ このスレッドは過去ログ倉庫に格納されています
2023/08/08(火) 09:21:19.30ID:aeM2XQJJ0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part158
https://mevius.5ch.net/test/read.cgi/tech/1679783460/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
http://www.visualstudio.com/downloads/
■情報源
https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://learn.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
++C++; // 未確認飛行 C
https://ufcpp.net/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2023/09/29(金) 07:13:40.48ID:4IudvC8QM
解析が目的ならリバースエンジニアリング
229デフォルトの名無しさん (ワッチョイ 0794-oBwi)
垢版 |
2023/09/29(金) 07:35:41.02ID:R/ASBcAr0
リバースエンジニアリングは、マシン語になった実行ファイルやROMから逆アセンブルなどを用いて命令コードに変換して処理内容を読み取る技術だろ
ソースコード自体があるなら単に読めばいいだけ
230デフォルトの名無しさん (ワッチョイ 0794-oBwi)
垢版 |
2023/09/29(金) 07:37:22.59ID:R/ASBcAr0
スクリプト?
ああ、スクリプト言語で書かれているのか
それならスクリプト自体を幾ら読んでも分からないよw
実際に動作を定義してるのはスクリプトエンジン側だからなぁ
231デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
垢版 |
2023/09/29(金) 08:13:03.19ID:2i5v5Rt90
ゲームのスクリプト読んでも、分かるのはそのゲームのストーリーくらいかなぁ?
2023/09/29(金) 08:53:29.85ID:HVJlKrO3r
>>227
その目的と
>他人のコードを読むという行為は「分解」なのでしょうか?
という質問は何か関係あるの?
2023/09/29(金) 08:58:03.08ID:Z2hlTA8C0
>>229
逆アセはリバースエンジニアリングの過程の処理のひとつで
ソースコード読み解いて動作を解析することもリバースエンジニアリングよ
234デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
垢版 |
2023/09/29(金) 09:11:19.11ID:2i5v5Rt90
ソースコード自体にもう内容書かれてんのにリバースエンジニアリングとはw
2023/09/29(金) 09:23:35.81ID:XHcVYCVKM
例えばシェルスクリプトならそのまま読むだけですべて動作を理解できる
一方でゲームスクリプトはゲームエンジンの動作を解析しないと理解は難しい
2023/09/29(金) 09:28:49.63ID:dgWEZ4BHM
もっとも利用するだけなら使い方を理解するだけで中身を理解する必要はない
2023/09/29(金) 09:49:19.43ID:Zsgx8btV0
>>227
ゲーム「用」とは?
238デフォルトの名無しさん (ワッチョイ 0a02-4KCz)
垢版 |
2023/09/29(金) 10:17:17.30ID:LLT8Nv/70
単に読んでるだけでわかりにくにならデバッグ実行して動作とコードの関係を把握しながら読むと理解しやすい
途中で変数の値の確認や変更もやると確証がもてる
239デフォルトの名無しさん (ワッチョイ 6ab0-/va4)
垢版 |
2023/09/29(金) 13:16:35.37ID:sbQ57Iwc0
>>237
https://gist.github.com/baba-s/e4da98f6fce2b6cca36b0cf3bb91f9d0
これが倉庫番のコードなのですが、全て1つのスクリプトに書かれています
これが分かりづらいので、分割、分解して理解を深めたいです

>>232
自分でゲームを作りたいので、分解してロジックを理解したいです
他人のコードを読み解く能力が上達には必須と考えました
240デフォルトの名無しさん (スフッ Sdaa-TrDt)
垢版 |
2023/09/29(金) 13:26:47.91ID:y68JSf5Yd
>>239
この規模だと分割したらさらに判らなくなるだけだと思う
2023/09/29(金) 13:30:08.99ID:F5ALDY7d0
>>239
Unityの知識は大丈夫なの?
242デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
垢版 |
2023/09/29(金) 13:34:09.53ID:2i5v5Rt90
スクリプト?
2023/09/29(金) 13:45:18.92ID:jReLA3HcM
40年前ぐらい小学生のころに雑誌に載ってた倉庫番打ち込んだな
おそらく7~8ページ程度だったけど2週間ぐらいかかった
ロジックはほとんどなくドット絵のデータがメイン
そんな思いをしなくても遊べる今は恵まれてるなと思う

打ち込んでは実行してタイプミス潰し
倉庫番はリアルタイム性などない単純なパズルだから打ち込んでると嫌でも仕組みはわかった
何しろ状態を持ってない
全部マップデータ通りで単純明快

多分コード読んでるだけじゃ理解は深まらない
自分の見たい部分しか見ないから
コード打ち込むと全部舐めなければならない
そのうえで改変して挙動を確かめる
2023/09/29(金) 14:04:01.36ID:jReLA3HcM
大体2~3本似たようなプログラムを打ち込むと
仕組みが大体頭に入る

やってることは非常に単純
小学生にも理解出来る
そして普通に自分でも書ける

多分何百本分のコードを読んでも理解度は低いと思う
2023/09/29(金) 14:14:09.16ID:jReLA3HcM
そのころはコードにコメントなどもちろんなくインターネットもなく
下手するとマニュアルもなかった

でも数本打ち込むと大体わかった
英単語も読めない小学生にもわかるんだから誰にでも理解できると思う
2023/09/29(金) 14:14:32.11ID:2UiM+hiU0
>>239
>他人のコードを読むという行為は「分解」なのでしょうか?
これはノー
「分解」はあくまでもコードを読み解くためのテクニックの1つ
2023/09/29(金) 14:17:39.88ID:iWuHjGCu0
>>239
スクリプトって書いたら意味が通じない
(ソースコードを記述した)ファイルもしくはソースファイル
2023/09/29(金) 14:23:02.71ID:jReLA3HcM
>>247
unityではc#スクリプトと呼んでる
2023/09/29(金) 14:30:40.47ID:jReLA3HcM
英語を読む・聞き取る・話す は分かりやすく別の学習をしないといけない

コードを読めても書けなければ意味がない
理解したいならコードを書いた方がいい
250デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
垢版 |
2023/09/29(金) 14:34:27.27ID:2i5v5Rt90
>>248
ああ、そう言う位置付けなのか
文字通りスクリプトなんだろうなぁ
ビルドしないで直接動かすんだろ?
2023/09/29(金) 14:36:55.26ID:jReLA3HcM
それとコードを読むのは非常に高度な技術だから

初心者がコードだけ読もうとしても
おそらく思ったような成果はあげれれない
252デフォルトの名無しさん (ササクッテロラ Sp23-oBwi)
垢版 |
2023/09/29(金) 14:39:11.07ID:ty79BRMgp
ゲームの細かい動きの部分だけスクリプトで書いてるみたいな感じだと全体を理解するの難しいかもね
2023/09/29(金) 14:40:02.98ID:AtqL2tKZd
隙あらば長文自分語り
2023/09/29(金) 15:00:48.68ID:jReLA3HcM
倉庫番自体のロジックは非常に単純
オセロより簡単ともいえる

キャラが空白のところへ動かせるようにつくる
移動先に荷物があってその先が空白ならキャラと荷物が動く
そのあと終わってるかどうか判定するだけ
2023/09/29(金) 15:06:10.15ID:kab4oOZl0
じゃあフラッピーは?
256デフォルトの名無しさん (ワッチョイ de7b-/va4)
垢版 |
2023/09/29(金) 15:37:41.47ID:3lAWIYxj0
>>239
こういうのこそChatGPTの使いどころでは?
2023/09/29(金) 15:39:08.46ID:tU9ZFt65H
ここみれば?
ttps://baba-s.はてなblog.com/entry/2018/03/30/085000
2023/09/29(金) 15:41:33.40ID:tU9ZFt65H
はてな英字表記がNGワードだった

作者が全部解説してるのにこっち見ないで完成形のソースだけ見てなにをどう理解したいのかわからない
259デフォルトの名無しさん (ワッチョイ 869b-lrL5)
垢版 |
2023/09/29(金) 15:56:47.20ID:C71JBRro0
>>239
うだうだ人に聞いてるお前には無理だと思う
2023/09/29(金) 16:10:41.00ID:DNLFnh+Cd
>>225にしても>>203にしても質問がヘタというか的外れというか
それ聞いてどうするの?言葉の定義を確認して何になるの?って感じが

コードのここの意味が解りません、とかの具体的な質問の方がよっぽどマシ
2023/09/29(金) 17:31:51.45ID:jReLA3HcM
初心者相手に罵倒しても心が汚れるだけ

上のコードはあまり関心出来ない部分もある
そのせいで分かりにくい箇所が若干ある
2023/09/29(金) 17:42:07.96ID:DNLFnh+Cd
罵倒、苦言、批判の区別は付いてるかな?
2023/09/29(金) 17:44:14.21ID:Z2hlTA8C0
>>234
逆アセで生成されたコードも、アセンブラの"ソースコード"だぞ?w
2023/09/29(金) 17:58:40.51ID:QaI2pK3GM
ワッチョイ 6ab0-/va4
ネチネチとしつこいだけでダメな奴の典型例
265デフォルトの名無しさん (ワッチョイ 0744-oBwi)
垢版 |
2023/09/29(金) 17:58:57.69ID:R/ASBcAr0
>>263
意味不明w
2023/09/29(金) 17:59:37.91ID:Z2hlTA8C0
意味がわからんなら勉強しといでw
267デフォルトの名無しさん (ワッチョイ 6ab0-/va4)
垢版 |
2023/09/29(金) 18:01:17.51ID:sbQ57Iwc0
質問者です
確かに何が分からないのか言語化出来ないかもしれません

丸投げ質問にならないようにもう少しもがきます
ぼんやりした事を言うと、分からない部分は処理の流れですかね。
2023/09/29(金) 18:13:34.27ID:omi/Go5l0
フレームワークから呼び出されるだけの存在だよ
2023/09/29(金) 18:30:54.80ID:DNLFnh+Cd
Unity詳しくないけど必要に応じてSokobanクラスの各メソッドが呼び出される仕組みじゃないのこれ?
処理の流れってのがそのUnityが仕切ってる部分のことを言ってるなら
このクラスをいくら眺めても理解できなさそうだけども
2023/09/29(金) 18:41:16.70ID:KGst9XPnM
Unityから呼び出されるメソッドは初期設定のStartと更新処理のUpdateの2つ
毎回呼び出されるのは後者なのでそこから追いかけていけばいい
2023/09/29(金) 18:51:42.76ID:DNLFnh+Cd
なるほど、たしかにコメントにもそう書いてある
もっとあれこれ呼ばれるのかと思ったら意外にシンプル
てことは>>267が分からないって言ってる「処理の流れ」はクラスの中の話の可能性が高い?
であればコードを読み進めてここで詰まったとか具体的な情報が欲しいところ
2023/09/29(金) 18:57:11.74ID:jReLA3HcM
実際にコードを見てその印象なら初心者と変わりない
2023/09/29(金) 19:18:05.29ID:KklayHMNd
なんか因縁つけられた
274デフォルトの名無しさん (ブーイモ MMef-VO9t)
垢版 |
2023/09/29(金) 22:00:42.65ID:WQUdW1Y0M
こんだけみっちりコメント書いてあって、メソッドも分かれてるから、後は気合だけのような…
2023/09/29(金) 22:31:46.59ID:KklayHMNd
あとは自分の今の知識・理解度に見合ってるかどうかかね
他スレでもたまに明らかに分不相応なお題に取り組もうとしてる人を見かける
2023/09/29(金) 22:37:09.95ID:qnLQZNNU0
基本素養が足りてない人に限って、Webの情報を断片的に拾い読みするだけで済まそうとする…
2,3千円をケチらずにちゃんとした入門書を買うべきやろな
2023/09/30(土) 00:58:15.11ID:tFuDf2bYM
千里の道も一歩からと言うけど100m先のコンビニへもまず一歩踏み出さないと到達しない
プログラムでバグが出るのは当たり前でそれを潰すのは経験を積むしかない
コードを読むだけではそこらへんは無理
文法が分かったとして実際に書かないと理解は深まらない

見てもわからないなら紙にでも書き出して考えることもできる
小学生のころは配列の内容を方眼紙とかに書いてプログラムを再現して理解しようとしてた
それがいつの間にか脳内ですべて完結するようになった
期待通りにならなくても結果を見て経験からこうだろうなと見当を付けられるようになった

小学生より賢いはずなんだからなにか手立てはあるだろう
2023/09/30(土) 03:26:23.71ID:qC94828iM
実際にUnityを使っていて一度でも空のプロジェクトを作ったことがあれば>>270程度のことは直ぐに分かる
中身が空のスケルトンコードがそのまま作られるのでUnityと言うゲームエンジンのフレームワークの基本構造が見えてくる
コードを読む前にまず手を動かして見なければ気付けないことも多い
279デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/09/30(土) 06:13:30.76ID:lCW6xIVF0
>>277
倉庫番のコードを書くようにしますが、その場合は他人のコードを完璧に真似るつもりでやったほうがいいですか?自己流でやっていたことが良くないと気づいたので。他人のやり方まで取り込むのが上達への近道かなと思ってます
280デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/09/30(土) 06:20:57.56ID:lCW6xIVF0
他人のコードを理解する、読み解く上でのやり方が確立されていない感じです
2023/09/30(土) 06:40:22.13ID:EIBJTlDv0
読み解き方が確立されてるかされてないか以前の問題のような……
2023/09/30(土) 08:57:55.29ID:1LHvsOST0
基礎が身についてないのにやみくもに書き写したところで書く能力が身につくわけないじゃん
自分語りの詐欺的商法に騙されるなよ
ちょっと考えればわかるだろ

キミに必要なのは公式チュートリアルと入門書
2023/09/30(土) 09:50:03.07ID:tFuDf2bYM
40年ぐらい前の小学3年生よりあなたは賢いのかどうかと言う問題
現状スキルレベルでは負けている
環境では勝っている
2023/09/30(土) 10:00:47.45ID:RNKSTVVAd
>>280
小難しい理屈はどうでもいいから、>>239のソースを読んでて分からないところを具体的に質問しよう
質問が具体的な方がこちらも質問者のレベルを推し量れるしアドバイスもしやすい
285デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/09/30(土) 10:21:02.95ID:lCW6xIVF0
>>284
手を動かさないと何が分からないかも、分からないという状態から脱せないでしょうか?
2023/09/30(土) 10:27:45.96ID:tFuDf2bYM
入門したてはタイピングが苦痛だった
一文字ずつキーボードとにらめっこ
p r i n t と一文字ずつ探してやっと一行を入れ終わる
そして実行

自分が今一行入力した分だけ画面が変わったりする
今書いたコードはこういうことなんだと分かる
それが体験で経験

誰がどのように入力しても結果は同じ
2023/09/30(土) 10:29:22.27ID:tFuDf2bYM
そのころコードを読んでも絶対意味なんて判らない
手を動かして実行
これ以外上達の方法はない
2023/09/30(土) 10:38:44.22ID:RNKSTVVAd
>>285
初歩的なところから聞くけどこのソースを実行できる環境はちゃんとある?
実際に動かしてみた?
289デフォルトの名無しさん (アウアウウー Sa89-5C2y)
垢版 |
2023/09/30(土) 10:44:33.67ID:+WV6fTrGa
>>252
東京パソコンクラブのノリだな
2023/09/30(土) 10:49:18.06ID:tFuDf2bYM
英単語なんか知らないから一文字ずつアルファベットを暗唱しながらタイプしていく
呪文を打ち込んでいく
一行入力も辛いので途中で実行して進展を見る
入力したコードの理解が深まる
そうして小さな成功体験を積み重ねる

そのうち前に入力したのと同じような内容が出てくる
今度は実行しなくても結果がわかる
実行してみて違うなら違いを探す

こうして一歩ずつ進む

コードを読んだりコメントを読むだけだとこういうのが失われて分かった気にだけなる
実際にコードを書けないし着想もできない
291デフォルトの名無しさん (アウアウウー Sa89-5C2y)
垢版 |
2023/09/30(土) 11:04:04.96ID:+WV6fTrGa
>>285 は手が動いても頭が動かないタイプと観た
2023/09/30(土) 13:07:46.30ID:Xbo2Ry+C0
それ、逆じゃないのかな。
手を動かす前にうだうだ考えるウチに投げ出すタイプというか。

なにも考えずにとりあえずコードを打ち込んでみて、動かしてみればいいじゃない。
そしてその動くプログラムのコードを書いているときや後から眺めたときに「こうした方がいいんじゃない?」って思ったところを何度でも直して、また動かしてみる、と。

実際、自分がやるのもそれに近いところがなくもないし。
分からないところをネットで調べてコピペして動かして、足りないところや考慮すべきところを直し加えてってのを何回かやったりやらなかったり。
293デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/09/30(土) 14:30:45.31ID:lCW6xIVF0
>>288
unityで動かしております
>>290
やはり手を動かします
>>284
では質問させてもらいます
gptに聞いたのですが、良くわかりませんでした

https://gist.github.com/baba-s/e4da98f6fce2b6cca36b0cf3bb91f9d0
TileTypeという列挙型があり、tiletype型を使用してtilelist変数を宣言しているのが分からないです。
普通、インデックスにアクセスする場合は整数型を使うと思うんですが。

やはり、基礎が出来てないなと
2023/09/30(土) 14:47:09.79ID:jRqEkae9M
例えばデバッガーでマップの配列の中を確認する場合、無味乾燥な整数で状態表示されるより列挙変数で表示された方が分かりやすいだろ
プレイヤー視点ではなく開発者視点で分かりやすくしているだけ
2023/09/30(土) 15:02:25.67ID:RNKSTVVAd
>>293
>普通、インデックスにアクセスする場合は整数型を使うと思うんですが。
インデックスってのはtileList[x, y]のxとyのこと
この場合もxとyは整数型でしょ
インデックス「に」って表現してるけど何かと勘違いしてる?
2023/09/30(土) 15:10:09.10ID:RNKSTVVAd
で、tileListは配列要素の型がTileType列挙型なわけだけど、その理由は>>294も書いてるように可読性や保守性のため
2023/09/30(土) 15:27:57.46ID:tFuDf2bYM
抽象的な話じゃない説明

例えば数値で壁を1で荷物を3とかにすると…
コード内で1とか3の数字が出てくるがそれが何なのか覚えてないとわからない
データの種類が100種類とかあると管理だけで大変

それを改善する場合に数字じゃなくて文字で '壁' とか'荷'とか'人'とかにもできる

でもこの場合も問題がある

気まぐれで壁や荷物を赤い壁と青い壁、赤い荷物と青い荷物などにしたくなった場合にどうするか?
別に色情報持つとか考えなくてはならない
それだったらTypeでRedWallとかにしたほうがいい

更に後でRedWallをやめたくなった場合にはenumからRedWallを削る
そうするとIDEにエラー表示が出て修正箇所がわかる
これが数字だと修正を自力で探して頑張るしかない
298デフォルトの名無しさん (ワッチョイ 9b0c-RAiU)
垢版 |
2023/09/30(土) 16:04:48.60ID:fUSk+kCE0
>>293
ウザイことこの上ない
まずは入門書を買って読め
2023/09/30(土) 16:20:33.29ID:kuFk0VAS0
勘違いしてそうなので基本的なことから書くと
int[3]は[0, 0, 0]のように各要素がint型で長さ3の1次元配列を示す型
string[3]は[“a”, ”bb”, “ccd”]のように各要素がstring型で長さ3の1次元配列を示す型
TileType[3]は[TileType.NONE, TileType.PLAYER, TileType.GROUND]のように各要素がTileType型で長さ3の1次元配列を示す型

var tiles = new TileType[3]{TileType.NONE, TileType.PLAYER, TileType.GROUND};
if (tiles[0] == TileType.PLAYER) do_something;
のような使い方をする

TileType[10, 10]は各要素がTileType型で10×10の2次元配列を示す型
2023/09/30(土) 16:43:41.11ID:rxNaOE9c0
可読性の高いRuby で、3目並べが並んだかどうかの判定だけでも、こんなに書く。
ましてや他言語は可読性も低いし、他人のコードなど読めるわけがない!

他人のコードを読むことを勧めるような香具師は嘘。
100行の内、5行ぐらいしか読んでいない

input_ary = [ ["x","","", "x","","", "o","o","o"],
["o","","x", "","o","x", "","o","x"],
["x","o","o", "","x","", "o","","x"],
["x","","o", "x","o","", "o","",""],
["o","x","o", "","x","", "","o","x"] ]

def check_win( board_ary )
puts "-" * 40

diag_ary = Array.new( 3 ) # 斜め
diag_ary[ 0 ] = board_ary[ 0 ]
diag_ary[ 1 ] = board_ary[ 4 ]
diag_ary[ 2 ] = board_ary[ 8 ]
return true if diag_ary.all? { |cell| cell == "o" } ||
diag_ary.all? { |cell| cell == "x" }

diag_ary[ 0 ] = board_ary[ 2 ]
# diag_ary[ 1 ] = board_ary[ 4 ]
diag_ary[ 2 ] = board_ary[ 6 ]
return true if diag_ary.all? { |cell| cell == "o" } ||
diag_ary.all? { |cell| cell == "x" }

次へ続く
2023/09/30(土) 16:44:26.02ID:rxNaOE9c0
前の続き

p outer_ary = board_ary.each_slice( 3 ).to_a # 3×3 の配列
outer_ary.each do |inner_ary|
p inner_ary
return true if inner_ary.all? { |cell| cell == "o" } ||
inner_ary.all? { |cell| cell == "x" }
end

puts "転置後"
p outer_ary2 = outer_ary.transpose # 転置
outer_ary2.each do |inner_ary|
p inner_ary
return true if inner_ary.all? { |cell| cell == "o" } ||
inner_ary.all? { |cell| cell == "x" }
end

false
end

res = input_ary.map { |ary| check_win( ary ) }
puts "-" * 40
p res #=> [true, true, true, true, false]
2023/09/30(土) 16:56:49.16ID:rxNaOE9c0
仕様から、コードは書けるが、
コードから仕様を推測するのは、10倍以上難しい

他人のコードを読むと、膨大な時間の無駄で、
自作していないから身につかない

3目並べとか、じゃんけんとか、素数判定とか、
簡単な所から自作すべき!

解説が無いような、他人のコードを絶対に読んではならない!
膨大な時間の無駄
303デフォルトの名無しさん (ワンミングク MMa3-E1cW)
垢版 |
2023/09/30(土) 18:10:18.46ID:Ag7bGIUIM
しつこい馬鹿のせいでrubyキチガイまで出てきた
2023/09/30(土) 18:43:08.79ID:UMbhW8aD0
昔々BASICインタプリタと横スクロールゲーを全てレポート用紙に逆アセンブルして分析したのはメチャ役に立った
初心者が(簡単な)ゲームの分析、理解することは役立つこと多いと思うよ
305デフォルトの名無しさん (ワンミングク MMa3-AwC8)
垢版 |
2023/09/30(土) 20:59:11.77ID:U9V2qVkaM
人に聞きまくるだけの奴には無理だぞ
方法論以前の問題
306デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/10/01(日) 10:33:20.05ID:5ao4WmOt0
>>294
回答どうも
理解が悪いです

列挙型って数字でもあるんですか?
それぞれの文字列にインデックスがあると。
2023/10/01(日) 10:43:13.42ID:Zy/Xpldc0
列挙型、配列、インデックス
根本的にこのへんが正しく理解できてないな
>>299の言ってること理解できる?
分からないならどこが分からないな質問する
2023/10/01(日) 12:21:46.44ID:o8cy9tiS0
https://wikiwiki.jp/postmodern/
2023/10/01(日) 12:27:48.25ID:jo3dkEigM
>>306
配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない
https://i.imgur.com/iA3fRKM.png
2023/10/01(日) 12:27:59.76ID:jo3dkEigM
>>306
配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない
https://i.imgur.com/iA3fRKM.png
2023/10/01(日) 12:28:36.05ID:9rYgJ/eZ0
>>306
配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない
https://i.imgur.com/iA3fRKM.png
2023/10/01(日) 12:28:44.44ID:9rYgJ/eZ0
>>306
配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない
https://i.imgur.com/iA3fRKM.png
2023/10/01(日) 12:31:41.14ID:OrY06J6zM
ネットの調子が悪い
連投スマソ
314デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/10/01(日) 12:44:57.25ID:Je269Bs00
>>307
ありがとうございます
https://baba-s.はてなぶろぐ.com/entry/2018/03/30/085000
tileList = new TileType[ columns, rows ];
の部分でtiletype型には定数の文字列が入ると思っていましたが、整数値であるcolumnsとrowsを代入しているあたりが分からないです。
何らかの文字列の定数が入ると考えていますた
2023/10/01(日) 13:26:19.97ID:jNjNNZOq0
>>314
君はそもそも配列宣言の記法、意味が分かってない
まず↓あたりをじっくり読んで、サンプルコードも実際に動かして理解して欲しい
https://ufcpp.net/study/csharp/st_array.html

そしてハッキリ言うけど今の段階で倉庫番のコードを理解しようとしても基礎が出来てないから無理
316デフォルトの名無しさん (ワッチョイ 9b9b-RAiU)
垢版 |
2023/10/02(月) 02:06:24.20ID:NgblnbYV0
他人の助言には絶対に耳を傾けないタイプ
317デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/10/02(月) 06:20:59.94ID:TDDpdEaf0
>>315
必要なところだけやっていくやり方でやってますが、そういうやり方じゃ駄目なんですか?
配列宣言は分かっているんですが、型が違いますよね
>>316
聞きますが、全てではないです
318デフォルトの名無しさん (ワントンキン MMa3-E1cW)
垢版 |
2023/10/02(月) 07:26:58.07ID:lRooFwx4M
ダメだこいつ
2023/10/02(月) 07:50:32.09ID:eOR7lDrh0
>>314
>tileList = new TileType[ columns, rows ];
元ネタ見てないけど、↑を見てこう考えることができるように基礎知識、経験が必要
・tileListに画面の状態を格納するんだな
・二次元配列としてcolumns, rowsの数だけ確保と
・二次元配列に代入する値はTileType型ね(intとかのリテラル値でなくキチンと定義してるのか)
な感じ

>「tiletype型には定数の文字列が入ると思っていましたが」
ある程度予想しながらソースは読みますが、経験不足で予想外れるのはまだ仕方ない
>「整数値であるcolumnsとrowsを代入している」
代入はしていない。これから値を格納するための二次元配列を確保してるだけ

まだc#の記法がわかってない未熟なだけなので、何もかも貪欲に覚えて。
今やってることは無駄になることは何もない。間違えてても。頭と手をドンドン動かして吸収していくのだ
2023/10/02(月) 08:40:07.92ID:KRZkbw82M
>>317
この倉庫番のコードではマップのデータをcsv形式のテキストで設定してtileListという名の配列に格納している
格納する際に配列の要素はcsv内の整数データからTileTypeで定義された列挙型の変数に変換される
具体的な配列の中身を確認した結果が>>309
実際にコードを動かして見ればすぐ分かるだろ
2023/10/02(月) 08:40:23.40ID:KRZkbw82M
>>317
この倉庫番のコードではマップのデータをcsv形式のテキストで設定してtileListという名の配列に格納している
格納する際に配列の要素はcsv内の整数データからTileTypeで定義された列挙型の変数に変換される
具体的な配列の中身を確認した結果が>>309
実際にコードを動かして見ればすぐ分かるだろ
2023/10/02(月) 08:42:07.04ID:KRZkbw82M
何故かまた2回送信された
接続が不安定すぎるorz
2023/10/02(月) 08:56:34.32ID:Rca7jjjr0
最近の5chの問題だからいちいち気にしなくて良いぞい
2023/10/02(月) 09:26:07.11ID:lKJ+23Y70
>>317
配列宣言において型が違うことは重要じゃないよ
どんな型の配列だって作れるわけだから
それが分からないことこそが基礎ができてない証拠であって
君の言う「必要なところ」がやれてないということ
>>315のリンク先をきちんと理解すれば>>314
>tiletype型には定数の文字列が入ると思っていましたが、整数値であるcolumnsとrowsを代入しているあたりが分からないです。
>何らかの文字列の定数が入ると考えていますた
という疑問と想定が間違っていたことに気づく
まずそこから始めよう
2023/10/02(月) 09:31:44.43ID:ejm1uWXY0
自分が必要と思うところだけつまみ食いするのがタイパいいとでも思ってるんかねぇ
見当はずれなことやって結局無駄に時間を使うだけなのに
326デフォルトの名無しさん (ワッチョイ 9bc8-RAiU)
垢版 |
2023/10/02(月) 12:48:13.11ID:NgblnbYV0
批判は一切受付けません!のスタイル
そもそもこんなことに何日も掛けて進まない時点でこいつには無理
2023/10/02(月) 14:31:10.17ID:egrIJ/AE0
そろそろスルーしとけ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況