ふらっと C#,C♯,C#(初心者用) Part117at TECH
ふらっと C#,C♯,C#(初心者用) Part117 - 暇つぶし2ch809:デフォルトの名無しさん
15/11/14 00:28:17.73 zC8KxVmn.net
>>782
そういうのは、Rx使ってる。

810:デフォルトの名無しさん
15/11/14 00:45:14.09 JMgFPTs6.net
.NET MVCで画面作るときに
viewに複雑のユーザー定義クラスを渡す時ってカスタムbinderつくるしかない??
例えば検索フォームと一覧で構成される画面で
検索フォームmodelと一覧modelをバインディングするみたいな。

811:デフォルトの名無しさん
15/11/14 01:45:16.57 J/xjBQ6p.net
何をわけの分からんことを
class 俺モデル
{
public 検索フォームmodel M1;
public 一覧model M2;
}
これをモデルとして渡せばOK

812:デフォルトの名無しさん
15/11/14 02:49:03.10 JMgFPTs6.net
>>785
view側で
@TextBoxFor(m => m.M1.Unko)
@TextBoxFor(m => m.M2.Chinko)
みたいなのをformで送ったが、
ActionメソッドをIndex(俺モデル myModel)
としても、値とってこれないんだよね

813:デフォルトの名無しさん
15/11/14 02:56:01.24 T0Fy32Ow.net
>>781の兄者・・
駄目でした;;
既にtaskは使っていて
var task1 = Task.Factory.StartNew(() =>
これの終了に別のタスクで繋いで終了表示をしてるんですが
781の兄者のやり方のとおりに子タスクを設定してみたんです。
したら親タスクのつなぎタスクに繋がらないときがあるみたいで;;
なんで繋がなくなる時がある上に終了してるのに
終了ウィンドウがしばらくしないと出ないのか・・
きっと妖怪のせい・・

814:デフォルトの名無しさん
15/11/14 11:18:55.84 10oOQI9U.net
まず日本語が、正しく以下略

815:デフォルトの名無しさん
15/11/14 13:23:53.12 m53r0/yX.net
こういうのを見ているとTaskチェインよりもawaitの方がスマートだというのがはっきり分かるな

816:デフォルトの名無しさん
15/11/14 16:57:33.34 g6rNXfjz.net
>>786だけど
getter setterつけたらいけたわ。

817:デフォルトの名無しさん
15/11/14 18:56:20.98 OxpghztZ.net
今unityでゲームを作ってるんですがc#のクラスの配列について質問です
こういうコードがあるとします
public class Aa{
int i;
string b;
public Aa(int iH,string bH){
i=iH;
b=bH;
}
}
Aa [] aa=new Aa[]{
new Aa(10,"aaa"),
new Aa(20,"bbb")
};
これでコンパイルは通るのですがこの後半に書かれたクラスの配列の初期化が
なんとも気持ち悪くて仕方がありません
これから何百行もクラスの初期化のコードを書くつもりなのでnewとかAaとかが無意味に並んでる辺りが
非常に醜いと思います
もっと初期化を簡略化する書き方はないでしょうか?

818:デフォルトの名無しさん
15/11/14 19:13:53.28 nPG81Nq1.net
設定ファイルを別に用意して for ループかなにかでインスタンス作るのはダメなん?

819:デフォルトの名無しさん
15/11/14 19:15:20.30 Ldro2YxR.net
>>791
ファイルに出せ

820:デフォルトの名無しさん
15/11/14 19:16:41.03 x0D1OM5m.net
>>791
それが無駄だと全然思わないんだけど、
static Aa[] ToAaArray(params string[] args){...}
みたいなメソッドでも用意するとか。

821:デフォルトの名無しさん
15/11/14 19:21:51.68 0hbObyK2.net
ゲーム作ってますと何百個のクラス作ってますがどうしたらいいでしょうか
はワンセットになりつつある

822:デフォルトの名無しさん
15/11/14 19:22:29.23 OxpghztZ.net
>>792
>>793
ファイルに出すというのはテキストファイルを別に作って読み込むという方法でしょうか?
それも考えたんですけどそれだとテキストファイルを作る時引数の入力補完が効かなくなって
かえって間違えやすくなると思うんですけど
>>794
入力補完を利かすため引数のデータをデータ型通りの形で並べたいんですけどどうしたらいいですかね

823:デフォルトの名無しさん
15/11/14 19:35:41.52 zC8KxVmn.net
>>791
var aa = new [] { new Aa( 10 , "aaa" ) , new Aa( 20 , "bbb" ) };

824:デフォルトの名無しさん
15/11/14 19:39:17.01 OxpghztZ.net
>>797
外側減らしたって意味無いすよw
中が圧倒的に多いんだから

825:デフォルトの名無しさん
15/11/14 19:44:59.12 zC8KxVmn.net
外部にテキストファイル、例えばcsvなんかを用意して読み込むようにするか、
もしくは、partial class を作って別ファイルにメソッドを隔離しておくか。

826:デフォルトの名無しさん
15/11/14 20:08:15.99 nPG81Nq1.net
>>796
入力補完?
入力候補が決まってるなら、EXCEL でも使ってセルの入力規則のリストでも利用すればすむ事じゃん。
こっちの方が列で管理出来るから引数の順番とか間違えなくて(その意味では)便利だろ。
別にお前に限ったことじゃないけど、条件の後出しはよせ。正直ムカつく。

827:デフォルトの名無しさん
15/11/14 20:10:22.93 FGqqqIfB.net
>>798
テキストファイル読み込んで作るか、もしくはnewをいっぱい書くのが普通だと思うけど
それでも無理やり減らそうと考えるならこれかな。
var aa = new List<Aa>();
var elements1 = new[] { 10, 20, 30 };
var elements2 = new[] { "aaa", "bbb", "ccc" };
for(int i = 0; i < elements1.Length; i++)
{
  aa.Add(new Aa(elements1[i], elements2[i]));
}
これだとタプルを分解して書かないといけないから不満が残るけど
(10, "aaa")のような形でインスタンスを作れない以上どうしようもない気がする。
最近C#触っていないからもっといい方法があるかもしれないが。

828:デフォルトの名無しさん
15/11/14 20:18:02.62 OxpghztZ.net
>>800
基本的にunityのmonodevelopで完結させたいんだよね
monodevelopは使い方も知ってるし
>>801
それだと例えば1番目なら1番目の項目の書いてる場所がバラバラになってしまって
とても管理出来そうにない
みなさんありがとうございました
自分が今まで致命的な勘違いをしてた訳じゃないとわかっただけでも収穫でした
newとクラス名連打で作りたいと思います

829:デフォルトの名無しさん
15/11/14 20:23:51.44 vsCbl3R/.net
テキストファイル作る時の引数って意味がわからん。
オブジェクト作成時に値チェックかけて、
整合性が保証されてる状態で書き出せばいいだろ。

830:デフォルトの名無しさん
15/11/14 20:27:37.98 OxpghztZ.net
>>803
それだと実行させなきゃエラーを出せない
unityのmonodevelopは初期化の時引数の型が間違ってたら書いたその場でインフォメーションしてくれる

831:デフォルトの名無しさん
15/11/14 20:57:41.24 Qc99f8i6.net
>>804
単体テスト書けば良いんじゃないの。書いたその場で、とは行かないが。

832:デフォルトの名無しさん
15/11/14 21:00:39.59 vsCbl3R/.net
>>804
モデルのオブジェクト(メンバの型)を経由するのにどう引数間違える可能性あるんだよ?

833:デフォルトの名無しさん
15/11/15 00:43:58.51 PNJd8cmY.net
>>791
var bullets=Enumerable.Range(0,100).Select(i=> new {Id=i,Num=10,Str="100" });

834:デフォルトの名無しさん
15/11/15 01:30:33.23 8pwk8L+v.net
URLリンク(it.srad.jp)
混迷極まってるな、MS工作員にはモバイル用は別OSにするって発想はでないのかね?
別に、コアコードは変わる訳じゃなかろうに、上っ面の部分だけモバイル向きに作り替えて
アップデートのタイミングをそれぞれに調整すれば良いだけ
モバイルで流行らないのは、単にWindows8に商品力が無いだけだ
デスクトップ向きはWindows7に戻しちまえばいいのに
Windows10とか誰も欲しがらないだろ・・・

835:デフォルトの名無しさん
15/11/15 01:31:54.15 PNJd8cmY.net
static void Main(string[] args){
 //AaValues.txt
 //10,aaa
 //20,bbb
 AaFct(File.ReadLines("AaValues.txt").Select(l=>l.Split(',')));}
private static void AaFct(IEnumerable<string[]> values){
 using (var f = File.AppendText("Aa.cs")){
  foreach (var v in values){
   f.WriteLine($"new Aa({v[0]},\"{v[1]})\",");}}}

836:デフォルトの名無しさん
15/11/15 02:56:43.32 m6nrC5L1.net
やっぱりLINQ最高

837:デフォルトの名無しさん
15/11/15 06:35:48.77 Ro5/nML1.net
Formをある程度デザインし終わった時に、ウィンドウそのもののフォントをUIゴシックからメイリオに切り替えると
サイズや配置が変わって一気に崩れるんだけどなんで?
そもそも個別のコントロールにフォントを設定していたらウィンドウのフォントって触る必要がないもの?
みなさんフォントは何使ってるんだろう モリサワとか入れてるんだろうか

838:デフォルトの名無しさん
15/11/15 07:24:16.58 m7boHCrI.net
テキストの幅がちょっと変わっただけで崩れるようなデリケートなデザインを作らないのが基本
業務アプリとかでクソ細かい要求を受け入れなきゃいけないなら全部MS Pゴシック

839:デフォルトの名無しさん
15/11/15 07:33:24.90 wjlQu+Ap.net
>>811
まずFontはアンビエントプロパティ。特に設定してない子コントロールは親のフォントを使う
よってFormのフォント変えると、子コントロールのフォントも変わる。
さらにFormのAutoScaleModeはFontがデフォ。
フォントによってAutoScaleDimentionの値が変わる
よって各コントロールの大きさが変わる。以上。
AutoScaleModeはDPIにしとこう

840:デフォルトの名無しさん
15/11/15 13:44:16.69 Ro5/nML1.net
>>813
具体的なご指導に感謝いたします
独学でやってるとなかなかそうしたものまで及ば�


841:ネいので本とありがたい



842:デフォルトの名無しさん
15/11/15 14:45:22.59 s1AdXoMj.net
dbプログラミングで検索するとentity framreorkと言うのが出て来るがこれは何よ?使わ無くてもいいのか?使うといいの?

843:デフォルトの名無しさん
15/11/15 14:54:00.71 giTGvBPC.net
>>815
DBを扱うためのフレームワークの一つ。
何をどれぐらいの規模で作りたいかによる。
小規模なのは、適当なDBで十分、FEは、機能が多すぎてちょっとしたものに適応するには重すぎるだろう。
サーバーを必要としないようなクライアントアプリならSQLiteあたり使っておけばいい。
ORMがやりたいならDapperあたり使えばいい。

844:デフォルトの名無しさん
15/11/15 15:00:11.33 19LeITHM.net
質問です
enum Syurui{
a,b,c
}
string moji=“a”;
Syurui syurui=/この部分
この部分と書いたところに変数mojiの中身を列挙型のSyurui.aに変換して
syuruiに入れる処理はどう書いたらいいでしょうか?

845:デフォルトの名無しさん
15/11/15 15:04:30.20 giTGvBPC.net
>>817
Syurui hoge = (Syurui)Enum.Parse( typeof( Syurui ) , moji );
もしくは、
Syurui hoge;
Enum.TryParse<Syurui>( moji , out hoge );

846:デフォルトの名無しさん
15/11/15 15:04:59.41 s1AdXoMj.net
>>816
詳しい説明有難うございました。
windows vpsサーバーにmysqlいれていてdbプログラミングの勉強中です。月間ページビュー1000万くらいの規模のdbアプリを目指したいです。そういう場合はEFが良いですか?

847:デフォルトの名無しさん
15/11/15 15:05:44.14 XKYu6RGQ.net
Enum.Parseを使う

848:デフォルトの名無しさん
15/11/15 15:06:56.73 giTGvBPC.net
>>819
その規模になると、SQLiteとかじゃ耐えれないだろうから、EF使うと良いと思う。

849:デフォルトの名無しさん
15/11/15 15:11:31.11 s1AdXoMj.net
>>821
有難うございました。
早速やってみます。1000万pv達成出来たら報告します。

850:デフォルトの名無しさん
15/11/15 15:12:13.39 SModPTsN.net
>>819
アクセス数よりDBの構造の規模で。
どの程度学習してるか、これから学習するのかわからないけど
とりあえず簡単なものを両方のやり方で試してみるのがいいと思うよ。

851:デフォルトの名無しさん
15/11/15 15:26:03.20 19LeITHM.net
>>818
できました~
ありがとうございます
ちゃんと列挙型の変数に格納されて違う値入れたらエラーも出ました

852:デフォルトの名無しさん
15/11/15 16:06:04.89 bBffLHE3.net
Dapper使うとして、SQL文字列を組み立てるじゃん。
stringbuilderで組み立てていったとき、
なんちゃらフラグのときは~みたいな条件がたくさんあると
if,elseとかのネストがきったなくなるんだけど、どうしたらいいんだろ?

853:デフォルトの名無しさん
15/11/15 16:38:51.59 kqjPbh/t.net
SQLをシンプルにして、LINQでごにょごにょする。
かなり綺麗になる。でも、巨大なデータをメモリ上に置くことになるので
これが最適かどうかはわからない。
どうしたらいいんだろう…。

854:デフォルトの名無しさん
15/11/15 16:44:09.23 hXzxGHNH.net
遅延ローディングできないんですかね

855:デフォルトの名無しさん
15/11/15 17:06:33.10 kqjPbh/t.net
ユーザー情報がID、名前、年齢、パスワード、メールアドレスで管理されているとする。
IDが4バイト、名前が255バイト、年齢1バイト、パスワード255バイト、メールアドレス255バイト
だとすると、1レコードで770バイト。1万人を管理するとして、7,700,000バイトつまり7MB。
メモリ数が4GBだとすると、1/600くらいをメモリが占めることになる。思ったより巨大。
例えば年齢が25歳以下のユーザーだけを取り出したいとする。
そのために、.Where(u => u.age <= 25) というLINQ式を追加する。
7MBのデータを一つずつ見ていかなければならないとすると、一つのメソッドでどれくらいの時間がかかるだろうか?



856:完全に適当だが、1レコードで100万分の1秒くらいと予想。 1万人で0.01秒。つまりメソッド一つで0.01秒しかかからない。 メモリもすぐに解放される。1/600と聞くと意外と大きな割合のように思えるが、存在しているのはほんの0.01秒である。 さて、メソッドが連なっている場合はどうなるか。 一つ目のメソッドでWbereメソッドを使っているとすると、二つ目以降のメソッドでは、処理対象のレコードが少なくなる。 それは例えば1万→5000といったように。 すると当然、処理時間も減少する。上の例では0.005秒と半分になる。 対象レコード数が1万程度なら何も問題はなさそうだ。 だから僕は、効率よりもソースコードの綺麗さを取ることにする。 これが100万行とかになると、1メソッドで1秒かかることになる。流石にそれはまずいので、 SQL分にWHERE句を追加して、RDBMSに条件の絞り込みの処理を任せる。 if,elseなどを使う必要がある場合はLINQを、最初から決まっている絞り込み条件の場合はそのままWHERE句を 使用する。そうすることにより、早さを維持しながらソースコードを綺麗にすることができる。



857:デフォルトの名無しさん
15/11/15 17:24:45.76 SModPTsN.net
まあif文とこ別関数にしてメソッドチェーンみたいにしてもいいしね
DBは別のサーバにあることが多いから通信も考慮しないとね

858:デフォルトの名無しさん
15/11/15 17:25:22.41 giTGvBPC.net
100万件レコードがあったとして、何も100万件全部読み出す必要はないし、そんなことするなら設計を見直すべきだろう。
WHERE句とLIMIT句を指定してレコード数を制限して必要な分だけ読み込めばいい。

859:デフォルトの名無しさん
15/11/15 19:36:39.93 CvRB/UR5.net
メソッドチェーンの使い所ってどんな時?

860:デフォルトの名無しさん
15/11/15 19:55:51.71 5wcT3tcL.net
>>831
使いたい時に使えばいい
LINQがいい例
>>819
本当にパフォーマンスが必要ならEFなんてやめとけ
EFは文字列でSQLを作りたくない時に導入するもの

861:デフォルトの名無しさん
15/11/15 20:12:14.42 s1AdXoMj.net
>>832
そういう事ですか!
文字列で
select 文を書く普通のやり方で十分なのでef使うのは中止します。

862:デフォルトの名無しさん
15/11/16 12:51:54.53 Ffgt4uY8.net
質問です
文字列を変数名として扱う方法はありませんでしょうか?

int a=0;
string amoji=“a”;
kansu(ref ここ);
void kansu(ref int a){
Debug.Log(a);
}
「ここ」と書いた場所にstring型の変数amojiの内容である”a”から変数aを用いる
ためのコードの書き方はどうしたらいいでしょうか
変数のリストをテキストファイルで管理しようと思っているのでこういうのが
必要になりました

863:デフォルトの名無しさん
15/11/16 12:55:17.48 AqzFwWr1.net
まっ、その気になればやってやれん事はないのだが、やめろ

864:デフォルトの名無しさん
15/11/16 12:58:11.19 Eod8iMW6.net
>>834
これじゃダメ?
int Kansu(string amoji){
  return "a"→aの処理;
}
テキストファイルから読み込んで変数リストの管理を行うなら別のやり方になりそうだけど

865:デフォルトの名無しさん
15/11/16 13:01:18.51 Ffgt4uY8.net
>>836
その「"a"→aの処理」っていうのはどうやるんでしょうかね?

866:デフォルトの名無しさん
15/11/16 13:05:25.95 mRFC3bAE.net
何故そんなことをしたいのかわからないが…
やめとけ。
ろくなことにならないからw

867:デフォルトの名無しさん
15/11/16 13:14:01.22 6H4dK92G.net
>>834
javascriptなら出来るんじゃないか?

868:デフォルトの名無しさん
15/11/16 13:29:25.05 RuGtzWomJ
mapを使えばできる

869:デフォルトの名無しさん
15/11/16 13:16:03.85 Ffgt4uY8.net
>>838
そんなダメですかw
誰もやってない方法ならやめときます
>>839
c#では一般的なやり方じゃないようですね
別の方法を考えます

870:デフォルトの名無しさん
15/11/16 13:35:59.43 htc6fDTL.net
C#関係なしに一般的ではないと

871:デフォルトの名無しさん
15/11/16 13:36:29.71 vMsjPxDw.net
ev


872:alが使いたいという話でもないのか



873:デフォルトの名無しさん
15/11/16 13:50:11.34 p+PVyYp5.net
ダーティーハックが尊ばれる下痢便言語ではよくある手だろ

874:デフォルトの名無しさん
15/11/16 14:39:35.24 Ffgt4uY8.net
じゃあこういうのはどうですか?
public delegate void Aa();
Aa a;
string kansuu=“Bb”;
public void Bb(){
Debug.Log(“Bb”);
}
a=//ここにaに文字列kansuuの中身の”Bb”を関数Bbに変換するコードを入れる
a();//ここでBb()を呼び出す

875:デフォルトの名無しさん
15/11/16 14:49:16.58 mRFC3bAE.net
やろうとしていることが根本的にズレているんだよ

876:デフォルトの名無しさん
15/11/16 14:52:29.58 Ffgt4uY8.net
>>846
要するに文字列から関数や変数にアクセスしたいって事なんですけど
そんなにおかしいですか
文字列から直接アクセスできないとなれば変数や関数を列挙型でリストアップして
使うときはswitch文で分岐なんていう情けないコードにしかならないと思うのですが

877:デフォルトの名無しさん
15/11/16 15:01:52.67 mRFC3bAE.net
private readonly Dictionary<string,Func<object>> values = new Dictionary<string,Func<object>>();
Hoge(){
  string x = 100;
  this.values[nameof(x)] = () = x;
  int ans = this.GetValue<int>( nameof( x ) ) * 2;
  Console.WriteLine( ans );
}
T GetValue<T>( string name ) => (T)this.values[name]?.Invoke();
みたいなことをやれば辛うじてできなくはないが、保守性も効率も最悪なので普通はやらない。

878:デフォルトの名無しさん
15/11/16 15:03:36.05 vMsjPxDw.net
Dictionary に入れといて呼ぶとかでいいじゃん、、
まあReflection使えばできる
public static void Bb()
{
Debug.WriteLine("Bb");
}
void test()
{
Type thisType = GetType();
string kansuu = "Bb";
MethodInfo mi = thisType.GetMethod(kansuu);
mi.Invoke(null, null);
}
とか、、、delegateでもいけるかな

879:デフォルトの名無しさん
15/11/16 15:13:31.76 Ffgt4uY8.net
>>848
>>849
Invokeというメソッドを今初めて知ってよくわからないんですけど
どうもかなり遅いらしいですね
ゲームを作っているのでそれでは都合が悪いです
やっぱりずらずらとリストアップする方法でやりたいと思います
ありがとうございました

880:デフォルトの名無しさん
15/11/16 15:14:46.20 Eod8iMW6.net
これID:OxpghztZだろw

881:デフォルトの名無しさん
15/11/16 15:21:13.63 Ffgt4uY8.net
>>851
バレちゃったw
結局テキストファイルを読み込んでやる事にしたんです
それでテキストファイルに変数名や関数名を書きたいなぁと思って質問しました

882:デフォルトの名無しさん
15/11/16 15:39:44.62 mRFC3bAE.net
ActionとかFuncのInvoke自体は、普通のデリゲートコールなので遅くない。
Action a => () => { } ;
a(); と a.Invoke() は、同じことをやっている。
null伝播使うとき、 ?.() という書き方ができないので、?.Invoke() にしてあるだけだ。
もちろん、普通のメソッドに比べれば、インライン化されないなどの僅かな差はあるだろうが、気にするほどではない。
遅いのは、>>849がやってるようなリフレクションだ。
こいつは、桁違いで遅い。ExpressionTreeで実行時にデリゲートを構築してやれば、速度の問題はある程度解消できるだろう。
あとは細かいところで変数のキャプチャ、ボックス化が生じてパフォーマンス低下につながることになる。

883:デフォルトの名無しさん
15/11/16 15:46:42.66 Ffgt4uY8.net
>>853
正直初心者なのでその区別もつかないです
dictionaryとかならわかる範囲なのでそれでも使おうかなと思ってます
多少コードが冗


884:長になっても



885:デフォルトの名無しさん
15/11/16 16:12:09.04 4iBaA+8B.net
関数と文字列が予め決まっているなら、switch文で分岐して関数呼ぶのが早いだろうが

886:デフォルトの名無しさん
15/11/16 16:42:18.72 Ffgt4uY8.net
>>855
やっぱりそれが一般的なんですかね
別のゲームにも再利用しやすい仕組みにできないかなと色気を出してしまったのも
今回こういう質問をした理由なんですけども

887:デフォルトの名無しさん
15/11/16 16:46:44.96 mRFC3bAE.net
よくわかっていないうちは、今後再利用しようなんてやめとけ。。
再利用しようとしたときには、(誰だ、この糞設計したのは!糞コード書いたやつ死ねよ?…自分か…)ってなってゴミと化すだけだから。

888:デフォルトの名無しさん
15/11/16 18:04:07.44 /wMXw7Lm.net
型が決まってて値取り出したいだけならシリアライズで十分とも思うけども。

889:デフォルトの名無しさん
15/11/16 18:40:32.23 LDaVIeza.net
>>858
「変数のリストをテキストファイルで管理しようと思っている」って>>834で書いてるから、変数の値は保存してないんじゃねえの?
全く意味不明だけど

890:デフォルトの名無しさん
15/11/16 19:19:50.00 Ffgt4uY8.net
>>858
シリアライズとはどういう機能なんでしょうか?
ググってもイマイチわからなかったのでこの件とどういう関係があるのか教えてもらえませんでしょうか

891:デフォルトの名無しさん
15/11/16 19:19:59.69 /wMXw7Lm.net
>>859
あ、そうか、外してたな

892:デフォルトの名無しさん
15/11/16 19:37:02.75 mRFC3bAE.net
シリアライズというか、設定値なりパラメータをソースコードじゃなく外部で管理したいだけなら、XMLとかJSONとかで読み込めば良いだけだろう。

893:デフォルトの名無しさん
15/11/16 19:38:00.43 diuJbJ+U.net
>>860
シリアライズはオブジェクトを通信で送るのに使う
ローカルファイルへの保存に使うのはドツボにはまるのでやってはいけない
XmlSerializerみたいなスキーマありきの奴ならいいけどね

894:デフォルトの名無しさん
15/11/16 19:42:53.32 mRFC3bAE.net
>>863
設定データの保存用にBinaryFormatter使ってたら、古いデータとの互換性取れなくなってドツボにはまったことあるわ。

895:デフォルトの名無しさん
15/11/16 20:34:38.26 HIZPDz5u.net
クソみたいなゲーム作ってないで宿題やってクソして寝ろ

896:デフォルトの名無しさん
15/11/16 20:45:10.02 Ffgt4uY8.net
>>865
うるせーなw
大きなお世話だw

897:デフォルトの名無しさん
15/11/16 22:21:51.30 bfEVOxks.net
>>ID:Ffgt4uY8
こういう人って必要な分だけネットで覚えたから知識に穴だらけ
基礎もままならない状態だから、ある目的のためにダメな手段を
思いつきでやろうとするから>>834のようなことになる
newを100回書こうとしたりね
目的を自分の中で明確にして質問すればいいのにな
ここにいる人も気づいているのに
からかい半分に間違った手段のために律儀に答えようとしてるし
みんなもわかっているんだろ、本当に彼がしたいことを
焦る気持ちはわかるけど、まずは基礎だよ
基礎がしっかりしてないと、コピパーになるよ

898:デフォルトの名無しさん
15/11/16 22:27:42.07 LDaVIeza.net
変数のリストをテキストファイルで管理ってのが理解不能すぎて解決策が出せないんだよな
変数名しか管理しないんならソースコードに直接書けばいいとしか思えないんだけど、多分深い理由があるんだろうからテキストファイルから変数を取得する方法を教えるしかない

899:デフォルトの名無しさん
15/11/16 22:41:27.09 p+PVyYp5.net
別に間違ってる奴は間違ってるまま突っ走ってくれて構わんだろ
垂れ流しのウンコを擦り付けてくるなよってだけ

900:デフォルトの名無しさん
15/11/16 22:43:40.13 p+PVyYp5.net
DSLを設計するのが好きな奴と関わりあいになりたくない

901:デフォルトの名無しさん
15/11/16 22:48:59.73 Eod8iMW6.net
皆律儀に構ってやるから居ついちゃうんだよな

902:デフォルトの名無しさん
15/11/16 22:50:19.96 mRFC3bAE.net
たぶん設計とか何も考えてないと思う…
おそらく、変数というものを最近知ったんだろう。
だが、クラスを自分で定義したり、Dictionaryを使ったりする方法は知らないと思われる。

903:デフォルトの名無しさん
15/11/16 23:01:20.17 AqzFwWr1.net
どうしても必要不可欠になったとか
これができなきゃプロジェクト崩壊、ヤバイ死ぬとか
そういう話なら、答えてやらんでもないがね >文字列を変数名
最初から使用を前提にするとか有り得ない

904:デフォルトの名無しさん
15/11/16 23:41:45.35 Ffgt4uY8.net
ボロクソ言ってくれるよなぁw
俺のやりたい事はアドベンチャーゲームに近いんだけどゲームを「シナリオ単位」
に分けてそのシナリオを遷移させる事で
ゲームを進めるという仕組みにしたかったんだよ
で、最初はシナリオクラスをたくさんnewして並べようと思ったんだけどそれはやめて
テキストファイルから読み込んでやる事にした
それでそのシナリオの中には○○関数を呼び出したいとか○○変数を使いたいみたいなのも
含まれる
それでテキストファイルの中にaaaaと書いてあって
それを読みだしてaaaa変数が使えたら便利なんじゃないか?
というのが今回の質問の趣旨

905:デフォルトの名無しさん
15/11/16 23:46:31.65 diuJbJ+U.net
「シナリオプレイヤーを作る」と割り切って考えてシナリオとプレイヤーの仕様を明確にすれば、
変数を文字列で選ぶようなメタな仕組みは必要ないと分かるはず
初心者はそこをごっちゃにするからおかしくなる

906:デフォルトの名無しさん
15/11/16 23:59:23.74 bfEVOxks.net
>>874
わかるよーADV用のスクリプト言語開発したいんでしょ
吉里吉里みたいなもんでしょ
UnityだとJokerScriptというのがあるみたいだね
自作のゲーム用フレームワークを作って開発効率あげようってことでしょ
ゲーム制作は専門外なのでぼくは答えられませんけど
がんばってね!

907:デフォルトの名無しさん
15/11/17 00:06:19.08 R+1w9ien.net
>>875
設計がおかしいというのは薄々わかってました
今回おかしいと言われてようやく明確な自覚を持てました
それがわかっただけで有意義な質問だったと思います
ありがとうございました
>>876
そういう事なんですよ
スクリプトというほど高等な物じゃなくて簡易的なものなんですけど

908:デフォルトの名無しさん
15/11/17 00:10:46.96 0HyN1ztj.net
はじめからどういう目的があるのかを質問に含めないから厄介なことになるんだ。
BASICみたいな感じで簡易スクリプト言語を組んでしまえばいい。
MSG
何かのメッセージ
MSGEND
SET A=100
GET B,A
みたいなやつを決めて、C#側での変数管理は、Dictionary<string,object> values;のようなディクショナリでまとめておいて、
SET命令が出てきたら、values["A"] = 100。
GET B,Aなら、values["B"] = values["A"] って感じで実行するように組んでおけばいい。

909:デフォルトの名無しさん
15/11/17 00:16:26.67 WTj4x1Uo.net
>>877
アスペなのかもしれないから教えておくけど、875はそういうスクリプトを使えってことを嫌味を込めて言ってるんだと思うぞ
車輪の再発明は無駄だからな

910:デフォルトの名無しさん
15/11/17 00:19:58.23 R+1w9ien.net
>>878
その考えで根本的に作り直したいと思います
まだ準備段階なのでやり直しが効きますので
>>879
自分で作るというのはすでに決まってます
だから小規模でまとめようと思ってます

911:デフォルトの名無しさん
15/11/17 00:37:33.94 3fiu8XQQ.net
ハッキングして遠隔操作みたいのをしてみたいんですけど、どうすればいいんですか?
学校でC言語とJavaは習いました。

912:デフォルトの名無しさん
15/11/17 01:07:53.71 lYlDUfoh.net
まず自殺します

913:デフォルトの名無しさん
15/11/17 01:09:58.66 +UlWRHgW.net
>>874
C#でやるべき方法じゃないと思う
動的言語rubyとかでやったほうがたぶん早い

914:デフォルトの名無しさん
15/11/17 01:12:35.98 MdYEWsJu.net
アスペに「アスペなのかもしれないから教えておくけど」と言ったところで
アスペなんだから伝わるわけないわな
無駄無駄ァ

915:デフォルトの名無しさん
15/11/17 01:13:29.87 slq8dUH/.net
>>880
できたよ
class Player{
 


916:public void Say(object str){   Console.WriteLine(str); }  public void Dance(object d){}} class Game{  List<Action<object>> scenario = new List<Action<object>>();  public void Init_Scenario() {   var akane = new Player();   var player = new Player();   scenario.AddRange(new Action<object>[] {    o=>akane.Say("おはよう"),    o=>player.Say("おはよう"),    o=>akane.Dance(1),    o=>player.Say("いきなり踊るな!"),   });}}



917:デフォルトの名無しさん
15/11/17 01:14:37.99 lYlDUfoh.net
IronPythonでも組み込んどけばいい
自作する価値はない
シベリア超特急エンドレスで見た方がマシ

918:デフォルトの名無しさん
15/11/17 01:20:05.47 0HyN1ztj.net
c# 6.0ならRoslyn for Scriptingが使えるのでスクリプト機能を簡単に組み込めるだろう。

919:uy ◆Qawu9.2l1E
15/11/17 13:02:45.67 +c9tLHNn.net
>>878
そんな作りで効率上がると思ってんの?wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

920:デフォルトの名無しさん
15/11/17 13:12:19.65 0HyN1ztj.net
何このアスペwww

921:uy ◆Qawu9.2l1E
15/11/17 13:26:31.53 +c9tLHNn.net
やりたい事の最終目標はそのシナリオごとに単体で開発して起動テストが出来て、そのままゲームに組み込める形だろ
HTMLを書いてブラウザで表示させるようなものをゲームプログラミングで行う
つまりブラウザ開発

922:uy ◆Qawu9.2l1E
15/11/17 13:33:24.71 +c9tLHNn.net

>877 :デフォルトの名無しさん:2015/11/17(火) 00:10:46.96 ID:0HyN1ztj
>はじめからどういう目的があるのかを質問に含めないから厄介なことになるんだ。
>BASICみたいな感じで簡易スクリプト言語を組んでしまえばいい。

>MSG
>何かのメッセージ
>MSGEND

>SET A=100
>GET B,A

>みたいなやつを決めて、C#側での変数管理は、Dictionary<string,object> values;のようなディクショナリでまとめておいて、
>SET命令が出てきたら、values["A"] = 100。
>GET B,Aなら、values["B"] = values["A"] って感じで実行するように組んでおけばいい。


低能晒しあげ

923:デフォルトの名無しさん
15/11/17 13:43:42.85 R+1w9ien.net
>>891
俺はこの方法でやろうと思う
テキストファイルを読み込む時に個々の命令はクラスの配列に全部入れてしまう
だからゲーム中に命令解釈のなんていうのかオーバーヘッドみたいなのは発生しない
それでちゃんと動くと思うよ

924:デフォルトの名無しさん
15/11/17 14:37:25.22 lYlDUfoh.net
ぐだぐだ言ってないで手を動かした方がいい
その方が挫折が早くなって時間を有意義に使える

925:uy ◆Qawu9.2l1E
15/11/17 15:03:15.83 +c9tLHNn.net
>>892
動くと思うけど動かせないと思うよ
技術力的に

926:デフォルトの名無しさん
15/11/17 16:22:29.57 slq8dUH/.net
>>892
>>885
シカトすんな

927:デフォルトの名無しさん
15/11/17 16:58:51.42 R+1w9ien.net
>>895
回答遅れてすいません
それはキャラクターの動作をリストで持ってるだけですよね
俺としてはシナリオにそのシナリオのラベルや分岐情報などをつけたいと思ってるんです

928:デフォルトの名無しさん
15/11/17 17:00:51.13 7LzXRzXH.net
>>896
それ、やるにしてもXMLで管理すればよくない?

929:デフォルトの名無しさん
15/11/17 17:11:59.62 CRnDMuhn.net
>>896
全部書かなきゃわからんのか!
あれを応用すれば言ってること全部できるだろ!
分岐するなら新しいリスト作ればいいだろ!
テキストから読むこともない
何が不満なんだよ!アホ!

930:デフォルトの名無しさん
15/11/17 17:16:13.59 R+1w9ien.net
>>898
やってくれなんて言ってませんw
どう回答したものかと困ってこういう書き方になってしまいました
スンマセン
当然自分でやります

931:デフォルトの名無しさん
15/11/17 17:18:33.49 kJodvt3B.net
それなら普通にコード書いたほうが良くないか?

932:デフォルトの名無しさん
15/11/17 18:34:42.67 3nwXwekt.net
シナリオを人間が書きやすくする必要がないならコードで書いたほうが早いな
どうせクソゲームなんだろうから誰もシナリオなんて書いてくれないわけで
自分でひりだすんだろうからコードで書いたほうが時間の節約になるな

933:デフォルトの名無しさん
15/11/17 18:37:45.69 kJodvt3B.net
ノベルゲーとかなら、わざわざゲームエンジンから作らなくても、既に実績のある吉里吉里とか使った方がいいしな

934:デフォルトの名無しさん
15/11/17 19:05:22.52 sj29+6cn.net
あんまりレスの内容見てないけど、ゲームできたら見せてくれよ

935:デフォルトの名無しさん
15/11/17 19:20:52.79 A3FVmbuJ.net
どんなゲーム?
c#を


936:覚えるまでみたいなゲームだと面白いな ああああはレベルが上がった! if文を覚えた!条件分岐ができるようなった!



937:デフォルトの名無しさん
15/11/17 21:30:57.69 lYlDUfoh.net
それはどこかがやってたような?

938:デフォルトの名無しさん
15/11/17 22:16:03.94 jwVZTkmN.net
プレイヤーが作った虫同士をネットで対戦させるようなゲームがやりたいな

939:デフォルトの名無しさん
15/11/17 22:16:57.43 SR74YNAG.net
>>887
roslynのc#scriptingはまだプレリリースだし、仕様が安定してないところがあるので、
luaとかの組み込み用言語使った方がいいと思うなぁ。
c#scriptingはなかなか魅力的だけど。

940:uy ◆Qawu9.2l1E
15/11/17 22:19:04.52 H8TlhYuF.net
リアルタイムで自機のショットアルゴリズム記述して
進んでいくSTG作ろうとした事あったけど色々無理があってやめた

941:デフォルトの名無しさん
15/11/18 00:33:12.41 SNPtSU1p.net
面白そうではあるな
近い趣向のものでは、NPCに戦略支持を出してくものがあるけど
ビジュアルスクリプトにするにせよ、テンポ調整が難しそうだな
むむむ…

942:デフォルトの名無しさん
15/11/18 07:37:45.36 by9GKQSy.net
ファミコン時代の記憶が蘇ったわ
ブリーダー (ディスクシステム)
URLリンク(youtu.be)

943:デフォルトの名無しさん
15/11/18 08:05:33.01 G8OYuYmR.net
Dispose()を呼び出さないといけないクラスがありますが
Formアプリを強制終了したり、Dispose()を呼び出さないでFormを終了した場合
何か問題になったりしますか?

944:デフォルトの名無しさん
15/11/18 10:21:52.47 4O1y0zjC.net
>>911
そんなこと気にせずにドンドン必死でプログラム書けばいつか答えが見つかるよ。

945:デフォルトの名無しさん
15/11/18 12:46:54.84 /pyqs2gq.net
>>911
using使いなさいよ

946:デフォルトの名無しさん
15/11/18 14:35:01.75 8OGiKQJm.net
Formにusingなんか使えないだろw
ShowDialogで表示してるなら別として…

947:デフォルトの名無しさん
15/11/18 16:00:50.19 1FcAcZvq.net
Formに使う話にいつ変わったの?

948:デフォルトの名無しさん
15/11/18 20:35:15.11 by9GKQSy.net
>>911
参照が切れればいつかはGCされる
プロセスが終了すればOSに回収される

949:デフォルトの名無しさん
15/11/18 22:21:51.16 LvRn/Spf.net
>>914
いつもusingしてるが
お前は何を言っているんだ低能

950:デフォルトの名無しさん
15/11/18 22:53:39.77 XBTkD2/m.net
Usingもわからな・・・あ、ここ初心者スレかw

951:デフォルトの名無しさん
15/11/18 22:55:58.03 s071DD2K.net
単芝は余裕ぶりたい心の見栄

952:デフォルトの名無しさん
15/11/19 01:22:50.82 6x5+bHoL.net
んんんんっwwwwwwwwww

953:デフォルトの名無しさん
15/11/19 05:51:38.88 cNWt69lk.net
クラスを作る時
インターフェースから書いていきます?
実装から書いていきます?

954:デフォルトの名無しさん
15/11/19 06:08:49.37 yq8an3Lp.net
インターフェイス前提のクラスなら実装から書かないでしょ

955:デフォルトの名無しさん
15/11/19 06:18:09.35 cNWt69lk.net
あ、違った
アプリ作る時
インターフェースから作っていきます?
実装から作っていきますか?
今インターフェースを勉強しているんだけど
インターフェースから作った方が綺麗なコードが
書けるんじゃないかなって思ったんですけど

956:デフォルトの名無しさん
15/11/19 07:14:47.20 my8rYb+Z.net
先にインターフェイスを作るのなら、その前に設計書を書かなければならない
最初に全体の完璧な設計が出来上がってるのであれば当然インターフェイスから作るのが後戻りがないわな
それができないんなら汚くていいから実装→リファクタ

957:デフォルトの名無しさん
15/11/19 07:43:41.76 YneMFXa5.net
C#のTextBoxコントロールで
MultiLineプロパティをtrueにセット複数入力が出来る場合で
入力エリアの一番下の位置に空白が出来るのを何とかしたいのですが
何か方法はありませんでしょうか?
現状 /=入力スペース
-----------------------------
1233333/////////////////////スクロールバー
1233333/////////////////////↑
1233333/////////////////////
1233333/////////////////////↓
    ←ここに余白が出来る。エンターを押すと更に下に移動する
------------------------------
希望 /=入力スペース
-----------------------------
1233333/////////////////////スクロールバー
1233333/////////////////////↑
1233333/////////////////////
1233333/////////////////////↓
------------------------------
よろしくお願いします。

958:デフォルトの名無しさん
15/11/19 07:51:55.38 cNWt69lk.net
>>924
インターフェイスの抽出なんて機能があったんだ
設計書は書けないから実装からのほうが良さそうですね

959:デフォルトの名無しさん
15/11/19 08:59:06.47 jS0xGfYR.net
ブラッド・コックスとトム・ラブがObjective-Cを作り「この言語はCのメモリ安全性とSmalltalkの高速性を合わせたものだ」と宣言する。
現代の歴史家は2人が失読症ではないかと疑っている。
URLリンク(twitter.com)

960:デフォルトの名無しさん
15/11/19 10:30:02.98 A33ByGDA.net
test

961:デフォルトの名無しさん
15/11/19 10:39:22.99 A33ByGDA.net
interfaceはセマンティクスの定義なんだよ。
チーム開発においてクラスメンバのシグネチャを強制すれば振る舞いを誰が実装しても大きな問題おきないでしょ。
実装なんてブラックボックスでいいんだよ、利用者はシグネチャさえわかればいいんだから。
数百、数千億規模のプロジェクトでもまともにinterface作ってない場合多いからレベル低すぎるね。
上流がコーディングできなんじゃ設計なんてできるわけないんだよ。

962:デフォルトの名無しさん
15/11/19 12:49:16.71 G20bfr3g.net
>>925
自力でやるしかないんじゃね?

963:デフォルトの名無しさん
15/11/19 12:58:52.05 h0D34cF3.net
>>925
何を言ってるのかよく分からない。
そんなこと起こらんけど。
>>927
気付いてないのかもしれないが、コピペマンのお前さんこそ統合失調の疑いが濃厚だよ
馬鹿じゃないの。

964:デフォルトの名無しさん
15/11/19 13:16:57.34 WApHXGH2.net
>>925
TextBoxのHeightを小さくして入力スペースぴったりになるようにすれば?

965:デフォルトの名無しさん
15/11/19 13:46:03.31 7AHNe+Hm.net
>>929
本当それ
基礎中の基礎なのにinterfaceの使い方もしらないオレオレ設計者しかいないわ、うちの会社
1.1 ボタン押下時イベント
みたいなExcel方眼紙にオレオレ詳細設計書書くのが普通になってるし

966:デフォルトの名無しさん
15/11/19 14:36:23.31 j6gYHvV7.net
>>925
最後の改行を消せ

967:デフォルトの名無しさん
15/11/19 14:42:03.70 gXUiymqK.net
3行以上書く奴はキチガイ←せいかい

968:デフォルトの名無しさん
15/11/19 15:07:03.92 h0D34cF3.net
>>935
唐突に意味不明なこと書くお前がキチガイなんだ馬鹿。

969:デフォルトの名無しさん
15/11/19 15:13:15.38 f/FwklKJ.net
>>925
若いもんはそういう些細な事が気になるもんじゃ。

970:デフォルトの名無しさん
15/11/19 15:28:03.26 A33ByGDA.net
極論すると要件を理解してる前提であればInterfaceあれば仕様書や手順書なくたってコーディングできるんだよ。
運用の問題はアトリビュート、共通化したい機能はトレイト・ミックスインで対応可能。
いい加減、ドキュメント作成より実装に工数かけようぜ。

971:デフォルトの名無しさん
15/11/19 16:07:33.31 PQiMaMHb.net
URLリンク(security.srad.jp)
昨今のマイクロソフトは日々おかしな事しでかすな
もう、めんど臭いし、全員でLINUX移ろうぜ

972:デフォルトの名無しさん
15/11/19 16:26:04.89 h0D34cF3.net
>>938
誰と戦ってるの?w

973:デフォルトの名無しさん
15/11/20 00:05:26.71 U2PcGSVo.net
xmlやjsonをファイルで扱いたいのですが、\などをエスケー�


974:vしないようにreadwriteするにはどうすればいいでしょうか?



975:デフォルトの名無しさん
15/11/20 06:50:13.45 0b9D5XOx.net
もともとエスケープなんかされない
ソースコード上にリテラルとして文字列書く場合だけ\\か@使う

976:デフォルトの名無しさん
15/11/20 15:56:07.37 JvKaxnpE.net
>>925の人気に嫉妬

977:デフォルトの名無しさん
15/11/20 16:58:48.84 IfcC+Den.net
GraphicsPathのAddStringで文字列の先頭に空白があると削除されてしまいます。
これを回避する方法はありますでしょうか。

978:デフォルトの名無しさん
15/11/21 17:21:44.96 hR7d38wi.net
foreach(x,,,)
{
foreach(y,,,)
{
yield return x==y
}
}
foreachが入れ子になっているのは
ラムダで表現するのは無理だよね?

979:デフォルトの名無しさん
15/11/21 17:25:46.50 JFj+7Wuj.net
>>945
SelectMany

980:デフォルトの名無しさん
15/11/21 17:50:16.36 w45vfkw8.net
string str = "ああ123.45abc678";
の時にstrを数値に変換するとして、変換出来る最初の部分文字列
"123.45"
を数値化したいのですが、そういう関数ありますか?
さらに、
string str = "ああ1.2E3abc678";
なら、
1200
が得られるといいのですが。
つまり全角半角どちらでも良くて、かつ指数表示にも対応している。
標準の関数でありますか?

981:デフォルトの名無しさん
15/11/21 23:22:04.67 lPfCyIV+.net
列挙型の要素を動的に追加したり削除したりってできる?

982:デフォルトの名無しさん
15/11/21 23:23:57.45 GdR6w5S8.net
通常の手法ではできません

983:デフォルトの名無しさん
15/11/22 00:27:01.45 iT1tZCI1.net
>>948
目的は?

984:デフォルトの名無しさん
15/11/22 03:00:05.12 JSdSEHUd.net
>>950
Unityのエディタとスクリプトが依存しあってる環境でエディタ上での変更に柔軟に対応したい(つまり一々コードを手作業で書き換えず楽したい)のと、
文字列を引数にして検索するメソッドを使う際にできれば列挙型か文字列定数で安全に取り扱いたい
というのが目的だったけど列挙型のスクリプトを生成するスクリプトを書くのが現実的なのかな

985:デフォルトの名無しさん
15/11/22 03:03:06.28 o24m0lwv.net
またID:OxpghztZかよ

986:デフォルトの名無しさん
15/11/22 03:06:45.63 u++Mym7W.net
ばれてやんのwww
お前もうコテハン名乗れよwww
お前ぐらいだよ。そんな変な質問するのwwww

987:デフォルトの名無しさん
15/11/22 05:54:12.53 c83Tb2v8.net
もう馬鹿なんじゃないかっていうくらい基本の質問で恥ずかしいんですが・・・
実際の開発でメンバー修飾子(public intenal etc..)ってどういう基準でつけてるもんなんですか?

データベースと連携した業務アプリケーションをちまちま作ってるんですが、
privateにしなきゃというところは、何となく考えながらつけてるんですが、
そうでないところで(他クラスからアクセスさせたいプロパティとか)
publicでいいのか、せめてinternalをつけた方がいいのかどうも明確に意識して設計できないのです
開発チームとかあるわけでなく、一人で作っていて使い分けの事例なんか見ててもピンとこないというか

988:デフォルトの名無しさん
15/11/22 06:06:55.82 zwZfG106.net
>>954
パッケージとして独立させてAPI公開する気がないんだったら
迷うところはpublicでいいだろ
つか一人で作ってるなら全く気にする必要ないような…

989:デフォルトの名無しさん
15/11/22 07:37:23.55 PowSWGiN.net
>>947
全角/半角変換、日本語を扱うのは、Linuxでは、
nkf ライブラリを使うけど、C#には無いの?
それか最初に、全角を半角に変換してから、正規表現を使えば?

990:デフォルトの名無しさん
15/11/22 13:10:53.96 eHZxB5Wh.net
>>952
別人だよw
ID:OxpghztZは俺だからw

991:デフォルトの名無しさん
15/11/22 13:21:21.34 YBzI3bTB.net
ゲーム作ろうとしてる奴なんか十把一絡げでいい
総じて低レベルだから

992:デフォルトの名無しさん
15/11/22 16:34:36.06 2L1cven6.net
プログラミングでゲームを作ろうというというのは、
誰にでも思いつく発想だからな
殆どは挫折する

993:デフォルトの名無しさん
15/11/22 17:26:57.27 KDgQ57Ye.net
だがベーマガ時代はそうはならなかった。
日本中の少年少女がゲームプログラミングに熱中し、
作成したゲームのソースをベーマガという雑誌に投稿し掲載されたものだ。
今、日本のIT業界を支えてるのは高スキルな彼らである。

994:デフォルトの名無しさん
15/11/22 17:52:36.89 Z+udvk0o.net
>>960
前も書いた気がするけど、ベーマガなんてお子様向けの子供だましの雑誌だよw
まあ評価は世代にもよるだろうけどね。
少なくとも俺の評価はそう。
まあそれはどうでもいいけど、そういうネトウヨ的自己陶酔は傍目に気色悪い。
それが自己陶酔だって気が付いてないんだろうけど。
ついでに言うと、ベーマガの時代(って言っても20年あるから一口には言えないが)はゲームも
PCのハードも素朴な物だったから低スキルでもそれなりに評価されるものが作れたが、
今の時代WindowsにしろAndroidにしろそもそもゲーム向きじゃない上に
ユーザーの目も肥えてるから、はっきり言って今の時代ゲームを作る方が何十倍も大変だと思う。
実際問題今時のゲームプログラマってプログラマ全体の中でも地頭がよくないと出来ないんじゃないの?

995:デフォルトの名無しさん
15/11/22 18:06:41.65 YBzI3bTB.net
ゲーム作ろうとしてる奴とゲームプログラマを同列に扱った覚えはない
ゲーム作ろうとしてる奴はゲームプログラマではない

996:デフォルトの名無しさん
15/11/22 18:31:41.01 GP1Qn5OD.net
ベーマガのプログラムを今のゲーム制作と比較するのは低能のすること。
企画 + ゲームデザイン + プログラミングをすべて一人でやってたのをお子様とか言っちゃうのはゆとりかな?

997:デフォルトの名無しさん
15/11/22 18:34:49.04 fPUy/JrI.net
>>961
× 実際問題今時のゲームプログラマってプログラマ全体の中でも地頭がよくないと出来ないんじゃないの?
○ プログラマって本当は地頭がよくないと出来ない
本来の問題は日本では頭が悪い奴がプログラマになって無駄なデスマーチ&生産性が上がらないための低給料
というデフレスパイラル的なものに陥っていることだろ。(アメリカではこれを回避できているらしい)
ゲームプログラマだけが特に頭がいい必要があるとは思えない、というか、
本来はどの方面のプログラマも頭がよくないと駄目なんだよ。
ただ、プログラミングなんて手段でしかないんだから、
ゲーム好きがゲームを作ろうとするのは自然なことだと思うし、いいことだと思うよ。
とはいえ、今ここでやろうとしている2人は両方とももう少し基本を押さえるべきではあるが。
C#は軽量言語ではない。ほぼ全てのケースに対して対応できる記述能力/ライブラリは既にある。
逆に言えば、初心者が先人が全く想定していなかったケースにいきなり当たる確率はほぼ無い。
今お前らがやろうとしていることが出来ないのは、やり方が間違っているからだ。
(普通は違うやり方で実装し、その方がいい/それで問題ないからその実装手段が提供されていない)

998:デフォルトの名無しさん
15/11/22 18:42:55.24 NW0PnoYA.net
>>948
文脈わからんし動的に追加、削除の含意も知らんが
それってDictinary<string,int>の仕事じゃないのって、アドバイスしとくね
あとは列挙型の内部実装がどうなってるかしらないけどどうせクラスか構造体かでしょ
他にあるとすればリフレクション使ったりで列挙型クラスを動的構築するとかになるのか?
まあやりたくないよね、そんなこと

999:デフォルトの名無しさん
15/11/22 18:47:35.92 j30Wwuuw.net
List<int,string,double>みたいなのは
将来使えるようになる?

1000:デフォルトの名無しさん
15/11/22 18:51:26.08 NW0PnoYA.net
>>966
なにそれ?どうやって使うの?

1001:デフォルトの名無しさん
15/11/22 19:03:27.41 Z+udvk0o.net
>>964
本質的にプログラマに向かない奴がプログラマになってる(それで2chとかでブラックがどうのとか自分の無能を棚上げして
被害妄想全開)って現状認識はその通りだと思うが、プログラマって一口に言っても要求される能力は全然違うわけで、
例えばC#で特定企業向けの業務ソフトを作ってる人間とゲームプログラマじゃ、恐らく後者の方が圧倒的に
高い能力が要求されるのはまあ事実だと思うよ。
そのくせ社会的な評価はあんまり高いように思えんから何か損な仕事だな。
俺はゲームプログラマじゃないけどね。

1002:デフォルトの名無しさん
15/11/22 19:03:55.53 DtMt13r7.net
Tupleの事でしょ
今でもプロパティ名がItem1~って固定な簡易Tupleならある
でもプロパティ名もその場で付けれるちゃんとしたTupleの実装予定はあるよ

1003:デフォルトの名無しさん
15/11/22 19:06:02.36 KDgQ57Ye.net
>>961
ゆとりの言い分はよく分った。

1004:デフォルトの名無しさん
15/11/22 19:08:06.34 +71DZHa4.net
技術を磨くだけだったら好きなら誰にでもできる
社会的に成功するのはその上ビジネスが分かってる奴で、これは稀

1005:デフォルトの名無しさん
15/11/22 19:12:42.09 Z+udvk0o.net
>>970
俺から見たらベーマガ世代こそどっぷりゆとり世代なんだけど。

1006:デフォルトの名無しさん
15/11/22 19:15:10.11 fPUy/JrI.net
>>969
ちょっと脱線するが、Tupleって結局何がいいんだ?
構造体やクラスで問題なく実装できるよね?
ただ流行っているみたいだから、何か利点があると思うのだが、、、

1007:デフォルトの名無しさん
15/11/22 19:21:08.24 +71DZHa4.net
>>973
タプルがじゃなくて関数型プログラミングが(意識高い系の連中の中で)流行ってる
関数型プログラミングでは複数の値を一つにまとめて扱いたいことが多いのでタプルが必要
オブジェクト指向プログラミングならフィールド書き換えればいいので本来不要

1008:デフォルトの名無しさん
15/11/22 19:30:38.64 KDgQ57Ye.net
>>972
中高生が一種や二種を取るんだ。そして当時の試験範囲は大学レベルの英語や数学、そして商業、工業も含まれてる。
おれも余裕で合格したけどね。今みたいに簡単じゃないよ?選択マークじゃなく筆記だし。

1009:デフォルトの名無しさん
15/11/22 19:37:26.35 fPUy/JrI.net
>>968
ゲーム:チューニングゴリゴリ、ただし基本的に1発出して終わり
特定企業向け業務ソフト:動けばいいが、長期的メンテナンスが求められる
ゲームプログラミングの方が単品では難しいのは事実だけど、
業務ソフトには長期メンテを考慮した構成が求められる。(難しさの方向が違う)
ただ、チームとしては、ゲームは10人中10人バリバリでないと駄目なのに対し、
業務ソフトなら、トップ1人が美しい構成を考え、残り9人は並みでいい。
だからゲームチームを作る方が難しいし、
一般論としてゲームプログラミングの方が難しいというのもその通りだろう。

1010:デフォルトの名無しさん
15/11/22 19:55:16.96 NW0PnoYA.net
ゲームはオクルージョンカリングとか空間分割木とか意味不明なまでに難しい世界があるからな
単純な2Dゲーなら今はマシンパワーもあるし、複雑怪奇な最適化はしなくてもいいと思うけど
マルチスレッドとか、メモリアクセスやファイルアクセスのタイミングとかやりだすと
複雑そうな感じは受ける

1011:デフォルトの名無しさん
15/11/22 20:19:08.43 fPUy/JrI.net
>>974
さらに脱線して申し訳ないのだが、関数型プログラミングは何で流行っているの?
正直、余りメリットを感じないのだが�


1012:B(なお使っているのはJavaScript) HaskellかLispやらないと理解不能かな? 言っちゃ悪いが、Lispなんて昔からあっても誰も使ってなかった=実用レベルに達していないゴミ だと考えている。それとは別に、内部状態を持たないとか、カリー化とかで検証がし易くなるのは事実だけど、 今その手の言語を使っている奴らがそこまでの検証レベルを要求されているとは到底思えない。 (言語いじって遊んでいるだけのように見える) JavaScriptとかでも(俺は本業ではないが) ・ローレベルコードは書かない(キリッ (for文を絶対に使わず、map(匿名関数)で処理) ・内部状態を持たない(キリッ (途中一部分だけで済む場合も頭から全部処理) も多くて、確かにこの方法ならバグりにくいが糞遅い。実感としては大半がこんな感じ。 お前ら明らかに方向を間違ってるよなーとしか思えないのだが。 (問題ない場合はこの手の超富豪プログラミングもありだが、問題あっても対策しない感じがある。 宗教がかった聖域というか。)



1013:デフォルトの名無しさん
15/11/22 20:38:22.50 xDxhP+Cq.net
流行ってねえよ
声がでかい奴が拡声器でわめいてるからそう感じるだけだ

1014:デフォルトの名無しさん
15/11/22 20:45:30.67 NW0PnoYA.net
Lispが使われないのは、JavaやC#のように熱心な営業攻勢が無かったからだよ
関数型を学ぶメリットはドキュメントが営業的観点で腐っていないということ
コミュニティがそれによって質の高い状態が保たれている
一番のメリットは「ユーザーにバカが少ない」ということこれに尽きる
LispやHaskellなんて、それこそ熱心な勉強家でなければ手に取らないということ
純粋関数はマルチスレッドに良い影響をもたらす
というかGUIとかスレッドとかどう見ても関数が主役でオブジェクトがシンタックスの邪魔をしている
最近勢力を誇っているwebサービスもほとんどが関数型指向でかかれているし
Javascriptが今隆盛を誇っているのも結局はそういうことなんだよな
まあHadoopやMapReduceとか必要になるようなアプリケーション書くような企業は限られてるけど
マルチコアが前提となってくると結局関数の純粋性が常に問われてくる
幸いまだC#はLINQやTaskで関数型やマルチスレッドをサポートしてるので生存の余地はあるけどね
というかC#にLINQが導入されたのは、どう考えてもSQLではなく関数型の影響だしな
内部状態を極力持たずにというのはweb(HTTP)の考え方だし
JsonやXMLや(S式)で非同期処理するということを考えると関数型は流行らざるをえない
関数型が流行っているというよりwebベンチャーが流行ってるというのが正しいな
まあJavascriptがそのポテンシャルを見いだされるまでに10年近くかかったわけだし
Javascriptが微妙なのは同意するよ

1015:デフォルトの名無しさん
15/11/22 21:03:03.77 T8hXZH4x.net
関数型は、スクリプト等の言語を作りたい人とか、高度な文字列処理が必要不可欠な人とか
科学計算駆使しなきゃならない人とかが使うんだよ
そういった領域では実用的というより必須になる
最近話題にのぼりやすい言語では、R言語とかがあるが関数型になっている
C#は汎用言語なので色々な領域の処理をする人が居て、こういった処理をしたいと望む人には欲しい機能なんだ
最近は、ビッグデータとか取り扱う人も多いでしょうし、例えば金融関係とかトレーディング等でHaskellの採用があったりする
そういう意味では地味に流行ってはいるかもしれない、ビッグデータもバズワードになる程


1016:度には流行ってるからね タプルは自分も欲しいと思っている機能、オブジェクト指向が不向きな領域の処理多いが ユーザーインターフェイスと別けて別言語でというのも煩わしいので >声がでかい奴が拡声器でわめいてる ラムダ式の人とかうざいよね、これだけは同感w 昨日の要求はしたいが、声高々に流行っている言う程のもんかよwww



1017:デフォルトの名無しさん
15/11/22 21:07:02.69 o24m0lwv.net
なにこれ、自演祭り?

1018:デフォルトの名無しさん
15/11/22 21:09:34.06 T8hXZH4x.net
あぁ、また自演なのかな、例のヤツの自演なのかもしれん
>>981 だけは違いますんでw

1019:デフォルトの名無しさん
15/11/22 21:31:52.46 GP1Qn5OD.net
「スレチ」という便利な言葉がある

1020:デフォルトの名無しさん
15/11/22 21:35:46.49 T8hXZH4x.net
自演してでも自分の話したい話題に流れを変えたい酷いかまってちゃんが居るだけですよw
彼にとって、スレチとか関係ないのです、誰もお前とは話したないから、さっさと自殺すればいいのに

1021:デフォルトの名無しさん
15/11/22 21:54:59.54 fPUy/JrI.net
>>980
> 純粋関数はマルチスレッドに良い影響をもたらす
これは確かにその通りなのだが、同じ事はオブジェクト指向でも言われていたはず。
OOPも1オブジェクトに対して1スレッドを割り当てれば干渉しない。
関数型で自動マルチスレッドを期待するのなら、結果的に完全に同じものになる。
> 内部状態を極力持たずにというのはweb(HTTP)の考え方だし
JavaScriptに関してはこれは多少弁解の余地があって、
実際やっていると503エラーとかで内部状態がずれる時がよくあるので、
最初から管理しないというのも一つの方法にはなる。(ただし糞遅い)
> JsonやXMLや(S式)で非同期処理するということを考えると関数型は流行らざるをえない
これはよく分からない。関数型の方が綺麗に書けるか?
ちなみにPromiseとか欲しいとも思わない。主に手続き型で書いているからというのもあるとは思うが。
JavaScriptはPromiseを採用、async/awaitも検討中だ。
C#はPromiseなし、async/awaitありだ。俺はこっちの方が理解しやすいのだが、これもスタイルの違いなのか?

1022:デフォルトの名無しさん
15/11/22 22:09:26.92 xDxhP+Cq.net
口から下痢たれ流すの止めてくんない

1023:デフォルトの名無しさん
15/11/22 22:09:50.22 fPUy/JrI.net
>>981
> 例えば金融関係とかトレーディング等でHaskellの採用があったりする
これは知っているが、結局のところ、今Haskellが出来る=それなりの頭である事がある程度期待できる
だけであって、>>980の指摘通りで、別にHaskellが適しているわけではない気がするのだが。
> C#は汎用言語なので色々な領域の処理をする人が居て、こういった処理をしたいと望む人には欲しい機能なんだ
俺はJavaScriptをやって初めてクロージャを知り、確かに便利だと実感した。
ただもっと驚いたのは、C#も2.0からクロージャを普通に使えたことだ。
とはいえC#がクロージャをガンガン使っているイメージはない。
逆に言えば、C#のスタイルなら大して恩恵がないのだと思う。で、以下なのだが、
> タプルは自分も欲しいと思っている機能
これ何がうれしいんだ?
既に書いたが、普通に構造体やクラスでやるのと同じとしか思えない。
関数型風に書いたらタプルの方が綺麗に書けるって事?(それでも変わらない気がするが、、、、)

1024:デフォルトの名無しさん
15/11/22 22:12:50.69 rVLRuBGq.net
3行以上書く奴はキチガイって嘘じゃなかったね
ゴメンね(ゝω・)v キャピ

1025:デフォルトの名無しさん
15/11/22 22:24:15.75 yPUHF/WV.net
>>981
> そういった領域では実用的というより必須になる
たかが言語で必須とか…
関数型言語がない時代は、
> スクリプト等の言語作成
> 高度な文字列処理
> 科学計算を駆使
する奴は居なかったのかよ

1026:デフォルトの名無しさん
15/11/22 22:29:28.42 fPUy/JrI.net
誰と勘違いしているのかは知らんが、スレを変えたい場合は俺は問題ない。
誰かが俺に対して他のスレでレスを付けた場合、俺がレスを返すのならそこで返す。
だからレスをくれる奴がいるのなら、スレを選んでくれていい。(テストスレでも可)

1027:デフォルトの名無しさん
15/11/22 22:41:52.29 iT1tZCI1.net
Tupleは複数値リターンのために導入されたものと思っていたが、複数値リターンが未だ導入されない

1028:デフォルトの名無しさん
15/11/22 22:50:34.89 fPUy/JrI.net
>>992
てか問題なくね?
URLリンク(www.atmarkit.co.jp)

1029:デフォルトの名無しさん
15/11/22 22:57:18.42 T8hXZH4x.net
そんなタプルは問題ありありだよw

1030:デフォルトの名無しさん
15/11/22 22:59:26.10 Bfhlr/Lz.net
Item1,Item2とかソースに出てくる時点で失格
多重代入と引数リストへの展開ができない限りは使うべきでない

1031:デフォルトの名無しさん
15/11/22 23:58:35.59 SVdGikuE.net
>>974
まぁ、そのためだけに構造体とか作るの面倒くさいしな

1032:デフォルトの名無しさん
15/11/23 00:24:30.36 NS56NU1F.net
>>981, ID:T8hXZH4x
自分がついていけない話になるとすぐスレチだと言い出すクソガキはどこのスレにもいる。
お前が嘘を嘘と見抜けない池沼でいるのはお前の自由だが、
荒らしでないつもりなら>>1読んでスレ立てろ。

1033:デフォルトの名無しさん
15/11/23 00:51:40.63 2bvpc+pi.net
説教怖~い

1034:デフォルトの名無しさん
15/11/23 00:55:30.12 d/p1Vajd.net
埋まりそうだったので宣言無しで建てました、失礼
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
スレリンク(tech板)

1035:デフォルトの名無しさん
15/11/23 01:36:08.01 5/8mbdQh.net
ついていけるとかついていけないとか関係ない、キモすぎ、触りたくない

1036:デフォルトの名無しさん
15/11/23 02:03:44.01 V0PiNkF/.net
おれが神

1037:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

1038:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch