[過去ログ] ふらっと C#,C♯,C#(初心者用) Part137 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
664(2): (アウアウカー Sa11-+fqb) 2018/05/16(水)12:22 ID:CHLBL3ILa(1) AAS
async/awaitって呼び出しのネストが深くなると、大元の呼び出しで波線が立ってすごくもどかしいんですが、気にしなくていいでしょうか?それとも呼び出しのやり方を見直したほうがいいのでしょうか
665(1): (スップ Sd03-UqMB) 2018/05/16(水)12:29 ID:+dukoeHCd(1) AAS
>>664
ネスト関係なくね?
666: (ブーイモ MM19-9jLD) 2018/05/16(水)13:23 ID:v6bC0eDAM(1) AAS
>>660
カウントをCountメソッドにして引数に突っ込むラムダ式を閾値によって切り替える
667: 662,666 (ワッチョイ 23e3-Iyo3) 2018/05/16(水)14:23 ID:mC1mbnpn0(1) AAS
ごめん。Count以外の処理もあるんだね。おらの回答は無視してくれ。
668: (ワッチョイ a5d6-bFqk) 2018/05/16(水)14:55 ID:c5ZU3C2K0(1) AAS
dataGridViewのデータソースをBindingListにしています。
この時にデータの絞込を実装する方法はあるのでしょうか。
669: (ワッチョイ cbc9-k37M) 2018/05/16(水)19:51 ID:oU1pyBE30(1) AAS
>>664
波線が立つのは単にasyncなメソッドをawai付けずに投げっぱなし呼び出しの警告出ているだけじゃないのか
>>665の言う通りネスト関係ない
670(2): (ワッチョイ 1a61-XGZI) 2018/05/17(木)00:16 ID:OeNqnCBl0(1/2) AAS
すいません。ちょっと教えてください。
//Form1にて
Form2 f = new Form2();
f.show();
this.visible=false;
としてForm2を開いて、Form1を非表示にします。
//Form2にて
省5
671: (ワッチョイ 769a-NEzo) 2018/05/17(木)00:28 ID:yjgdFlmp0(1) AAS
>>670
Form1 f = 「new」 Form1();
新しいForm1を作ったんだから前のはVisible=false;のままで表示されていない
例えばこうする
//Form1にて
Form2 f = new Form2(this);//Form2のコンストラクタの引数にForm1の参照を渡す
f.show();
省12
672: (アウアウエー Sa02-vTsT) 2018/05/17(木)00:35 ID:hTaKG8n8a(1/2) AAS
>>670
目の前の問題を解決するよりまずインスタンスとは何かちゃんと理解した方がいいねw
673: (ワッチョイ 1a61-XGZI) 2018/05/17(木)00:41 ID:OeNqnCBl0(2/2) AAS
ありがとうございました。
大変助かりました。
674: (アウアウエー Sa02-vTsT) 2018/05/17(木)00:45 ID:hTaKG8n8a(2/2) AAS
もっと簡単にこれでもできるよw
var f2 = new Form2();
f2.Shown += (s, ev) => Hide();
f2.ShowDialog(this);
Show();
675(1): (ワッチョイ 7696-NEzo) 2018/05/17(木)21:40 ID:Kw1Q24F60(1) AAS
class Program
{
TargetOpe targetOpe = new TargetOpe();
static void Main(string[] args)
{
Target [] target= targetOpe.InitializeTarget();
Console.WriteLine(target[1].x);
省6
676(1): (ワッチョイ 5ad2-FO+i) 2018/05/17(木)21:46 ID:xJtGZ4kt0(1/2) AAS
>>675
静的メソッドだから
677(4): (ワッチョイ 5ad2-HRP5) 2018/05/17(木)23:37 ID:03oIkg7y0(1) AAS
C#初心者です。
ある変数のその時々の値によって呼ぶメソッドを変えたいため初歩的にifやswitchで分岐させていたのですが、毎回分岐させるのもどうかと思い変数が変わるタイミングでデリゲートに代入して呼び出す方法を試してみました。
しかしながらパフォーマンステストを行ったところ、10程度の条件分岐であればifでメソッド呼び出し >>> デリゲートで呼び出しという結果でした。
速度を重視しつつ動的に呼び出すメソッドを変えるという場合はデリゲートではなく毎回条件分岐を行ったほうが良いということなのでしょうか?
678: (ワッチョイ 5ad2-FO+i) 2018/05/17(木)23:45 ID:xJtGZ4kt0(2/2) AAS
>>677
どんな用途で?
679: (ブーイモ MMde-mCTX) 2018/05/17(木)23:47 ID:fnhXcK68M(1) AAS
>>677
どうでもいい
そんなミクロなレベルの速度が問題になることはない
IO一つで跡形も無く吹き飛ぶ
680: (ワッチョイ 7681-0XvN) 2018/05/17(木)23:49 ID:8WFSeAEB0(1) AAS
くだらねーパフォーマンスとくだらねー暗号化の話題が大好きだよな
681: (ワッチョイ 75eb-KqYp) 2018/05/18(金)01:57 ID:3OrmdyFD0(1/2) AAS
パフォーマンスは重要だよ
だけど、そんなのを語る以前に、コンピュータの仕組みについての素養を極端に欠く人が多すぎるんだよ
最近のC#入門書はよく出来ていて、大抵の本が最低限の仕組みが知識が身につくようページを割いて解説してるわけだけど・・・・分かっていない人ほど読み飛ばすんだな
その結果、コンピュータの仕組みからしたらとてもありえないことを言い出す高卒様が出来上がるんだ
682: (ワッチョイ aa9d-zw5z) 2018/05/18(金)02:22 ID:tl8rJsN/0(1) AAS
>その結果、コンピュータの仕組みからしたらとてもありえないことを言い出す高卒様が出来上がるんだ
ありえないことなんてないだろ。頭硬すぎじゃねーの。「コンピュータはこうあるべきだ」とかに縛られてると新しい発想のソフトが生まれない。
683(1): (ワッチョイ 75eb-KqYp) 2018/05/18(金)02:48 ID:3OrmdyFD0(2/2) AAS
新しいものができたってのならいいけど、言うこと為すこと高卒様じゃあ・・・・
684: (ワッチョイ fa27-ZkFG) 2018/05/18(金)03:11 ID:eSpLSQVO0(1) AAS
>>677
条件次第なのでなんとも言えない
インライン展開とかCPUのキャッシュとかまで関わってくる可能性がある
気にしなければいけないほどパフォーマンスを気遣うなら、JITの結果を比較したほうがいいけど、多くはそこまでするほどではない
685(1): (ワッチョイ 1a23-RYnA) 2018/05/18(金)04:39 ID:rO+HsCUo0(1) AAS
デリゲート使ってる時点で初心者じゃないだろw
686: (ワッチョイ 5ad2-FO+i) 2018/05/18(金)07:16 ID:tpc+hoQ/0(1) AAS
>>685
いや、初心者がググった知識で背伸びしてるんだろ
687: (ワッチョイ 5ae3-+Nwo) 2018/05/18(金)07:25 ID:40IvU0mB0(1) AAS
デリゲートとラムダ式ってちゃうの?
688: (ワッチョイ 7696-NEzo) 2018/05/18(金)07:56 ID:mGKF1mXv0(1/3) AAS
>>676
ありがとうございます。
私アホでした。
689(1): (ワッチョイ 7696-NEzo) 2018/05/18(金)08:01 ID:mGKF1mXv0(2/3) AAS
public class TargetOperation
{
Target[] target = new Target[Constants.MaximumNumberOfTarget];
public Target[] InitializeTarget()
{
for (int i = 0; i < Constants.MaximumNumberOfTarget; i++)
{
省6
690: (ワッチョイ 7696-NEzo) 2018/05/18(金)08:05 ID:mGKF1mXv0(3/3) AAS
最後の行で
クラス、構造体、またはインターフェイス メンバーの宣言でトークン 'return' が無効です。
です。
またアホなことをしてそうな気がしますが、昨夜からわからず・・・。
691(1): (ワッチョイ 76c9-NEzo) 2018/05/18(金)08:09 ID:WjwLG2oV0(1) AAS
>>689
}
}
return target;
}
じゃなくて
}
省4
692: (ドコグロ MMfa-hlLb) 2018/05/18(金)08:15 ID:SuBLVM61M(1) AAS
>>677
サンプルコードと結果貼れよ
693: (アウアウカー Sa4d-amnG) 2018/05/18(金)08:34 ID:Yy5wJYpea(1) AAS
デリゲート使うくらいならストラテジパターン使うけど
694: (ラクッペ MMa5-0XvN) 2018/05/18(金)09:57 ID:crDPuGzZM(1) AAS
>>683
こんにちは猿の学校卒様
695(1): (ワッチョイ 6e8a-/w+O) 2018/05/18(金)22:42 ID:6iumh9Vb0(1) AAS
DataGridViewのセルのValueを取得すると、既定の型がObject型なんですが、既定の型をstringに変更する方法はありますか?
今はConvert.ToStringで変換してるんですが、記述数が多くなりすぎて参ってます。
696: (ブーイモ MMfa-1jw3) 2018/05/18(金)22:48 ID:/dMxgLqhM(1) AAS
As string
697(7): (アウアウカー Sa4d-5W05) 2018/05/19(土)01:23 ID:5ZvwKnWja(1) AAS
C#初心者でフォームアプリを作っているんですが
例えばあるクラスAが非同期で外部機器を延々ポーリングしていて、トリガーが発生したらクラスBの処理を行いたいといった場合
・クラスAにクラスBのインスタンスを渡して、クラスBのメソッドを呼び出す
・クラスAに宣言したデリゲート(evemt?)にクラスBのメソッドをコールバック関数として登録し、クラスAはデリゲートを実行する
どちらが一般的なコーディングなんでしょうか
後者だと複数実行したい処理があるとかなり冗長な気がするんですが、他にセオリーあれば教えて頂きたいです
よろしくお願いします
698: (アウアウウー Sa39-RYnA) 2018/05/19(土)01:32 ID:VIvIbG0Fa(1) AAS
女?
699: (アウアウウー Sa39-mCTX) 2018/05/19(土)01:53 ID:ZECHChrda(1/3) AAS
>>697
前者
デリゲートは現段階で呼び出し先が定まってなくて後でアドホックに処理を差し込みたいときに使うも
最初から呼ぶ相手が決まってるならそんなまどろっこしいことをしないで直接メソッドを呼べばよい
700(2): (アウアウエー Sa02-vTsT) 2018/05/19(土)02:13 ID:FwiHY2dca(1/6) AAS
>>697
騙されちゃダメwww
そういうのはイベントで実装する。
何故か?
前者で作っちゃったら、その外部デバイスをポーリングしてるクラス(普通はそのデバイスの名前を付けると思うけど)、
前者で作っちゃったら他に流用できないよ
701(2): (ブーイモ MMa1-mCTX) 2018/05/19(土)02:22 ID:6pEEqPiCM(1/4) AAS
>>700
YAGNI
もしそれが必要になったらそのとき変更すればいい
そして、ほとんどの場合において結局必要にならない
職業プログラマじゃないとアプリのコードを目にする機会って少ないから、
.NET Framework自体のクラスのような不特定多数向けの設計を真似してしまいがち
一般に、アプリケーションプログラミングにおいては無駄な拡張性は極力組み込まずに必要最小限のコードでコンパクトに実装するのが正解
省1
702(1): (アウアウエー Sa02-vTsT) 2018/05/19(土)02:27 ID:FwiHY2dca(2/6) AAS
>>701
YAGNIなんか関係ない
アホか
必要もない仕様変更を想定して寛容に複雑にするのは愚かだが、
抽象度の高い(つまり汎用性も高い)方のクラスにより具体的(つまりそのプログラムでしか利用できない)クラスの
参照を持たせて依存させるなんてもっと愚かだ
703(1): (ブーイモ MMa1-mCTX) 2018/05/19(土)02:32 ID:6pEEqPiCM(2/4) AAS
>>702
自己矛盾してるね
依存させるのが何故愚かだと思う?
理由は、「必要もない(質問者のレスにない)仕様変更を想定しているから」に他ならないだろ
704(1): (アウアウエー Sa02-vTsT) 2018/05/19(土)02:38 ID:FwiHY2dca(3/6) AAS
>>703
たぶん言っても無駄な人だと思うけど、普通はViewをModelに依存させるように作るのであって
ModelをViewに依存させない(Modelの参照をViewが持ってはダメ)なのと同じ。
こんな基本が分からない奴が回答する側に回ってはダメだと思うw
705(1): (アウアウエー Sa02-vTsT) 2018/05/19(土)02:40 ID:FwiHY2dca(4/6) AAS
>>704
いかん酔っぱらって逆を書いちまったw
× (Modelの参照をViewが持ってはダメ)
〇 (Viewの参照をModelが持ってはダメ)
706(1): (ブーイモ MMa1-mCTX) 2018/05/19(土)02:40 ID:6pEEqPiCM(3/4) AAS
あと、仮に>>700の想定が正しいとするなら、抽象化すべきはクラスBではなくAの方でしょ
例えばAのデバイス依存部分だけをIDeviceインターフェイスとして切り出して委譲するとかね
Aにイベントを持たせるんだと、別のデバイスを監視するクラスCができたら
AのイベントとCのイベントをそれぞれ個別にイベントハンドリングしなきゃいけなくなる
ちゃんと頭使おうね
707: (ブーイモ MMa1-mCTX) 2018/05/19(土)02:47 ID:6pEEqPiCM(4/4) AAS
>>705
揚げ足取るようで悪いけど、Viewの参照をModelが持つこと自体は何の問題もないよ
というか、そうしないとMからVへの変化通知が実現できない
イベントを使うにしても結局参照は持ってるよ
MVPといって、IViewのようなインターフェイスを通してMからVを呼ぶパターンもあるね
なるべく疎にしたいのは型同士の依存関係の話で、参照するのがダメなわけじゃない
708: (アウアウエー Sa02-vTsT) 2018/05/19(土)02:58 ID:FwiHY2dca(5/6) AAS
>>706
そういうのをYAGNIっていうんだよw
本当に何もわかってないねお宅w
709: (アウアウエー Sa02-vTsT) 2018/05/19(土)03:03 ID:FwiHY2dca(6/6) AAS
まあ質問者の>>697に言うけど、実際書いてみれば
イベントで実装した方がずっとコンパクトかつ可読的に書けることが分かると思うよ。
Bが仮にAでしか利用しないクラスだとしても、普通はAはイベントを発行するだけ、
Bはそのイベントを受信して何か処理をする、ってやった方がずっと分かりやすい
710: (アウアウウー Sa39-mCTX) 2018/05/19(土)03:21 ID:ZECHChrda(2/3) AAS
メソッド一つだけならイベントでもいいけど、少なくとも>>697はメソッドが複数あるときもあると言ってるんだからイベントは不適切でしょ
インターフェイスで纏めたほうが扱いやすい
あえてそこにインターフェイスを噛ませる必要があるかどうかはYAGNIの問題だが、それとはまた別の観点の判断だ
711: (ワッチョイ 9dc3-NEzo) 2018/05/19(土)06:03 ID:uNgfR/HH0(1/3) AAS
プログラムで使用するテキストデータを、excelで管理しています
closecXMLを使ってアクセスしていて、これ自体は無事に実装できました
テストが一通り終わって、テキストデータも確定したので、データの散逸や
改ざんを防ぐために実行ファイルに埋め込みたいのですが、リソースとして
取り扱うことってできないでしょうか
具体的には、
workbook = new XLWorkbook(filename);
省4
712: (ブーイモ MMfa-1jw3) 2018/05/19(土)06:14 ID:gOuRua2dM(1/2) AAS
ユーザー定義リソースは何でも書けるよ。
713: (ワッチョイ 9dc3-NEzo) 2018/05/19(土)06:37 ID:uNgfR/HH0(2/3) AAS
具体的にどういう手順を踏めばよいのでしょう?
excelデータは1,000行以上あるので、取り込みではなく手入力が必要だと
ちょっと切ないです
でももう修正しないもの(修正するとしても部分的)ですから、機械的に
データを移行できるのであればそれでも問題ありません
714(2): (ブーイモ MMfa-1jw3) 2018/05/19(土)07:47 ID:gOuRua2dM(2/2) AAS
静的に呼びだすなら5つのAPI
FindResource()
LoadResource()
SizeofResource()
LockResource()
FreeResource()
動的に更新するなら更に3つ
省3
715: (ワントンキン MMea-wqAz) 2018/05/19(土)07:53 ID:z3BmCHYgM(1) AAS
>>701
こういう奴が頻繁に現れるのを見るとYAGNIの罪は大きいなって思う
716: (ワッチョイ 5a1e-XbkE) 2018/05/19(土)07:55 ID:7BFPa/Jf0(1/3) AAS
別に複数でもそんな多くなければイベントでも問題ないんじゃねぇかな
717: (ワッチョイ 9dc3-NEzo) 2018/05/19(土)08:03 ID:uNgfR/HH0(3/3) AAS
>>714
ありがとうございます、それぞれのAPIについて調べてみます
718(1): (ワッチョイ 5a1e-XbkE) 2018/05/19(土)08:13 ID:7BFPa/Jf0(2/3) AAS
結局バランスの問題だな。もちろん人によってバランス違うけど。
イベントによって結果再利用性あがるけど、
>イベントで実装した方がずっとコンパクトかつ可読的に書けることが分かると思うよ。
の通り、可読性の観点からしてもイベントの方が分かりやすいと思う。
これぐらいもYAGNIとかいってるようじゃ、極端すぎてバランス感覚おかしいんじゃねぇかな。
719(1): (アウアウウー Sa39-mCTX) 2018/05/19(土)09:36 ID:ZECHChrda(3/3) AAS
>>718
極端なのは君だと思うぞ
まさかクラス間の依存関係に全部いちいちイベントを噛ましてるってわけではないよね
その上で、この例において特にイベントを使うのが適切だと判断した合理的な根拠は?
少なくとも>>697のレスからはそれを具体的に読み取れないから、根拠のない仮定に基づいた無駄な拡張性だと言ってるんだけど
720: (ワッチョイ 7696-NEzo) 2018/05/19(土)10:02 ID:35k9lSzB0(1/14) AAS
>>691
( ゚д゚)
ありがとうございます。
その通りです。
一晩見直したのに気づかなかった・・・。
721(1): (アウアウカー Sa4d-5W05) 2018/05/19(土)10:47 ID:zmVeGZ3Ia(1) AAS
>>697です
みなさん色々なご意見ありがとうございます
基本的にはイベント等で疎結合にしたクラス作りが望ましいが、ケースバイケースで状況に応じてどちらの実装でも問題はないといったところでしょうか
レスして頂いた内容は非常に参考になり、まさにその両者のいい分で自分もどちらが最適解なのか悩んでいましたが、結局状況を判断出来る私が決めて実装するしかないのかなと思いました
途中インターフェースをかましてすれば良いとのレスがありましたが、どういった実装をすればいいのか全くわかりませんでした。この方法でも検討してみたいので、すみませんが具体的な実装を教えて頂けないでしょうか
722(2): (アウアウウー Sa39-mCTX) 2018/05/19(土)11:44 ID:mNRmauI8a(1) AAS
>>721
interface IAlert {
void Set(Severity severity);
void Unset();
}
たとえば、あるアラートに対してこういうインターフェイスを定義する
クラスAはこれをコンストラクタで受け取り、温度センサーの値が閾値を超えたら危険度に応じた引数でSetメソッドを呼ぶ
省6
723: (ワッチョイ 7680-zp6D) 2018/05/19(土)11:49 ID:F9kKaYLV0(1) AAS
>>695
拡張メソッドでも定義すれば
724: (アウアウカー Sa4d-5W05) 2018/05/19(土)12:01 ID:hl18fyg5a(1) AAS
>>722
早速ありがとうございます
ちょっとまだピンときませんが、じっくり検討してみたいと思います
725(1): (ワッチョイ 7696-NEzo) 2018/05/19(土)12:20 ID:35k9lSzB0(2/14) AAS
BASICしか経験がないど素人がC#始めたんだけど、
クラス間の参照の受け渡しというのが難しいです・・・。
クラスの参照を配列に入れて、それを受け渡しするとか動くコードはなんとかかけてるんだけど、
自分で一体何をしているのか分からなくなる時がある。
726(1): (ワッチョイ 75eb-/w+O) 2018/05/19(土)13:04 ID:uWI+Vuzc0(1/2) AAS
>>725
真っ先に直さなきゃならないのは、「スコープの広い配列にインスタンスを入れておけば、どこからでも全てのデータにすぐにアクセスできていいじゃん!」と思っちゃう点でさあ
C#のスキルの無さから設計までメチャクチャにしてるんじゃないのかねえ
727: (ワンミングク MMea-wqAz) 2018/05/19(土)13:15 ID:m/ZPa8pNM(1/7) AAS
BASIC系って悪い習慣を覚えちゃうよね
特にVBAはひどい
728: (ワンミングク MMea-wqAz) 2018/05/19(土)13:27 ID:m/ZPa8pNM(2/7) AAS
>>722
それだと温度センサーがアラートをコントロールしているように解釈される
常識的に考えてアラートのコントロールは温度センサーの仕事ではないだろう
これは名前の問題であってインターフェースよりイベントを使えと言ってるわけではない
729(1): (ワッチョイ 7696-NEzo) 2018/05/19(土)14:08 ID:35k9lSzB0(3/14) AAS
>>726
その通りです。
すべての変数をどこからでもアクセスしたい衝動にかられます。
Aのクラスの機能がA1とA2に分化できるから分けようと思うと、
AはCを参照してたからA1とA2両方にCのインスタンス参照を渡そうとなり、
結局機能は分けれたものの、どのクラスがどのクラスを参照してるのかがよくわからなくなってきました。
730(1): (ワッチョイ 7696-NEzo) 2018/05/19(土)14:11 ID:35k9lSzB0(4/14) AAS
値1、2個を渡すのは簡単なんですけど、
クラスのインスタンスを100個つくるためにその参照を配列にいれる
参照の入った配列をreturnで返す
とかしてるとなんの値をいじってるのかわけわかめです。
これまで値と参照の区別をして思考してこなかったからなのかなぁ。
731(1): (ワンミングク MMea-wqAz) 2018/05/19(土)14:31 ID:m/ZPa8pNM(3/7) AAS
>>730
オブジェクト指向で参照を共有することは少ない
共有するとしてもイミュータブル、ステートレスにして共有によるデメリットを消した上で共有する
長時間生存するインスタンスがあちこち参照しあって状態を刻々と変化させていくような設計が最悪のパターン
732: (ワッチョイ 5a1e-XbkE) 2018/05/19(土)15:29 ID:7BFPa/Jf0(3/3) AAS
>>719
それは君が経験値不足なだけ。>>697である程度は想像できる。
733: (ワッチョイ 7681-0XvN) 2018/05/19(土)16:13 ID:t/qQFhE80(1/4) AAS
休みだってのに暇な奴ら
734: (ワッチョイ 7696-NEzo) 2018/05/19(土)16:13 ID:35k9lSzB0(5/14) AAS
>>731
なるほどCを参照しているA1、A2はCと独立したオブジェクトじゃなくなってしまいますものね。
735: (ワッチョイ 7696-NEzo) 2018/05/19(土)16:20 ID:35k9lSzB0(6/14) AAS
Target[] target = new Target[Constants.MaximumNumberOfTarget];
public Target[] InitializeTarget()
{
for (int i = 0; i < Constants.MaximumNumberOfTarget; i++)
{
target[i] = new Target();
target[i].x = 100;
省4
736(2): (ワッチョイ 7696-NEzo) 2018/05/19(土)16:23 ID:35k9lSzB0(7/14) AAS
ターゲットをクリック出来たら消す
一定時間クリックできなかったら点滅させる
ゲーム終了後にターゲットの座標をテキストファイルに書き出す
などの処理がすべてForm1上に存在することになるのですが、
それでもいいのでしょうか?
これらの作業を無理にクラスに分けようとすると
ターゲットクラスインスタンスの参照100個を渡さなくてはいけなくなります。
737: (ワッチョイ 91e3-/zvX) 2018/05/19(土)16:41 ID:H4w+h7ji0(1/2) AAS
そんなミニゲームどう組んだっていいよ
738(1): (ワッチョイ 559a-NEzo) 2018/05/19(土)16:44 ID:5aQMcYYW0(1) AAS
>>736
何が駄目なのかわからない
何か縛りプレイしているのならその前提から出してもらわないと
たとえば特定のデザインパターンの勉強が目的だとか
739: (ワッチョイ 75eb-/w+O) 2018/05/19(土)16:55 ID:uWI+Vuzc0(2/2) AAS
どうせこの人は一生治んないよ
ただプログラムなんてちゃんと動けば目的達成できるんだし、まあ、これでも良いんじゃないの
740(1): (アウアウウー Sa39-HRP5) 2018/05/19(土)16:56 ID:F+BrwfqWa(1/2) AAS
listやdictionaryを使ってないのかな
だったらまだそのアプリを作る段階まで届いてない
741: (ワッチョイ 5ad2-PioB) 2018/05/19(土)17:10 ID:UwdEx54W0(1) AAS
まあ普通はエンジン部分だけ切り離すわな
742(1): (ワッチョイ 7696-NEzo) 2018/05/19(土)17:20 ID:35k9lSzB0(8/14) AAS
target class
にx,y,timeなどメンバ変数7個程度を入れてます。
このターゲットを表示するためForm1上にクラスのインスタンスを参照する配列を置くと、
表示とゲームのコントロールすべてがForm1上におくことになって見苦しいのかと思いました。
でもテトリスとか他のミニゲームみても同じような設計になってるんですね。
無理して別クラスにするよりもtargetクラスの配列に関連した、表示、ゲーム処理はForm1上に置いてみます。
(というか実際に配列を別クラスに切り分けたら、余計読みづらくなった・・・)
743: (ワッチョイ 7696-NEzo) 2018/05/19(土)17:22 ID:35k9lSzB0(9/14) AAS
>>738
縛りはなかったのですが、見やすいコードということを考えすぎてました。
まずは動くコード書いて、人の書いたプログラムも見ながら勉強していきます。
744: (ワッチョイ 7696-NEzo) 2018/05/19(土)17:23 ID:35k9lSzB0(10/14) AAS
>>740
最初Dictionay使うつもりだったのですが、
構造体かクラスに変数をまとめたほうがよさそうだったので今の形になりました。
上下前次1-新書関写板覧索設栞歴
あと 258 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.037s