ふらっと 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/10/07(土) 19:32:40.93ID:Dbx341NqM
揚げ足取りじゃない
質問も訂正もおかしなことを書いてる
2023/10/07(土) 19:38:58.26ID:isyrDxYL0
C#でインターフェイスにフィールド(メンバ変数)を定義することはできないよ
なのでどういうのを想定しているのか回答者は全然分からない
用語を間違ってる可能性もあるからまずこういうコードというのを示してみたら
2023/10/07(土) 19:45:19.06ID:M9UZ8U5c0
>>361
発言がおかしいと感じたならそこを問いただせばいい
>>358は揚げ足取りでしかない
それともまさか本気で言ってる?
2023/10/07(土) 19:56:23.04ID:Dbx341NqM
ないものについて質問されてもないんだから答えようがない
それがまともな回答
2023/10/07(土) 20:01:14.99ID:M9UZ8U5c0
他の言語に触れてなくてクラス変数という用語自体を知らないのだろうか
2023/10/07(土) 20:02:30.94ID:Dbx341NqM
c#のinterface内でミューテクシオン宣言が使えないのはなぜですか?

回答
c#にミューテクシオン宣言と言うものはございません


これは揚げ足取りか?
2023/10/07(土) 20:05:04.36ID:M9UZ8U5c0
>>366
クラス変数という用語をご存知ですか?
イエスかノーでお答えください
2023/10/07(土) 20:06:57.65ID:Dbx341NqM
>>367
知らない
2023/10/07(土) 20:11:20.39ID:Dbx341NqM
誤植ですねについてああだこうだ言うのが揚げ足取り
イエスかノーかで答えてくださいに知らないと答えたのについてああだこうだ言うのが揚げ足取り

全然どうでもいいことにいちいち突っかかってくるID:M9UZ8U5c0が悪い
2023/10/07(土) 20:13:55.52ID:M9UZ8U5c0
>>368
これは失礼
他の言語の知識がなくてクラス変数自体を知らなかったのなら>>358の発言も仕方ない
ちなみにC#で言う静的メンバ変数に相当するものなので頭の隅に置いておこう
2023/10/07(土) 20:40:11.49ID:YtgTJ7v50
昔はできなかったがinterfaceにstatic memberを定義できるようになったんだよ
372デフォルトの名無しさん (ワッチョイ aea0-OOOs)
垢版 |
2023/10/07(土) 21:33:04.56ID:kQU1DN1N0
特に継承するわけでもないinterfaceの変数を使っていたので
staticでよくね?って思ったまでです。
2023/10/07(土) 21:41:19.16ID:kQU1DN1N0
>>362
メソッド以外定義できないんですか?普通にint xxx{get}みたいに変数定義してましたけど?
2023/10/07(土) 21:58:12.16ID:WiFpk8200
節子、それ変数やない、プロパティや
2023/10/07(土) 22:46:08.14ID:OKMBnv3y0
interfaceは実態まで定義できるようになって
これじゃ多重継承と何が違うんだろうね
2023/10/07(土) 23:10:34.30ID:Z0CAZWyi0
今や関数指向全盛じゃん
オブジェクト指向が諸悪の根源じゃねーーの
能力足りてないエンジニアばっかなんだから
2023/10/08(日) 01:41:02.74ID:G8JXzzlJ0
関数指向全盛って初めて聞いた
データとかあるんですか
2023/10/08(日) 02:27:58.84ID:4tUP3LVs0
>>376
まず構造化から学び直せ
2023/10/08(日) 07:23:28.50ID:dIUTdDjP0
>>376が関数嗜好なだけでは
2023/10/08(日) 19:57:18.08ID:7GYxqXei0
(1)オブジェクト指向プログラミング A. クラスの定義 B. オブジェクトの生成 C. カプセル化 D. 継承 E. ポリモーフィズム

