1 名前:名前は開発中のものです。 mailto:sage [2016/01/05(火) 23:44:29.77 ID:fkNSYSkc.net] Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、 「DXライブラリ」に関するスレッドです。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 【公式】 homepage2.nifty.com/natupaji/DxLib/ 【関連スレ】 C/C++ゲーム製作総合スレッド Part7 [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/gamedev/1420939171/ ゲームプログラムなら俺に聞け32(c)2ch.net peace.2ch.net/test/read.cgi/tech/1441693570/ ●DXライブラリではなくDirectXの質問ならこっちへ 【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1418438785/
487 名前:名前は開発中のものです。 mailto:sage [2018/09/07(金) 15:48:35.98 ID:6e9JnvLB.net] それ逆じゃないのか?
488 名前:名前は開発中のものです。 mailto:sage [2018/09/07(金) 17:09:17.90 ID:stA8I9vh.net] 良く分からんけど、こんな感じの事がしたいの? void LoadData( int t_Width, int t_Height, std::string t_FileName ) { int t_FileHandle = FileRead_open( t_FileName.c_str() ); int t_FileSize = FileRead_size( t_FileName.c_str() ); std::vector< std::vector< int > > t_MapDataVec; int t_LoadNum = 0; char t_Char; //マップの配列を確保 t_MapDataVec.resize( t_Height ); for( int i = 0; i < t_Height; i++ ) { t_MapDataVec[ i ].resize( t_Width ); } //正常に1文字を読み込める間、繰り返す while( ( t_Char = FileRead_getc( t_FileHandle ) ) != -1 ){ if( isdigit( t_Char ) != 0 ){ int t_Sum = 0; do{ t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' ); t_Char = FileRead_getc( t_FileHandle ); }while( isdigit( t_Char ) != 0 ); t_MapDataVec[ t_LoadNum / t_Width ][ t_LoadNum % t_Width ] = t_Sum; ++t_LoadNum; } } FileRead_close( t_FileHandle ); }
489 名前:名前は開発中のものです。 mailto:sage [2018/09/07(金) 20:11:51.17 ID:stA8I9vh.net] >>473 int fh = FileRead_open(s.c_str()); while(fh && getline(fh,buf[line])){line++;} ん? FileRead_readとかのDXライブラリ関数じゃなくて getlineが使われてる様だが? 例えばabc.csvを他のファイルと纏めて Archive.dxaっていうアーカイブにした場合、 std::ifstream t; t.open( "abc.csv");とかしたって読み込まないよ そんなファイル無いんだから DXライブラリ用のArchive作ってるのに それを通常の入出力関数で読み出そうとしてるのがバグの原因だよ
490 名前:名前は開発中のものです。 [2018/09/07(金) 22:11:13.47 ID:SP/YWN4v.net] >>477 >getlineが使われてる様だが? int fh = FileRead_open(s.c_str()); えっと、まずこれをした時点で、 ファイル内の文字がfh
491 名前:に入ってると思ってるんで それをgetline(fh,buf[line]))するわけですから 問題ないかと思っているんですが、、私、なにか勘違いしてるのでしょうか、、 >t.open( "abc.csv");とかしたって読み込まないよ >そんなファイル無いんだから これはどーいうことですか?パスの表記の話でしたら ここでは割愛しただけですので実際は頭のフォルダとファイル名と入力してます。 t.open( "フォルダ名/abc.csv");な感じで。 、、そー言う問題ではなくて、archiveした場合 "abc.csv"というファイル名ではなくなるという話ですか?? >>476 まさか、これ、自分と同じことやってるプログラムですか? まさかこんなに短くできますよ、とかじゃないですよね? すごく興味深いのでちょっと処理をじっくり読ませて頂きます。 [] [ここ壊れてます]
492 名前:名前は開発中のものです。 [2018/09/07(金) 22:15:41.50 ID:SP/YWN4v.net] >>477 あ、今気づきました、 自分FileRead_read使ってないですね、、、 FileRead_openとFileRead_readと一緒くたに考えてソース作ってしまってました。 FileRead_openもDXライブラリの関数でそれで開いてるから DXライブラリArchiveしたファイルを開く問題はすでにクリアしたと。
493 名前:名前は開発中のものです。 mailto:sage [2018/09/07(金) 22:26:57.73 ID:2W2TZVJf.net] 薄々気づいていたけど、あまりにも基本的なことがわかってなさすぎる 勘違いですらなくて、全くわかってない int fn はただのハンドル(識別番号)だし、ファイルオープンと読み込みは違うし、アーカイブファイルについても全くわかってないし、その知識でバイナリファイルを理解できるわけがない あんま厳しいこと言いたくないけど、拾ってきたコピペを組み合わせて作ろうと思わず c++の基本から勉強して、一文字ずつ自分で打ち込んだほうがいい
494 名前:名前は開発中のものです。 [2018/09/07(金) 23:04:19.42 ID:SP/YWN4v.net] >>476 すみません、今まで使ったことない関数や表現がありますのでよかったら教えて頂けませんでしょうか、、 自分は今成長したいんで、非常に関心がありますのでぜひともお願いします。 質問1、 if( isdigit( t_Char ) != 0 ) ここの意味は、isdigitで「t_Charの(頭が)空じゃ無いなら」の認識で正解ですか? 判定関数のisdigitを利用したことないもので、、 質問2、 もし1の私の認識が当たっているとすれば do{ t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' ); t_Char = FileRead_getc( t_FileHandle ); }while( isdigit( t_Char ) != 0 ); ここの条件式は、t_Charの中の文字を読み進めながら 「空の領域になるまで」という理解になりますが、それで間違いないですか? 質問3、 t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' ); すみません、ここのt_Char - '0'の理解ができてないんですがこれはなにを意味していますか? 推測では「,」の場所を判断するために記載していると思うのですが 「- '0'」は文字の0と文字の「,」は同義語ですか? t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' ); はなにをしているのか 解説して頂けませんでしょうか、、 4、究極に理解が足りず困っているのが t_MapDataVec[ t_LoadNum / t_Width ][ t_LoadNum % t_Width ] = t_Sum; です。 本当に、これは初めて見た表現なんですが t_LoadNum / t_Widthでなぜその時の行数の添字が割り出せるのか、 t_LoadNum % t_Widthでなぜその時の要素数の添字が割り出せるのか お願いします、解説を、、、、すごく関心があります。そもそも、誰もが記載するであろう、 for(int line=0; line<y; line++){ for(int col=0; col<x; col++){ の式が無いプログラムで、二次元配列を回している様子が 自分の想像限度外で、もうなにがなんだか。 t_LoadNumの値だけをインクリメントしてるだけでなぜ二次元配列をすべて回すことが可能になるんですか?
495 名前:名前は開発中のものです。 [2018/09/07(金) 23:12:10.86 ID:SP/YWN4v.net] >>480 経験が浅いのは認めます、、 特に外部ファイルをいじるのと、archiveファイルについてはほんと理解度が低いです。 でも、ここでそう指摘されることも、 また私が質問させていただくことも自分が成長するひとつの事柄にはなりませんでしょうか、、 ただコピペしたいのでは無く、ソースを理解したくて>>481 でも質問させて頂きました。 未熟者なのは認めます、疑問に思ったことをまず自分で検索で調べてみての質問です。 教えて頂けないでしょうか。。 正直、DXライブラリのアーカイブを使わなければ ゲームは動くのですが、DXライブラリのアーカイブでつまずいてしまっています。 releaseビルドしたあとにバグ
496 名前:ナ遊べないのでほんと辛いのです。 [] [ここ壊れてます]
497 名前:名前は開発中のものです。 [2018/09/07(金) 23:21:53.72 ID:SP/YWN4v.net] >>480 C++を熟知せずとも、便利な関数のおかげで 手軽にゲームを作れる、それがDXライブラリの良さであり、 短所でもあるのだと思います。 画像を描画するのも関数ひとつです。それで表示できるので つまずきませんでした。 でもmap情報を外部ファイルにして読むことは、つまずています。 厳密にはアーカイブしなけば読むことは成功していますが、、 「お前は基本がなっていない」と言われたらそうなんですが でもチュートリアル的なブログや参考書でも、ひとつひとつ完全に理解しようとすると挫折するから 今の自分ではわからなくてもとりあえずそうなんだという精神で進めていきましょう的な 助言も多かったです。ぶつかるたびに覚えていけばいい的な、、違いますでしょうか? ファイルを扱う、バイナリ形式とかは、初めてです。なのでソースも見苦しいです。 でもそんな私でも>>476 のプログラムはすごく魅力的だということがわかるんです。 学びたいんです、、簡単な解説でいいので、お願いできませんか?
498 名前:名前は開発中のものです。 mailto:sage [2018/09/07(金) 23:54:23.29 ID:VUsIud2k.net] 長い。 【1・2】isdigitが分からないならisdigitについて調べれば? 【3】教科書の最初に載ってるはずだが「'0'」は0という文字そのものを表す 【4】適当に数字を入れて計算してみれば?
499 名前:名前は開発中のものです。 [2018/09/08(土) 00:37:34.88 ID:DgEMMqli.net] >>484 【4】適当に数字を入れて計算してみれば? これ、今やってるんですが、目から鱗です、、、 すごい、添字の回し方、こんなシンプルな表現方法がったなんで すごい!
500 名前:名前は開発中のものです。 [2018/09/08(土) 00:38:42.99 ID:DgEMMqli.net] stA8I9vhさん、天才だ、、参考書やブログで見たことないですよ、 こんな回し方してる人。
501 名前:名前は開発中のものです。 [2018/09/08(土) 00:46:42.46 ID:DgEMMqli.net] >>481 の4、まじでやばい質問でしたね。アホすぎる、というか 検証しろって感じですよね。ほんとすみません。 ただ、[ t_LoadNum / t_Width ][ t_LoadNum % t_Width ]では 配列の列数と添字とが同じ値だからこそできる計算式ですね。 ちぐはぐの場合は、やはり for(int line=0; line<y; line++){ for(int col=0; col<x; col++){ を使うしか無い。 ネットで見たことないのは、 配列の列数と添字とが同じ数にぶちこむケースがあまりないから ですね、、なんだそういうことか、、、
502 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 00:51:04.46 ID:zhYpFAkU.net] >>486 やり方としては定番だよ 初心者向けの記事とかだと説明しないだけで
503 名前:名前は開発中のものです。 [2018/09/08(土) 00:57:50.45 ID:DgEMMqli.net] >>488 はい、シンプルですごく驚きました。 それに、二次元配列の要素を回す場合は これが使えるのは両方の値が同じ場合だけですよね? 自分が要する配列は添字より列数が多い場合ばかりなので この方法は使えない。 要は>>476 さんはソースの参考にということで 記載してくれたので、ちゃんと自分のやりたいことに 組み込めってことですよね。
504 名前:名前は開発中のものです。 [2018/09/08(土) 01:05:53.57 ID:DgEMMqli.net] でも少しでも認めて頂けると嬉しいのです。 初心者ですが、昨今ゲーム制作においてもっともポピュラーなUnityでは無く 人口が減少しつつあるC++やDXライブラリでゲームを作ろうとしてる私のこのヤル気を。 まあ、csvのarchiveファイルから読み込む云々でモチベ下がりましたけど なんで画像やサウンドみたくスムーズに利用できないのか、と なんら問題なく進められたのに。。 簡単な話、DXライブラリの関数に getline(識別番号,配列[]))の代わりになるものがあればよかったのに。 引数が違うじゃないですが、どれも。
505 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 01:09:04.45 ID:zhYpFAkU.net] し らんがな ね ろ
506 名前:名前は開発中のものです。 [2018/09/08(土) 01:12:38.23 ID:DgEMMqli.net] >>491 この問題を考えているので寝ることができないです t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' ); これの ( t_Char - '0' ); はなにを表しているんですか? t_Char - '0'です。 なぜ、文字列の'0'を引く必要があるのか、知りたいのです。
507 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 01:18:28.37 ID:vg2kVoor.net] https://dixq.net/forum/viewtopic.php?f=3&t=20352 https://dixq.net/forum/viewtopic.php?f=3&t=20345 あっちの回答は当てにならないってか
508 名前:名前は開発中のものです。 [2018/09/08(土) 01:28:20.69 ID:DgEMMqli.net] t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' ); の意味や '0'がなにを表しているのか検索しようにも 現状のワードだけで検索するのは無理ですよ。。 なぜ俺が長文のプログラムでしていることを たった一行にできているのか、さっぱりです。
509 名前:名前は開発中のものです。 [2018/09/08(土) 01:34:42.92 ID:DgEMMqli.net] >>476 の処理なんですが 二行目のint t_FileSize = FileRead_size( t_FileName.c_str() ); をしたあと、変数t_FileSizeは一切使用されておりませんが ここでファイルのサイズを得る必要があるのはなぜですか? どなたかわかる方、解説おねがします。
510 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 02:39:16.41 ID:38R4ypyC.net] >>495 あぁごめんね FileSizeの部分は消して良いよ あとシングルクォートで囲んでるのは文字を示すよ C言語の基礎ね で、'0'~'9'までの文字コードの値は順に並んでいる事が保証されてるから '0'を引くと整数値に変換出来る '0' → 48 '1' → 49 '2' → 50 //以下略
511 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 02:50:26.67 ID:zhYpFAkU.net] まあ文字周りのの仕様から考えると決してC/C++的には正しくないんだろうけどな やっちゃうよな
512 名前:名前は開発中のものです。 [2018/09/08(土) 03:32:28.47 ID:DgEMMqli.net] >>496 >FileSizeの部分は消して良いよ ありがとうございます、FileSize、なぜ読むのか検索したり情報読んだりで ずっと悩んでいました。必要無いんですね。 >'0' → 48 なるほど、"-48"を>>496 さんは"-'0'"で表していたんですね。 勉強になりました。 ご迷惑かけまくって申し訳ありません。 あと、ひとつだけ質問させて頂いていいですか? FileRead_openでハンドルを取得したあと、 string型のbuf配列を作って、まずは一旦そこに全部を入れ込みたいんですが 「getline(fh,buf[line])」の様な感じで使えるDXライブラリファイル読み込み関数が 判断つきません。もしかして、無い感じですか? FileRead_getsを使って、 string buf[3000];  FileRead_gets( buf,3000, t_FileName ) ; とか、いけませんか? 私は、一旦buf[]にぶち込んで、 そのあとはもうDXライブラリ関数とか必要無しの状態にして buf[]の中を回して1文字を読み込んで二次元配列に格納していくって 処理をしたいのですが、、、、それが無理なら やっぱり、FileRead_getcをつかって 一文字ずつ読んで格納することを考えていこうと思いますが、、
513 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 03:46:12.30 ID:f8SOqHWR.net] >>498 何回か言われてたと思うんだけど FileRead_read関数を使えば良いんじゃないの?
514 名前:名前は開発中のものです。 [2018/09/08(土) 04:11:23.63 ID:DgEMMqli.net] >>499 DXライブラリのリファレンスページの 「FileRead_read」のサンプルのプログラムは 画像データの取り込みなので FileRead_read( Buffer, FileSize, FileHandle ) ; が配列に使えるのか、わからないのです。 int t_FileSize = FileRead_size( t_FileName.c_str() ); string buf[3000]; FileRead_read( buf,FileRead_size,t_FileName ); これでいけますか?
515 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 04:21:08.99 ID:f8SOqHWR.net] STLのstring? それを3000個も用意する意味ないでしょ 配列やstringが何なのか分かってないとしか やるなら char t[ 3000 ]でしょ (要素数は3000から可変にすべきだけど) FileRead_read( buf,FileRead_size,t_FileName ); 何でファイルハンドル指定する第3匹数にstringをぶち込んでるの? 訳分からん事してるよ
516 名前:名前は開発中のものです。 [2018/09/08(土) 04:34:19.67 ID:DgEMMqli.net] >>501 あ、すみません。 間違えました。 int t_FileHandle = FileRead_open( t_FileName.c_str() ); int t_FileSize = FileRead_size( t_FileName.c_str() ); string buf[3000]; FileRead_read( buf,FileRead_size,t_FileHandle ); これです。 これなら問題ないですか?
517 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 04:57:08.51 ID:f8SOqHWR.net] string3000個もいらねーって言ってるだろーが! バッファの先頭アドレスを指定する所にstringの実体を入れてるのも駄目だと思うけど あと夜遅くてPC使えないとかで手元に実行環境が無いんだ
518 名前:チたら 使える様になるまで待ってみては?当てずっぽでソースコードっぽいものを書かれても困る [] [ここ壊れてます]
519 名前:名前は開発中のものです。 [2018/09/08(土) 05:41:44.22 ID:DgEMMqli.net] >>503 String型(文字列型)とchar型(文字型)と勉強したんで、 csvに入った長い文字列(3,12,43,34,0,32,2,....が数百並ぶとかザラです)を 入れるためにString型を用意したつもりです。 実際、エラーは出ずに今まで動いているのですが、問題になっている理由を 聞かせてください。 char型でも while(ifs && getline(ifs,buf[line])){ line++; }  は正常に動くんですよね? ちなみに3000というのは、csvの文字列がどれだけ長くても対応できるように、、 と思ってそうしているんですが、、、文字列の量によっては無駄になるメモリもありますが、、 >当てずっぽでソースコードっぽいものを書かれても困る 確かにまだ確認はしていませんが、熟練の方でしたら どうなるのか、わかるかなと思いまして、、聞いてみました。 (確かにいちいち自分で試せばいいですが、以前予期せぬエラーというか 無限ループとか、そういう危ないエラーを食らったことがあるので なるべく聞いて確認したい気持ちもあります)
520 名前:名前は開発中のものです。 [2018/09/08(土) 05:49:23.91 ID:DgEMMqli.net] 結局、今夜も夜通しで進展せず朝を迎えた。 プログラムとサイトやブログとにらめっこしてました。 外部ファイル扱いの理解度が足りないせいもありますが 一番は、DXライブラリサイトのリファレンスが親切じゃないこと。 archiveファイル読み込み関数でcsvファイルを扱う場合の説明が不十分。 ifstreamやgetlineで問題なく動くプログラムをやっとこさ組めたのに。。 画像やサウンドなんてFileReadで触らずとも、それぞれ描画関数や再生関数で archiveファイルから勝手に開けるのに、、、なぜリファレンスサンプルに テキストファイル取り上げないの、、、、、、
521 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 06:26:04.85 ID:2HdjcsD1.net] C/C++にはString型(文字列型)なんてものは無く std::stringクラスオブジェクトを3000個も用意するなって事でしょう 基礎の理解がおぼつかないまま先に進もうとしてめちゃくちゃになってる DXのサンプル無くてもCのfopen/fread辺りのTXT読み込みサンプルを探して試してみて デバッガで動きが理解できたら対応するDXライブラリのAPIに置き換えればいい
522 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 06:40:52.25 ID:t6UqvRI+.net] >>504 例え話をしよう 新居を購入して、そこに引っ越し用のダンボール箱を3000個 搬入したいとする ※新居はダンボール箱3000個まで収容可能とする でもあなたは"家"を3000個用意してる訳 おかしい事してるの、わかる? プログラムでいうと、buf[ 0 ]のstringにデータが入ってて buf[ 1 ] ~ buf[ 2999 ]は無駄になってる あと文字列 = stringって思ってるみたいだけど 文字列って要はchar型の配列だから別にstringである必要は無いよ 文字列比較とかするつもりが無いんだったら、 std::vector< char > t_DataVec;で充分だと思うけど
523 名前:名前は開発中のものです。 [2018/09/08(土) 06:46:54.61 ID:DgEMMqli.net] >>506 >Cのfopen/fread辺りのTXT読み込みサンプルを探して試してみて fopen/freadあたりの扱い方が近い、ということでしょうか? 了解しました、一度確認してみます。 >>507 ものすごいわかりやすい例え話でした。。 ありがとうございます、ちょっとそれを考慮して修正してみます。
524 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 09:14:50.02 ID:nuE0zfH6.net] Ruby では簡単。 Ruby, JavaScript などの動的言語を一通りやっていないと、C などポインタのある言語は無理。 言語の難易度が違いすぎる # コロン区切りのCSV 入力ファイルを、1行ずつ処理する input_file = "input.csv" CSV.foreach(input_file, col_sep: ":") do |row| puts( row[0] + row[1] ) end
525 名前: [] [ここ壊れてます]
526 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 10:26:18.43 ID:zhYpFAkU.net] >>509 今の話題に関しては、メモリ空間を認識できるかどうかの違いでしか無くね…?
527 名前:名前は開発中のものです。 [2018/09/08(土) 22:08:22.95 ID:DgEMMqli.net] >>501 さん >配列やstringが何なのか分かってないとしか >string3000個もいらねーって言ってるだろーが! >>507 さん >buf[ 1 ] ~ buf[ 2999 ]は無駄になってる あのうお二人にお聞きしますが、charかstringのどちらがふさわしいかは、今は置いておいて、 stringだと、buf[3000]も要らないんですよね? 私はbuf[3000]のbuf[ 1 ] ~ buf[ 2999 ]は無駄になってるって話でしたよね? (私は怒っているわけではありません) string buf[3000];をstring buf[1];に書き換えたら ビルド後、エラーが出る様になったんですけど、、 もちろん、string buf[3000];に戻せば、正常に動きます。 どういうことでしょうか。 ちなみに私の作ったソースは>>469 なんですが、 string buf[1];にしただけでエラーが出始めるということは 列数が足りてないってこと=[0]からも利用してたってことじゃないでしょうか。 お二人は、ちゃんとソースを理解して、無駄だからやめろ、と ご指摘してくださったのかと思っていたのですが、、、 私はstring buf[];にcsvの文字を入れ込む必要があるので 念のため3000にして、いくらか余りが出てもいいくらいの思いで宣言して利用してるんで お二人にご指摘された後、ん〜、string buf[0];でcsv内の文字列が全部格納できれば 世話ないんだけど本当かな〜、ともちょっと疑っていたんですが 先ほど試してみて、やっぱりエラーが出た、とう結果です。 >>469 のソースの while(ifs && getline(ifs,buf[line])){line++;} ここの部分、このgetlineでbuf[]を使うわけですが、[1]だけじゃ困る、 ということですよね?? [3000]を[1]に変えてエラーになるということは。
528 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 22:19:35.21 ID:/fM1gWQu.net] 完全にスレ違いなので他所に行った方がいい 個人的にはc++の教本を一から読み直すことを勧める。 初歩的なことが全くわかってない、ということをまず自覚したほうがいい
529 名前:名前は開発中のものです。 [2018/09/08(土) 22:42:35.24 ID:DgEMMqli.net] あと、すみません>>476 さん、 昨日からずっと>>476 さんのソースを研究させて頂いてるんですけど 間違っているのではないかと思われる箇所があるんですが、 自分の思い違いなのか、書いた>>476 さんにお尋ねさせてほしいのですが //マップの配列を確保 t_MapDataVec.resize(t_Height); for( int i = 0; i < t_Height; i++ ){ t_MapDataVec[i].resize(t_Width);} ↑ ここで配列t_MapDataVecの行数はt_Height、 t_MapDataVecの要素数はt_Widthからそれぞれ決めていますよね、 ここはそれで正解なんですけど、 問題はこの後、その配列に数値を格納するときなんですが t_MapDataVec[ t_LoadNum / t_Width ][ t_LoadNum % t_Width ] = t_Sum; ++t_LoadNum; ↑ これでは、行数の添え字の進み方ががおかしくなりませんか? これ、行数と要素の添え字を両方ともt_Widthを利用して算出してます。 しかし、行数の数はさっきのresizeではt_Heightで決めています。 つまり、t_Widthとt_Heightの値とは必ず同じというわけでは無いはずなので t_Widthだけを利用した算出方法では行数の添え字の動きに支障が出ませんか?
530 名前:名前は開発中のものです。 [2018/09/08(土) 22:47:12.28 ID:DgEMMqli.net] >>512 >初歩的なことが全くわかってない それは>>511 の内容(エラー)について 私の方が無知で責められる内容だということですか? ご指摘頂けませんか? 「あなたが言う様に変更したらエラーが出る様になりました」 「、、お前は初歩がわかってないから消えろ」では 納得いきません。申し訳ありませんが、自分が間違っているのであれば 気付かせてからの「わかったら消えろ」発言にして頂きたいです。
531 名前:名前は開発中のものです。 [2018/09/08(土) 22:52:29.99 ID:DgEMMqli.net] >>512 もしかしてstringでは配列を作る必要がないということですか? string buf[1];では無くstring buf;にしろと。 それはそれでエラーになるじゃないですか。 ここで↓ while(ifs && getline(ifs,buf[line])){line++;} だからbufは配列じゃないと困るんですけど、、
532 名前:名前は開発中のものです。 [2018/09/08(土) 22:59:20.13 ID:DgEMMqli.net] >>512 ちなみにこの https://teratail.com/questions/44651 PAGEの質問の回答者の中に >C++なのに、あえてmojiretuをchar配列にする理由があるのでしょうか。 >std::string mojiretu[10]; >このように定義しておけば、 >mojiretu[0] = s; >mojiretu[1] = s2; >は問題なく通ります。 とstringで配列を作ることを肯定する記載もあります。 別に、charでは無くstringで配列を作ってもダメな手では無いはずです。
533 名前:名前は開発中のものです。 [2018/09/08(土) 23:26:58.22 ID:JZkN0uf+.net] なんか変なのわいてんな
534 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 23:29:17.95 ID:2HdjcsD1.net] >>515 の2,3行目までは当たりなのでstd::stringクラスについてよく調べること C/C++の話だけなら別スレに移ろう C++相談室 part137 mevius.5ch.net/test/read.cgi/tech/1535353320/ 【初心者歓迎】C/C++室 Ver.103【環境依存OK】 mevius.5ch.net/test/read.cgi/tech/1530384293/
535 名前:名前は開発中のものです。 [2018/09/08(土) 23:45:27.10 ID:DgEMMqli.net] >>518 そもそもstringクラスの話はココの人に「それでは無駄がでている」との指摘を受けて 話に出しているだけで私としては修正することでエラーが出るなら buf[3000]で無駄が出ていようが構わいことです。 とにかく、何日も悩んでいるのは、archiveしたcsvを読むのに、 DXライブラリ関数を使っているのにビルド上は問題ないのにarchive後は正しく読まない、 その理由がわからない。 >>477 さんが指摘したDXライブラリ関数では無いgetlineも 自分で新たにbool getline2(int fh, string& s);と宣言し bool StageDataBase::getline2(int fh, string& s) {char buf[1024]; if (FileRead_gets(buf, sizeof buf, fh) == -1) return false; s = buf; return true;} とFileRead_getsを使って入れ込む関数を作っても、archive後は正常に読み込んでいない。 ここの住人さんが提示するソースを研究なり導入しても改善せず、なにがなんだかわからんのです。 私の未熟なのはわかりましたが、私のやりたいことに対して、 現在のソースの間違い個所を指摘してもらいたいんです。 未熟だ、charでは無駄が、とか正直そんなのどうでもいいですよ。 解決したいのは、archiveしたcsvを今のソースでは 正しく読んでくれないんです。どこが間違っているせいですか? それがご相談したいことなんです。
536 名前:名前は開発中のものです。 [2018/09/08(土) 23:49:24.65 ID:JZkN0uf+.net] 甘ったれんな
537 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 23:49:57.08 ID:TBpj/0tY.net] >>while(ifs && getline(ifs,buf[line])){line++;} >>ここの部分、このgetlineでbuf[]を使うわけですが、[1]だけじゃ困る、 ということですよね?? 「一旦CSVファイルの内容を全部変数に格納して、 その変数からデータを読み込みたい」って話だったでしょ? バグってんのは、あなたがそういう仕様にコードを修正出来てないから >>while(ifs && getline(ifs,buf[line])){line++;} >>だからbufは配列じゃないと困るんですけど、、 bufじゃなくて、そのwhile〜の部分のコードの方を修正するって考えに何故ならない? >>getline(ifs,buf[line]) 別の掲示板の書き込みを見る限り、これあなたが独自に定義した関数でしょ? 関数の説明も無く「エラーが出るんですけど」とか言われても他人は答えられんでしょ >>これでは、行数の添え字の進み方ががおかしくなりませんか? おかしくないよ?具体的な数値入れて見直してね 基礎が出来てないとこんな有様になるんだねぇ…可哀想に 👀 Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
538 名前:名前は開発中のものです。 [2018/09/08(土) 23:56:20.39 ID:DgEMMqli.net] そっちは本当に正解が見えているのか、いないのかわからないのに 私の相談内容外の問題ばかり指摘してくる方だろうと レスをくれたからにはちゃんとこちらも返事しているつもりです。 私のほかの問題はどうでもいい。相談内容に対しての perfectなご指摘が欲しいんですよ、私は。 今のところ、本当に有益だった解答は、たったひとつだけです。 >>477 さんの 「DXライブラリ用のArchive作ってるのに それを通常の入出力関数で読み出そうとしてるのがバグの原因だよ」 だけです。 それ以外は、正直どうでもいいことです。 ソースは千差万別、実力によりピンキリでしょ? 無駄があるとか、綺麗じゃないとか、言いたいことはわかりますが 正味の話、ビルド後、思ったことができていれば問題なくないですか? みんなが見るのはゲーム画面です。
539 名前:ソースじゃないんですよ。 私はブサイクな自分のソースを晒してまでご相談させて頂いてるんです。 自分のソースに対して、なぜarchive後に正常にcsvを読めなくなってしまうのか、 perfectなご指摘を、どうかお願いします。 [] [ここ壊れてます]
540 名前:名前は開発中のものです。 mailto:sage [2018/09/08(土) 23:59:02.85 ID:2HdjcsD1.net] 大前提だけどアーカイブにはちゃんと目的のファイル入ってる? FileRead_gets後のbufの中身はデバッガなりprintf/OutputDebugStringAで見て 正しいデータか壊れているかは確認してるよね
541 名前:名前は開発中のものです。 [2018/09/09(日) 00:05:17.98 ID:/IlMVd18.net] >>521 あのですねgetline関数は istream クラスのメンバー関数です。 C++の関数ですよ? 知らないんですか? ただ、>>477 さんにDX専用の関数つかえと 指摘されたので あとでDXライブり関数を利用するgetline関数を自作しました。 それがこれです↓ bool getline2(int fh, string& s);と宣言し bool StageDataBase::getline2(int fh, string& s) {char buf[1024]; if (FileRead_gets(buf, sizeof buf, fh) == -1) return false; s = buf; return true;} で、FileRead_getsを使って入れ込む関数を作った、のに やっぱりarchive後まだ正常に読んでくれませんでした。 だから未だに困っていますが。
542 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 00:06:48.24 ID:B7UDp+Nk.net] このくそがき、コピペしてそのまま動くパーフェクト(笑)なコードよこせと駄々をこねてるんだろ? ソース書いてやったらお礼も書かずにすたこらさっさと消えるタイプだから相手にしなくていいよ C++入門書のメモリ管理とファイルIOの章でも100回読み返せw
543 名前:名前は開発中のものです。 [2018/09/09(日) 00:07:01.16 ID:Jspb1/om.net] お前らのほとんどのレスが無益だったらしいぞwww スレチなんだからスルーしとけよ
544 名前:名前は開発中のものです。 [2018/09/09(日) 00:09:00.72 ID:Jspb1/om.net] 今のところ、本当に有益だった解答は、たったひとつだけです。 今のところ、本当に有益だった解答は、たったひとつだけです。 今のところ、本当に有益だった解答は、たったひとつだけです。 👀 Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
545 名前:名前は開発中のものです。 [2018/09/09(日) 00:09:08.60 ID:/IlMVd18.net] >>523 >正しいデータか壊れているかは確認してるよね もちろん、デバッグで確認して、bufじゃないですが 最終的な配列の中身を確認し、ちゃんとcvsの数値が そのまま各要素に入っていることは確認しています。
546 名前:名前は開発中のものです。 [2018/09/09(日) 00:10:36.82 ID:Jspb1/om.net] それ以外は、正直どうでもいいことです。 まじクソやなこいつwww
547 名前:名前は開発中のものです。 [2018/09/09(日) 00:11:09.34 ID:/IlMVd18.net] >>525 あなたみたいな人間こそ、必要ありませんよ。 私のレスを見て、どこがコピペで済むソースくれ、と読み取れるんですか? 修正しながら何度も問うているでしょ 何度も修正し、頑張っているんですが?
548 名前:名前は開発中のものです。 [2018/09/09(日) 00:14:10.09 ID:Jspb1/om.net] >>530 ほぉそれにしては まともにレスしてるやつに対してよくも「正直どうでもいいことです」とか言えるなお前 消えろカス
549 名前:名前は開発中のものです。 [2018/09/09(日) 00:15:50.74 ID:/IlMVd18.net] まあこのスレの住人も千差万別、私よりも知識がある人ばかりでも無し。 外部ファイルから読み込んだことも無い様な人もいるんでしょう。 自分は的確な回答ができない人がそうやって煽るしかできないんでしょうね。 DXライブラリでゲーム作りながらも archiveファイルにしてない人も沢山いますから。 それどころか、ゲームを完成させたことも無い人もいるでしょうから。
550 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 00:16:23.64 ID:fsKOdpIh.net] https://dixq.net/forum/viewtopic.php?f=3&t=20345 class MapCheck { vector<vector<int>> Map; int m_line, m_col; public: void LoadData(int y, int x, string s); void ShowData(int y, int x); bool getline(int fh, string& s); }; getline を定義してやれば、そのコードで動くことを確認しました。 お前上記の掲示板でgetline独自に定義してるじゃん お前が使ってるのはistreamクラスのメンバー関数じゃないよ >>C++の関数ですよ? >>知らないんですか? 何?その基礎も理解も全く出来てねーくせに喧嘩腰の言い方 もう知らネ 一生困ってろ
551 名前:名前は開発中のものです。 [2018/09/09(日) 00:18:33.14 ID:/IlMVd18.net] >>531 まともにレスってなんですか? 相談内容とはまったく違うことに目を向けてきて 「基本からやりなおせ」と指摘してくるレスですか? 相談内容とはまったく違うことに目を向けて そこ無駄だからcherにしろ、と言うレスですか? 私は、私の相談内容を理解して それで間違い個所を指摘してくれるレスが欲しいんですが。
552 名前:名前は開発中のものです。 [2018/09/09(日) 00:23:57.63 ID:/IlMVd18.net] >>533 それはあなたがその掲示板を先にみて、 先入観をもってるだけでしょ。 私は、その掲示板で相談する前から 自分のソース内で #include <iostream>してgetlineを利用しています。 その相手の方が、#include <iostream>してることを 知らないから独自に作っただけです。 私のソースではgetlineを定義せず、動いています。 あなたの勘違いですよ
553 名前:名前は開発中のものです。 [2018/09/09(日) 00:28:57.36 ID:/IlMVd18.net] ひとつ、言っておきたいのですが、 私のソースは、動くんですよ? ちゃんと完成してるんです。 ただ、releaseビルドしたあと、素材はフォルダごと archiveしますよね? そのarchiveしたフォルダを読むと、うまく読まないんです。 そういう相談なんです。 なのに、archiveファイルを読むのに 関係無い個所の指摘や意見をされても その話に乗っていくと本題からそれていくので 私も困るのです。
554 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 00:34:54.50 ID:fsKOdpIh.net] >>535 記載されたソースコード見る限り #include <iostream>してないけどね 勘違いもクソも無いだろ >>その相手の方が、#include <iostream>してることを >>知らないから独自に作っただけです。 意味不。 あと「上手くいかない」「エラーが出る」とかじゃ意味分からんね 具体性がない
555 名前:名前は開発中のものです。 [2018/09/09(日) 00:36:31.83 ID:/IlMVd18.net] 素材フォルダをarchiveしなければ、 素材フォルダと実行ファイルとでもう動くんです。 ただ、素材フォルダをarchiveしたいと思ったから >>477 さんのおかげで、archiveしたファイルを扱うなら DXライブラリ関数にしなければならない、とアドバイスを受け 読み込み部分のプログラムを修正しなければならないと知りました。 で、今、いろいろやってるんですが、正しく読み込まない、 なぜだ?DXライブラリ関数を使っているつもりなのに、、、困った。 そういう現状なんです。 どうか、このバカめに、知識人様のお知恵を貸しください。 どこが間違っているのかの、ご指摘がほしいのです。
556 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 00:42:03.51 ID:Jspb1/om.net] 厨房はそろそろ寝る時間だぞ ママンに怒られっぞ
557 名前:名前は開発中のものです。 [2018/09/09(日) 00:52:21.26 ID:/IlMVd18.net] >>537 >あと「上手くいかない」「エラーが出る」とかじゃ意味分からんね 具体性がない まあ、どういう状況かはこのスレに書いてきたんですが 途中から来た貴方に私が過去レスを見てくれというのも おこがましいので、貴方のために説明します。 経緯は>>538 です で、私のもともとのソースは >>469 です。 これがarchiveファイルにしていなければ正常にcsvファイルの中身を Map配列に入れ込める関数です。 この段階のgetline関数はiostreamの関数です。 そのgetlineでなにが行われているのかは、もちろん私より承知なんでしょう。 まあ要は、 このソースのどこをDXライブラリ関数に変えたらいいのか、という相談なんです。 ピンポイントで修正個所を言ってくれる人はほとんどおらず、 別の部分をいろいろご指摘されたわけですが。 で、次にDXライブラリ関数を使って 自分なりに完成させたソースを貼りますね
558 名前:名前は開発中のものです。 [2018/09/09(日) 00:54:20.16 ID:/IlMVd18.net] >>539 ここ毎日夜通しで修正してますし、 夜通しでここに書き込みしています。 こんなにヤル気がある生徒なのに、、
559 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 01:10:26.39 ID:WZz40CCH.net] 夜通しやって昼間やらないんじゃ逆効果だろ 自律神経狂うし寝不足で効率落ちるから、休息にもヤル気が必要 ただし煽り猿は気にしなくていい
560 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 01:12:00.66 ID:B7UDp+Nk.net] じゃあもうアーカイブするなよw それで解決じゃんwww
561 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 01:24:13.78 ID:igBBjSKe.net] まず、>477の前に俺が>468と>471でパーフェクトな回答をしたことに気付いてほしい あと、パーフェクトな答えはいっぱい出てるのに何故できないのかというと、君は「変数の型」のことがわかっていないのに自分ではわかってるつもりになっていて、何度それを指摘されても理解しようとしないから 間違いの一例をあげると >int fh = FileRead_open(s.c_str()); >ファイル内の文字がfhに入ってると思ってるんで これはC言語の初歩を勉強した人なら絶対にありえないパーフェクトな間違いで、これに気付かないのが全ての元凶になってる 型も入出力も全くわかってない上に、DXライブラリのリファレンス
562 名前:を読む気まるで無しなので、何を説明しても通じない しかもこういう間違いが書き込みのたびに出てきてるので、皆が基礎を学べと言ってる もうきりがないので究極にパーフェクトな答えをピンポイントで書くと、 DXライブラリのリファレンスをよく読みCのファイル入出力と見比べて FileRead_read、FileRead_getsあたりを使って「型の合った正しい引数」を与えればうまくいく [] [ここ壊れてます]
563 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 01:26:16.05 ID:OabHqojG.net] >>大前提だけどアーカイブにはちゃんと目的のファイル入ってる? >もちろん、デバッグで確認して、bufじゃないですが >最終的な配列の中身を確認し、ちゃんとcvsの数値が >そのまま各要素に入っていることは確認しています。 アーカイブからFileRead_readでCSV読むのは解決済みじゃないか おめでとうさようなら Releaseビルドすると不安定な挙動になるのはエラーチェック不足や初期化漏れのせい Debugビルドのときはcharやintのローカル変数が自動で初期値クリアしてもらえてるから
564 名前:名前は開発中のものです。 [2018/09/09(日) 01:36:18.09 ID:/IlMVd18.net] >>542 本当にその通りです、 この生活を繰り返してたら剥げそうです 優しい言葉に涙が出そうです。 連投したこと、反省します。 >>544 >俺が>468と>471でパーフェクトな回答をしたことに気付いてほしい はい、実は>>522 を書き込んだあとに過去スレ見返して あなたが真っ先にperfectな回答をくださってると気づきました。 すみません、477さん以外にまともな回答が無いみたいな発言をしてしまって。 あと、あなたのご指摘が胸に刺さりました。 プログラマに向いてない性格の自分を再確認させられました。 実は私はプログラマに向いてないのに無理やり頑張っていた人間で ゲームが完成して、調子に乗ってしまっていたようで、自分のそれを忘れていました。 私はすべて独学ですので、まともに学んだとは言えません。 >もうきりがないので究極にパーフェクトな答えをピンポイントで書く ありがとうございます。 それをちゃんと実行して、考えたいと思います。 >>レスくれた皆様がた 皆様、もう一回初心にかえり リファレンスとにらめっこしてまいります。 ご迷惑おかけして申し訳ありませんでした。 失礼します。
565 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 02:04:50.28 ID:p4JqI5Xf.net] スレが活発なのは嬉しい
566 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 02:50:42.98 ID:YiB/2DVS.net] >>546 ifstream ifs(s); ここのsに何が入ってるか気になる まぁとりあえず 現状のDXライブラリの関数しか使ってないソースコード貼ってくれ
567 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 03:59:58.45 ID:B7UDp+Nk.net] プログラマ向いてないのとまともに学んでないのはソース見てわかったよ こんなところに躓くほどアホなやつ他の初心者スレでも見たことないし
568 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 06:51:24.71 ID:Azvx/JNZ.net] 俺かなり真剣に考えてレスしたはずなのに 有益ではないと断言されてしまった
569 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 07:06:14.25 ID:aEJipmjc.net] というか、>>546 はちゃんとデバッグしてる? ステップ実行とかすれば簡単に原因が分かるはずだが? 「アーカイブにした途端読み込まない」って 十中八九ファイルパスが間違っててopen出来てないからそこを確認すべき 大方、下記の状態の時に f.open("data.csv");とか f.open("csv/data.csv");とかやってんだろうけど ■Test ┣Archive.dxa ┗game.exe
570 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 17:54:46.31 ID:BNO7fyNj.net] デバックで問題点をぼりこむスキルもないのに、 いきなりゲームを作ろうとするからだよw そもそもスキル足らない人間の質問なんて要領得ないし、 自分のコードは見せないけど、俺のコードのどこに問題点があるか教えてケロケロって言ってる アホさ加減にすら気がついてない。
571 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 18:07:35.28 ID:6GoioEmY.net] だから、Ruby から始めればよい。 大学の授業を受けたほとんどの人が、C 言語はわからないし無意味だって、言ってるw >プログラマに向いてない C/C++ などポインタのある言語は、 人間には無理なことをやらしているのだから、向いていないのは当たり前。 君らは、多言語の経験が無いから、自分が馬鹿だと思っているけど、全然違う! 漏れは、10言語以上やってるけど、 動的言語・静的言語・ポインタのある言語の順に、難しくなっていく。 人間から離れて、機械に近づいていくから、だんだん無理になっていく C++ なんて、1万人に1人とかだから、もっと無理。 数年山籠もりが普通 慶応卒の、Rubyの女神・女優の池澤あやかが言ってる。 授業でC を教えるのはおかしい。 Rubyから始めるべきだって! C/C++が必要だからって、勉強をC/C++から始める必要はない。 ポインタを追っかけ回すのに時間を取られて、勉強にならないから効率が悪い 動的言語から始めて、プログラミング・システムの基礎を学ぶべき
572 名前:553 mailto:sage [2018/09/09(日) 18:15:12.16 ID:6GoioEmY.net] ゲームプログラマになる前に覚えておきたい技術、平山 尚、2008 これは大賞も取った、俗に言う「セガ本」だけど、 セガの入社試験を受ける前に、読んでおいて下さいって言うけど、 これだけでも、マスターしている人は、セガにほとんどいないだろうw 何歳までに始める言語とか、この手の本も、全く簡単じゃない この手のタイトルの本を、信用しない方がよい。 C/C++ なんて、簡単に学べるわけがないから!
573 名前:553 mailto:sage [2018/09/09(日) 18:25:07.50 ID:6GoioEmY.net] >>509 Ruby では、これだけで、CSV ファイルを読み込める。 動的言語では、ファイルI/O なんて読み書きできて当たり前! ポインタのある言語をやるから、難しくて出来ない 動的言語・静的言語・ポインタのある言語の順に、難しくなっていくから、 ポインタのある言語なんて、多言語でプログラミングして、10年後に始めるべき 言語の難易度が違う なぜ、C/C++ をやる人が、プログラミング出来ないのかを解説した
574 名前:553 mailto:sage [2018/09/09(日) 18:41:50.91 ID:6GoioEmY.net] >動的言語・静的言語・ポインタのある言語の順に、難しくなっていくから、 >ポインタのある言語なんて、多言語でプログラミングして、10年後に始めるべき 例えれば、君はヒマラヤ登山をする初心者w 絶対に無理なのが、わかるよね まず10年は、簡単な山から登って、基礎体力や登山の方法を学ぶ まず10年は、コンピューターシステム・プログラミングの方法を学ぶ
575 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 18:43:42.20 ID:Azvx/JNZ.net] Cは別にヒマラヤじゃない
576 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 18:45:04.52 ID:Azvx/JNZ.net] あ、すまん、荒らしにレスしちまった……
577 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 19:03:52.04 ID:8HszjCC2.net] >>char buf[1024]; >>if (FileRead_gets(buf, sizeof buf, fh) == -1) あと高確率で勘違いしてるだろうから ついでに上記のsizeofについてもダメ出ししとく sizeof演算子を配列に使用した場合、 得られるのは「配列全体のサイズ」であって「配列の要素数」じゃない 多分、要素数が求められると思ってるでしょ? char型はどの処理系でも1バイトだからたまたま問題なく動くけど 配列のサイズ/配列の要素1個のサイズにしとかないとintとかdouble型とかだと範囲外エラーになる
578 名前:名前は開発中のものです。 [2018/09/09(日) 20:35:51.38 ID:Jspb1/om.net] そのsiseofの使い方はなんら問題はない なぜなら関数はバイト数を入力されることを期待しているから 突っ込みどころはそこじゃない
579 名前:名前は開発中のものです。 mailto:sage [2018/09/09(日) 21:35:34.64 ID:o9Esn6eC.net] あホントだ この関数はサイズ指定でいいのか すまぬ しかし「int型に文字列のデータが入っている」と思うレベルで ゲームを完成させたというのなら逆に凄いと思うわ
580 名前:553 mailto:sage [2018/09/09(日) 22:00:07.53 ID:6GoioEmY.net] ファイルの読み込みなどは、C でやらない。 Lua, Squirrel などの動的言語を使う 本当は、Rubyが良いけど、ライセンスがGPL だから、アプリに組み込めない
581 名前:名前は開発中のものです。 [2018/09/09(日) 23:03:21.18 ID:B7UDp+Nk.net] マジかよRubyてゴミだな
582 名前:553 mailto:sage [2018/09/11(火) 00:00:02.94 ID:ROgWPLgp.net] デバッガーを使って、1行ずつ、デバッグすれば? それか、Rubyみたいに各行に、Print文を入れていく p 0 文1 p 1 文2 p 2 これで、どこまで処理が進んだかわかる 例えば、0, 1 と表示されれば、文2 でエラーを起こしているとわかる
583 名前:名前は開発中のものです。 mailto:sage [2018/09/11(火) 13:59:01.43 ID:KgRZ3rsd.net] 本当の入門用言語はPYTHONだと思う
584 名前:名前は開発中のものです。 mailto:sage [2018/09/13(木) 00:54:18.17 ID:OVIBOeJk.net] sp4用のDXライブラリ使いたいのに、自由に使わしてもらえないの? DXライブラリ製作者じゃ無く、変な運営団体が牛耳ってないか?
585 名前:名前は開発中のものです。 mailto:sage [2018/09/13(木) 00:54:55.89 ID:OVIBOeJk.net] ごめん、ps4ね
586 名前:名前は開発中のものです。 mailto:sage [2018/09/13(木) 01:21:08.56 ID:8MyNpCBt.net] PS4に限らず、CS向けの開発資料関係はソニーと要契約だし、 PS4向けのDXライブラリにはそういう情報も含まれてるでしょう。 いづれにしても個人が契約結ぶのは無理だし、この会社が窓口請け負ってんじゃないかな。 おそらくOSSにはならないと言うかなれないと思うよ。
587 名前:名前は開発中のものです。 mailto:sage [2018/09/14(金) 01:05:52.78 ID:Iy4HGXit.net] CS開発にDXライブラリの知識や資産が活かせるってだけであって DXライブラリを使えばCS開発ができるという意味ではないからなあ