トップページ > プログラム > 2015年12月04日 > ciEp6cCK

書き込み順位&時間帯一覧

1 位/169 ID中時間01234567891011121314151617181920212223Total
書き込み数00000000000032400000000110



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net

書き込みレス一覧

ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
82 :デフォルトの名無しさん[sage]:2015/12/04(金) 12:05:23.03 ID:ciEp6cCK
>>79
まず俺のやりたい事というのはアドベンチャーゲームのようなものを作っててこういう風にセリフを持ってます
Serihu[] serihu=new Serihu[]{
new Serihu("こんにちは"),
new Serihu("ご機嫌どうですか"),
new Serihu("さようなら"),
};
ここで問題になったのはこのテキストの中に変数を入れたい時どうするかというものでした
例えば「僕は○○をつかった」とか「僕は○○のダメージを受けた」などです
そこで
new Serihu("僕は",○○,"を使った")と○○に参照を入れる事を考えあれこれ試行錯誤しました
で、解決法として○○にdelegateの関数ポインタを入れてやってみたら上手く行きました
Serihuクラスの中で
public delegate string Watasi();
public Watasi watasi;と宣言して
コンストラクタを
public Serihu(string m1,Watasi w,string m2){
moji1=m1;
watasi=w;
moji2=m2;
}
と書きます
それでserihu配列の保持クラスに
public string GetItemumei(){
return itemmei.Tostring();//itemmeiには使いたい変数を何でも使えます
}
と書いて
最初の配列に
new Serihu("僕は",GetItemumei,"を使った")
と入れると変数をそのまま使えるというわけです
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
84 :デフォルトの名無しさん[]:2015/12/04(金) 12:36:37.37 ID:ciEp6cCK
>>83
やっぱり他人から見ればそう見えるのかw
自分でもそうなんじゃないかなぁとw
まぁ何度も書いてくうちに効率的な書き方わかるようになるでしょ
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
87 :デフォルトの名無しさん[]:2015/12/04(金) 12:54:34.09 ID:ciEp6cCK
>>86
平たく言うと
まず最初にセリフを配列で持ちたい
そしてそのセリフの中に動的に変数を入れたいということです
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
89 :デフォルトの名無しさん[]:2015/12/04(金) 13:12:02.93 ID:ciEp6cCK
>>85
>>88
ちょっと俺無知ゆえになにか凄い勘違いをしてたのかもしれません
ちょっとそれ調べて試してみます
上手く行ったら報告します
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
92 :デフォルトの名無しさん[]:2015/12/04(金) 13:46:59.55 ID:ciEp6cCK
試してみましたが上手く行きませんでした
string.Formatメソッドというのはstringを作るメソッドなのでセリフを表示する
時に使わないといけないと思います
で、俺のプログラムでは最初にserihu配列を作る時にどの変数を参照するかも決定されるので
配列を作った時とセリフを表示されるまで間があります
その間string.Formatで使う変数の参照を結局は持っておかないといけません
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
93 :デフォルトの名無しさん[]:2015/12/04(金) 14:00:21.98 ID:ciEp6cCK
>>90
確かにデリゲートを使うのは俺も疑問でした
何しろ変数一個につき余計な関数が一つ増えますし明らかに冗長です
でも他に思い付かなかったんですよ
なんかあるんですかね
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
95 :デフォルトの名無しさん[]:2015/12/04(金) 14:19:31.55 ID:ciEp6cCK
>>94
それでC#における参照とはなんなのかなぁと思って>>65の質問になったわけです
条件としてはある変数aをある変数bでも利用できるようにしたいというものなんですけど
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
97 :デフォルトの名無しさん[]:2015/12/04(金) 14:29:10.18 ID:ciEp6cCK
>>96
それだとserihuクラス配列に渡す変数はすべてクラスで包まなければならないと
言う事になりませんか?
実はまだどの変数をセリフに渡すかとかは決めてないんです
恐らくゲームを作っていくうちに増えていくと思います
それで変数をクラスで包むという手法には抵抗がありまして
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
99 :デフォルトの名無しさん[]:2015/12/04(金) 14:42:25.47 ID:ciEp6cCK
なんか怒らせちゃったみたいでこの辺にしておきます
みなさん薄々気付いてるかもしれませんが前スレラストでちょっと荒れ気味になった件の
あの者です
俺が来たらどこもああなります
何か人を苛つかせる能力でもあるのでしょうかw
すいません
この件は上手く行ったのでこれはこれでいいです
ありがとうございました
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
112 :デフォルトの名無しさん[]:2015/12/04(金) 23:18:07.68 ID:ciEp6cCK
>>111
セリフを配列にしたのはですね
正確には作ってるクラスはSerihuじゃなくてSinarioなんです
Sinarioクラスの中にシナリオの情報が入ってるんですけどそれはセリフだけじゃなくて
yes,noの選択肢、ゾーンの移動、音楽再生、分岐などに分類されてます
それが順送りに進んだり分岐で別のラベルに飛んだりして遷移する訳です
遷移の制御の関数はゾーンごとに作る予定です
それをわかりやすく記述するには初期化の所で配列に入れてしまうのが良いんじゃないかと
思ったんですけど


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。