(2)関数型プログラミング A. 高階関数 B. クロージャ C. ラムダ関数 D. ジェネレータ E. デコレータ
2023/10/08(日) 22:38:19.92ID:ICyLMX1g0
>>380
デコレータはどちらかというとOOP用語
関数型では単なる関数合成の一種なのでわざわざデコレータとは呼ばない
2023/10/08(日) 23:26:13.26ID:5JmMmKk30
で、それでYOLOXは動くんかい
2023/10/09(月) 00:47:00.57ID:N+sXw7NG0
Taskについて質問です。
階層構造データを再帰的に探索する処理を階層ごとにTask.Factory.StartNewで並列化させて作ってるのですが、
WinFormsのControl.Invokeのように、子タスク内から親タスクのコンテキスト上で実行させたい処理があります。
今は親タスクで作成したリストを追加するActionを子タスクに渡して、後で親タスクでリストから取り出して処理を行っていますが、
可能であればControl.Invokeのように、子タスクのコンテキストのタイミングで親タスクのコンテキストに明示的に移って実行したいと考えています。
これを実現する方法があれば教えてください。Invokeの仕組みを解説してるサイトもあったのですが、意図する方法は見つかりませんでした。
void parent_proc(Tree tree) {
var locker = new ReaderWriterLockSlim(); var datalist = new List<string>(); var tasklist = new List<Task>();
Action<string> adddata = (string d) => { //排他制御でデータをリストに追加
locker.EnterWriteLock(); datalist.Add(d); locker.ExitWriteLock(); };
foreach (var node in tree) {
if (node.child != null) {
var task = Task.Factory.StartNew(() => { child_proc(node.child, adddata); }, TaskCreationOptions.AttachedToParent);
tasklist.Add(task);
} else {
datalist.Add(node.data);
}
}
Task.WaitAll(tasklist.ToArray());
foreach (var data in datalist) { //今は親タスクのコンテキスト上で処理している
}
}

void child_proc(Tree tree, Action<string> adddata) {
foreach (var node in tree) {
if (node.child != null) {
Task.Factory.StartNew(() => { child_proc(node.child, datalist); }, TaskCreationOptions.AttachedToParent);
} else {
adddata(node.data); // このリスト追加処理を無くして、ここで親コンテキストに移って実行したい
}}}
2023/10/09(月) 10:33:03.03ID:iALOF4I2M
分かってると思うけど親コンテキストには移れない
親に処理を委譲してるだけ
人間と同じ

それなら親が適切なタイミングでリストを見て実行する様に書き換えるだけだろ
当然waitもawaitも出来ない
脳内でじっくり何をやるか順をシミュレートして考え直すしかない
2023/10/09(月) 11:18:08.46ID:N+sXw7NG0
>>384
ありがとうございます。
よくよく考えるとControl.Invokeにはメッセージループがあるので、
ワーカスレッドから渡されたdelegateを同期的に実行するタイミングがある事に気付きました。
今回の場合Task.WaitAllにタイムアウトを入れて、子タスクのデータを泥臭くポーリングすることで意図する事ができました。

while (!Task.WaitAll(tasks, 50)) { check(); } // check内で子タスクデータを処理
check(); // 全子タスクが完了した後残りデータがあれば処理

ウィンドウが無いケースでもExecutionContextで強引に実現できそうな記事も見つかりましたが、
やろうとしてる事に対して複雑になりすぎるので今回はこれでいこうと思います。
386デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
垢版 |
2023/10/10(火) 06:13:55.38ID:Cej5/emK0
キャストとパースは同じものでしょうか?
キャストは型変換で、その手法の1つがパースというイメージです。
2023/10/10(火) 08:39:26.85ID:+0pTTr910
違います
388デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
垢版 |
2023/10/10(火) 10:21:35.45ID:Cej5/emK0
キャストとParseメソッドの違いは、主に次の点です:

キャストは同じ型の変換に使用されます。つまり、基本的なデータ型間での変換(例: int から double への変換)に適しています。一方、Parseメソッドは、異なる型のデータを文字列から変換するために使用されます。

キャストは基本的に明示的な型変換です。つまり、変換先の型を明示的に指定する必要があります。例えば、(int)doubleValue というように変換先の型をカッコ内で指定します。一方、Parseメソッドは、変換元の文字列が適切な形式であることを確認し、それを適切な型に変換します。具体的な型指定は不要です。

理解
ありがと(*´ω`*)
2023/10/10(火) 10:34:12.03ID:l0kLdmnhM
キャストは同じ型の変換に使用されます。

いきなり意味不明でワロタ
390デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
垢版 |
2023/10/10(火) 18:19:35.44ID:Cej5/emK0
テキストファイルから読み込んだ数字というのは文字列なんですね
だからparseが必要ってことか
391デフォルトの名無しさん (アウアウウー Sa39-OOOs)
垢版 |
2023/10/12(木) 11:00:16.99ID:u59ybXeVa
float32/64からint32/64にキャストするときって
小数点以下は勝手に切り捨てられるってことで良いのかな
オーバーフローしてたらどうするのかな
色々面倒だよね
「同じ型の変換」って言われると
int32<->int64
の間のキャスト観たいなのを想像する
これも問題無い訳じゃないけど
parseは文字列からの変換を普通に思い浮かべるが
jsonのparseとかみたいに構造まるごと変換のときも使うしな
2023/10/12(木) 11:30:51.26ID:/aj2HENwM
マニュアル読め
全部書いてある
2023/10/12(木) 21:34:09.63ID:ZXm8+EHB0
その言葉が聞きたかった
394デフォルトの名無しさん (ワッチョイ 615f-Hwqz)
垢版 |
2023/10/13(金) 01:32:05.01ID:/NTFMnAJ0
VisualC#を独習している者です。

教えてください。
GridViewコントロールに←→のような、カレント行を移動させるボタンって、ツールとして用意されていないのでしょうか?
コマンドボタンコントロールを並べて自作するしかないのでしょうか?
2023/10/13(金) 01:33:44.55ID:yXjHmc7Hd
引き続き独習してください
2023/10/13(金) 01:34:36.65ID:h+M8WaIua
そういうリッチな機能は標準じゃない
欲しいなら自作もしくは適当なUIライブラリ
2023/10/13(金) 01:43:53.31ID:/NTFMnAJ0
>>396
ありがとうございました。
398デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
垢版 |
2023/10/13(金) 07:24:31.11ID:5yHLdduY0
プログラミングの基礎固めってどこまでやるもんでしょうか
成果物作ろうとしても基礎が出来ないと効率悪いですよね
2023/10/13(金) 08:39:13.59ID:61zwOKk/M
このへんまで
2023/10/13(金) 09:19:59.83ID:HwONiL7X0
基礎学習は適当に切り上げてなにか作らないと続かないよ
401デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
垢版 |
2023/10/13(金) 13:08:28.58ID:5yHLdduY0
>>400
配列の使い方程度なら基礎ですよね?
ゲームなどの成果物はすぐにでも作りたいのですが、他人のコードを読めない問題に直面しまして、基礎からやり直しです。
2023/10/13(金) 13:40:14.28ID:ZKg5gD/yM
倉庫番の人か
2023/10/13(金) 14:03:01.11ID:C21zpC1k0
こないだの配列宣言の話のときは途中でフェードアウトしてたな
そういう中途半端な姿勢ではこの先も危ういだろう
404デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
垢版 |
2023/10/13(金) 14:09:32.71ID:5yHLdduY0
ただの誹謗中傷になってる場合は、出来るだけ見ないようにしてます
2023/10/13(金) 14:13:56.90ID:C21zpC1k0
誹謗中傷とそうでないものの区別がつかないならこのスレには向いてないよ
他所行ったほうがいい
406デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
垢版 |
2023/10/13(金) 14:17:45.01ID:5yHLdduY0
それは受け取り方にもよるんですよね
特に人格に対する中傷なんかは得るものがない割に、気が滅入ります
主観的にどう受け取るかという部分もありますし、誹謗中傷の定義は万人共通ではないかと
2023/10/13(金) 14:25:28.33ID:61zwOKk/M
配列の宣言、作成、初期化、参照

古典のC言語でもポインタが理解できなくてリタイヤする奴は沢山いた

C#ではとても書きやすくなっているが同じ機能があるということは同様に難しいということ
逃げるなら早い方が良い
2023/10/13(金) 14:31:08.93ID:C21zpC1k0
>>406
じゃあ聞くけど>>340-341のどこを中傷だと感じた?
俺は極力そういう言葉を避けて相手をしたつもりだけど
409デフォルトの名無しさん (ワッチョイ 6e83-AlWi)
垢版 |
2023/10/13(金) 14:56:06.30ID:U+TO1bu90
>>406
お前はもう来るなよ
消えろや
2023/10/13(金) 15:44:17.55ID:dO1Gm34h0
>>401
Unityでゲーム作るのが目的なんだろ?
だったら、作って覚える系の入門書をどれか一冊こなしてみればいいと思うよ
そうすれば何が不足しているのか、もう少し具体的に自覚できるようになるから
2023/10/13(金) 15:58:28.16ID:Obwc2RPrM
1ヶ月も同じことをグダグダしてる馬鹿は荒らしか?そうでなければ才能ないから諦めて消えろ
412デフォルトの名無しさん (ワッチョイ 8542-AlWi)
垢版 |
2023/10/13(金) 19:01:36.48ID:aXuG2/tR0
入門書を読めというアドバイスには意地でも耳を傾けない初心者
2023/10/13(金) 20:52:48.46ID:p2gW+gfLM
ブラックジャックを思い出した
2023/10/13(金) 21:10:42.40ID:zzxv1uCg0
他人のコードを読み解くのは自分でコードを書くよりも能力が要る
断片的なネット記事から基礎を学習するのも他言語でプログラミングに慣れてないとちょっと厳しい
まぁ、完全な初心者は定番の入門書を読めってことなんだけど、聞く気無いんだろうなぁ
2023/10/13(金) 21:26:25.51ID:xHhmIQhj0
せめていい入門書はありますか?くらいには変わってほしい。
2023/10/13(金) 21:41:30.13ID:7GZqpMG8d
これでまたしばらくだんまりでほとぼりが冷めた頃に的外れな質問してくるようならダメだな
2023/10/13(金) 22:57:31.42ID:9b0YvF5R0
初心者には入門書「だけ」は無理だよ
環境設定とか、バージョンの組み合わせとかで動かないことが多い
その場合、初心者は解決できない
ググっても無駄だし
2023/10/13(金) 23:21:21.97ID:79LHTXDX0
俺はお前が判んなくても一向に困らないし相手してやってるのは自己満足の暇つぶしでしかねーんだよ有難く思えよ?ただし理解しようとしない馬鹿の常駐だけは勘弁
がこのスレ住人の大体の本音だろう。つまり馬鹿の相手をするな
2023/10/14(土) 01:34:27.59ID:Z8feDlim0
他人のコードを読むと勉強になると言うのは嘘。
情弱は、それに引っ掛かる

正しくは、他人のコードを無限に時間を浪費して読むと、
ほんの少し分かると言うだけ。
それを10年やっても、半年ぐらいの初心者に勝てない

他人のコードを読むのは、自分で書くよりも、10倍以上難しいし、
さらに悪い事に、記憶の定着率も最悪。
だから、勉強にならない

初心者は、掌田津耶乃みたいな入門書で良い

特に、ひろゆき・ホリエモンみたいなプログラミングの素人に聞かない事。
彼らは、やった事ないでしょ?
2023/10/14(土) 01:53:04.22ID:fodO8s4z0
AIに聞くのも無しだな
AIは平気で自信満々に大嘘を吐く
もちろん合ってる場合もあるけど、知識が無いと真偽を判断出来ない
2023/10/14(土) 01:53:43.47ID:fUs4mpOo0
>>419
こういうバカは無視でいいぞ
2023/10/14(土) 02:44:05.87ID:Z8feDlim0
これで初心者が、Ruby on Rails を学んで転職していくのが分かるでしょ?

それ以外の言語が通用しない理由。
10年やっても、何も作れないから

大学でC をやった香具師の99%が、プログラミングはしょーもない。
何も作れないとやめていく。
Cの教師が職を失いたくないからやってるだけなのに、それにだまされているだけ

C# も同じ。初心者ができるわけない。
9割がモデラー。プログラマーなんて、ほぼいない

Rails以外で、初心者が転職できる事はない!
難しさの桁が違う

3D モデルを作って動かすんだよ。
クォータニオンとか、数学物理をやっていないと無理。
Python と同じ。文系なんて採用されないでしょ。
だから、文系のアホは皆、Railsへ行く

プログラマーはまず、Railsなどをやった後の話
2023/10/14(土) 03:58:59.56ID:kxoihP4v0
C/C++も結局は環境依存の各種ライブラリを使わないと初心者では大したものは作れない
普通の授業だとファイル入出力までで終わりで
ディレクトリ操作のdirect.hなんて教えてくれる所は少ないからな
2023/10/14(土) 07:56:47.72ID:uWMJSV260
RORはGPLに汚染されたので関わらないのが吉
2023/10/14(土) 08:14:57.36ID:UlVPgub+0
配列の話の時も、どういう理解で話してんのか皆が疑問に思ってんのに
質問するだけで疑問への説明も無くフェードアウトだったからなぁ
2023/10/14(土) 08:20:19.40ID:VmmeRCt60
言われた通りやってるだけでプログラミングに対する目的意識が無いから
入社後に作らせてみてもネットのコピペとかばっかで内容理解してないんだよな
そりゃあ何も作れるわけないわ

419とかそれ系の僻みじゃねぇの?w
427デフォルトの名無しさん (ワッチョイ 7b93-f0fU)
垢版 |
2023/10/14(土) 11:18:53.62ID:eUQTPEKE0
小学校6年くらいの段階でC#でテトリス作れたら将来有望?
最近の子供はまじでプログラミングに関しては優秀なイメージ
C#分かってる小学生10人に1人くらいはいそう
428デフォルトの名無しさん (ワッチョイ 7b93-f0fU)
垢版 |
2023/10/14(土) 11:23:19.49ID:eUQTPEKE0
同僚の子供がC#でテトリスを応用化したゲーム作っててまじで焦ってる
テトリスなんて入社研修で作るからようは12年も先取りしてるってこった
2023/10/14(土) 12:03:13.89ID:JNPOXyOW0
子供が大人にプレゼンしてる番組あるじゃない
あれみたいに好きでやってると脳はバンバン吸収する
オレの脳は歴史や城の良さをプレゼンされても全然入ってこない
430デフォルトの名無しさん (アウアウウー Sadd-f0fU)
垢版 |
2023/10/14(土) 12:06:37.52ID:x03gZ5vca
>>420
掌田津耶乃はNGワードに入れてる
431デフォルトの名無しさん (アウアウウー Sadd-f0fU)
垢版 |
2023/10/14(土) 12:07:19.53ID:x03gZ5vca
あれ?アンカ間違った
>>421
掌田津耶乃はNGワードに入れてる
432デフォルトの名無しさん (ワッチョイ 7b93-f0fU)
垢版 |
2023/10/14(土) 14:03:24.13ID:eUQTPEKE0
>>429
テトリスってことは難めの非同期とかも理解してるってことだよな
ブロックの回転とか難しそうだしマニアックな文法も理解してそうだ
人生余裕なんだろうな
433デフォルトの名無しさん (ワッチョイ 315f-iZeJ)
垢版 |
2023/10/14(土) 14:48:41.51ID:XZPKtcR/0
入門がてら、はじめて自作のWindowsフォームソフト(ストップウォッチ)を作りました。
今後もC#の学習を続けてもっと技術を身につけたらこのソフトも機能追加して改善していくつもりです。

そこでお聞きしたいのですが、VisualC#において、バージョン番号の管理ってできないでしょうか?
現在は、何か手を加えるたびに、アップデート記録.csファイルに変更点をコメントで記述し、メインフォームに
あるラベルコントロールのテキストを「ver.1.00」から「ver.1.01」へ等と手で書き換えています。
なんとなくの想像ですが、「いまのバージョン番号」「前バージョンからの変更点」を記録しておく仕組みが
VisualStudioかVisualC#にはあるのではないかと思うのですがいかがでしょうか?
プロの人も私と同じように手作業でやってるとは思えないのですが。
2023/10/14(土) 15:51:21.57ID:VHbVocpfM
プロの人は仕様書に書かれたのを手で更新してると思うw

ソースコード自体のバージョン管理はgit
変更はこれでさかのぼれる

その他にバージョンの番号の仕組みはあるにはあるけどバージョン管理とは言うもののそれは実際何なのかと言うことになる
そこの入り口を通ってないと仕組みを知ってもあまり活用できない

ドボンと言うサイトにも書いてあるけどじゃあ理解されるのか使われるのかと言うと疑問
個人では日付管理レベルぐらいじゃないかと
2023/10/14(土) 16:03:02.60ID:zTCJ5Aqla
バージョン番号(ビルド番号)を自動設定したいなら、プロジェクトの設定でビルド時に実行できるコマンドを設定できるから
そこに「テキストファイルから数値読み込んでその数値をひとつずつ大きくして上書きする」コマンドラインツールを自作して設定しとけばいい
そしたらビルドするたびにそのツールが実行されて勝手にビルド番号が上がってく
ストップウォッチでは起動時のそのテキストファイルを読み込んで数値を表示するようにしときゃいい
2023/10/14(土) 17:05:06.76ID:QqyzTN0i0
>>433
実行モジュールのバージョン管理とソースコードのバージョン管理がごっちゃになってるようだから
まずそこを区別して考えよう
2023/10/14(土) 21:07:01.90ID:VHbVocpfM
>>427
マジレスするとテトリスはもう使い古されてて
数年前にはyoutubeで1時間でテトリス作ります見たいなのが溢れてた
それを追えば普通に同じものは出来る

それは確かcだったけどC#のも探せばあるだろう
どちらかと言うとそこがスタートラインかな
まともに完成品をコピー出来ることが重要

ライブコーディングが流行ってた時期はもう過ぎてるけどゲーム制作の需要はまだ続いてる
2023/10/14(土) 21:14:29.46ID:UlVPgub+0
高速コピーすれば理解できるわけじゃないけどな
2023/10/14(土) 21:20:50.18ID:VHbVocpfM
自分が大学に入った際に実習室の脇に置いてあったDOSマシーンに先輩の作ったテトリスが入ってた
それは普通のレベルだったけどコマが6角形になった奴も作ってた
誰かの作ったものを自力で作り直したらしいけど難しすぎて全然面白くなかった
完成度は以上に高かったが独自ルールが入っててそれが余計に邪魔だった

やれる人は一度進むとどこまでも自力で突き進める
他人に頼らない
2023/10/14(土) 21:24:46.58ID:abaBOYXtd
テトリスが使い古されてるかどうかはそれを作れる小学生が有望かどうかには関係ないわな
2023/10/14(土) 21:31:03.53ID:VHbVocpfM
事実として誰にでもテトリスはコピーはできる
その事実を知らないでそこだけを見て有望だと早とちりしたらかわいそうじゃないか
2023/10/14(土) 21:37:50.07ID:zTCJ5Aqla
使い古されたアイデアのテトリスだろうとできたならそれはすごい
さらにきちんと配布できる形式までもっていって他人がプレイしてるなら神だよ
妄想するだけで出きる気になってるだけの奴がほとんどだからな
2023/10/14(土) 21:38:29.71ID:abaBOYXtd
重要なのはコピーできるかどうかじゃなくて実際にコピーしたかどうかやろ
2023/10/14(土) 21:40:24.49ID:VHbVocpfM
当人の作りたいものがテトリスならまあなんとなく理解出来るけど
今どきの小学生がテトリスを自発的に作りたいと思うかどうかは謎
2023/10/14(土) 21:42:41.20ID:eGjaQVx20
スイカゲームを作ろう。
2023/10/14(土) 21:46:07.15ID:VHbVocpfM
テトリスの横幅を60マスぐらいにしたりなどアイデアはいろいろ出てくるはず
そこらへんがまずスタート+0.5ぐらい

自分らの世代は小学生のころからハンドアセンブルしてVRAMいじってたけどそういうのとは世界が違う
早ければ偉いと言うものでもないしマイペースでやればいい
2023/10/14(土) 21:59:46.82ID:abaBOYXtd
オイコラはとにかく自分の昔話自慢話をしないと気がすまないのな
2023/10/14(土) 22:02:18.89ID:VHbVocpfM
脳は使わないと衰える
使えよお前も
2023/10/14(土) 22:04:52.58ID:VHbVocpfM
ゲーム作るんならリアルタイム要素の少ないパズドラとかカードゲームとかみたいな今のソシャゲ的なものを作るほうが楽だし
面白味がある

それじゃなくてテトリス
何か答えは出てるだろ?
2023/10/14(土) 22:06:17.01ID:abaBOYXtd
>>448
それで何か言い返したつもりなの?
2023/10/14(土) 22:08:12.62ID:VHbVocpfM
だから脳は使うものだと…
2023/10/14(土) 22:11:16.66ID:abaBOYXtd
脳を使って出てくるのがオレスゲーばっかの人よりはマシなのよ
2023/10/14(土) 22:28:26.27ID:Wcju1f810
C#で初めて作ったのがISBN変換機という誰得なアプリ。
電卓のフォームにISBN13を打ち込んだらISBN10に変換してくれるだけ。
2023/10/14(土) 23:07:53.04ID:8UeeWOHx0
>>453
それが自分の実用ニーズを満たしていたのならテトリスより何百倍もいいと思うぞ
2023/10/14(土) 23:12:54.96ID:VHbVocpfM
自分もそう思う
自分の作りたいものを作れる能力だけが必要なのでプログラムは非常にハードルが低い
配列すら使えなくても問題ないと言うか最近は旧来の配列をそのまま使ってる人は少ない
2023/10/15(日) 00:06:47.24ID:lg0OQoNW0
>>434-436
ありがとうございました。
私の想像してるようなもの(バージョン登録フォームのような機能)はないのですね。
とりあえず今までのやり方を続け、上級者の方法を知ることができればそれをマネすることとします。
2023/10/15(日) 01:27:35.26ID:vJVqhjXx0
>>456
己の道を突き進む前にせめてこのへんは目を通してみて

https://araramistudio.jimdo.com/2017/05/02/c-%E3%81%A7%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E6%83%85%E5%A0%B1%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B/

https://helve-blog.com/posts/csharp/software-version/
2023/10/17(火) 19:50:26.90ID:MR10mjT/0
>>457
ぴったり自分の知りたかったことでした!ありがとうございます!!
2023/10/26(木) 11:39:53.77ID:hbOK49Zj0
class A : B { }

public Fuga( List<B> hogeList ) { }


List<A> hogeList = new();
Fuga( hogeList );
と呼び出そうとすると型が変換できないコンパイルエラーになるんですが、何故?
Fugaの中ではクラスBの値しか使わないです
2023/10/26(木) 11:55:26.59ID:54WAJ7qI0
Fugaが内部でこういうことやるかもしれないじゃん?
hogeList.Add(new C());
// class C : B {}

Fugaが読み取りしかしないならIReadOnlyList<B>を使うという方法がある
2023/10/26(木) 12:09:16.76ID:5lqk6WWS0
>>453
むしろ変換できるって初めて知った
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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