[過去ログ] ふらっと C#,C♯,C#(初心者用) Part137 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
720: (ワッチョイ 7696-NEzo) 2018/05/19(土)10:02 ID:35k9lSzB0(1/14) AAS
>>691
( ゚д゚)
ありがとうございます。
その通りです。
一晩見直したのに気づかなかった・・・。
725(1): (ワッチョイ 7696-NEzo) 2018/05/19(土)12:20 ID:35k9lSzB0(2/14) AAS
BASICしか経験がないど素人がC#始めたんだけど、
クラス間の参照の受け渡しというのが難しいです・・・。
クラスの参照を配列に入れて、それを受け渡しするとか動くコードはなんとかかけてるんだけど、
自分で一体何をしているのか分からなくなる時がある。
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で返す
とかしてるとなんの値をいじってるのかわけわかめです。
これまで値と参照の区別をして思考してこなかったからなのかなぁ。
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個を渡さなくてはいけなくなります。
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使うつもりだったのですが、
構造体かクラスに変数をまとめたほうがよさそうだったので今の形になりました。
751(2): (ワッチョイ 7696-NEzo) 2018/05/19(土)18:20 ID:35k9lSzB0(11/14) AAS
>>746
はい。
それやってみたのですが、フォーム2から初期設定値を初期値格納クラスに入れていて、
初期値格納クラスの参照、Targetクラスの参照、Targetクラス管理クラスの参照が入り乱れて書いている自分でもわけわかめになりました。
二つのプログラムを見比べた結果Form1でTarget管理させたほうがまだましなのかと・・・。
もっと規模の大きなプログラムだと違ってくるのかもしれないのですが。
761(2): (ワッチョイ 7696-NEzo) 2018/05/19(土)21:13 ID:35k9lSzB0(12/14) AAS
リストボックスの値を取得するのって
string Gender = this.Gender.SelectedItem.ToString();
の一文だけじゃだめなの?
なぜか値が取得できない。
764: (ワッチョイ 7696-NEzo) 2018/05/19(土)21:30 ID:35k9lSzB0(13/14) AAS
>>761
すいません。
自己解決しました。
大分疲れてきたようです。
寝ます・・・。
765: (ワッチョイ 7696-NEzo) 2018/05/19(土)21:32 ID:35k9lSzB0(14/14) AAS
>>763
すいません。
ご親切にありがとうございます。
値を出力するクラスにwriteline書き忘れてました・・・。
値の取得は上のコードでOKでした。
朝から一日プログラミングして悪い頭が限界を超えているようです。
今日はもう寝ます。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.057s