X



DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
垢版 |
2016/01/05(火) 23:44:29.77ID:fkNSYSkc
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
http://homepage2.nifty.com/natupaji/DxLib/

【関連スレ】
C/C++ゲーム製作総合スレッド Part7 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1420939171/
ゲームプログラムなら俺に聞け32(c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1441693570/

●DXライブラリではなくDirectXの質問ならこっちへ
【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1418438785/
0519名前は開発中のものです。
垢版 |
2018/09/08(土) 23:45:27.10ID:DgEMMqli
>>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を今のソースでは
正しく読んでくれないんです。どこが間違っているせいですか?
それがご相談したいことなんです。
0520名前は開発中のものです。
垢版 |
2018/09/08(土) 23:49:24.65ID:JZkN0uf+
甘ったれんな
0521名前は開発中のものです。
垢版 |
2018/09/08(土) 23:49:57.08ID:TBpj/0tY
>>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)
0522名前は開発中のものです。
垢版 |
2018/09/08(土) 23:56:20.39ID:DgEMMqli
そっちは本当に正解が見えているのか、いないのかわからないのに
私の相談内容外の問題ばかり指摘してくる方だろうと
レスをくれたからにはちゃんとこちらも返事しているつもりです。

私のほかの問題はどうでもいい。相談内容に対しての
perfectなご指摘が欲しいんですよ、私は。
今のところ、本当に有益だった解答は、たったひとつだけです。

>>477さんの
「DXライブラリ用のArchive作ってるのに
 それを通常の入出力関数で読み出そうとしてるのがバグの原因だよ」
だけです。

それ以外は、正直どうでもいいことです。
ソースは千差万別、実力によりピンキリでしょ?
無駄があるとか、綺麗じゃないとか、言いたいことはわかりますが
正味の話、ビルド後、思ったことができていれば問題なくないですか?
みんなが見るのはゲーム画面です。ソースじゃないんですよ。

私はブサイクな自分のソースを晒してまでご相談させて頂いてるんです。
自分のソースに対して、なぜarchive後に正常にcsvを読めなくなってしまうのか、
perfectなご指摘を、どうかお願いします。
0523名前は開発中のものです。
垢版 |
2018/09/08(土) 23:59:02.85ID:2HdjcsD1
大前提だけどアーカイブにはちゃんと目的のファイル入ってる?
FileRead_gets後のbufの中身はデバッガなりprintf/OutputDebugStringAで見て
正しいデータか壊れているかは確認してるよね
0524名前は開発中のものです。
垢版 |
2018/09/09(日) 00:05:17.98ID:/IlMVd18
>>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後まだ正常に読んでくれませんでした。

だから未だに困っていますが。
0525名前は開発中のものです。
垢版 |
2018/09/09(日) 00:06:48.24ID:B7UDp+Nk
このくそがき、コピペしてそのまま動くパーフェクト(笑)なコードよこせと駄々をこねてるんだろ?
ソース書いてやったらお礼も書かずにすたこらさっさと消えるタイプだから相手にしなくていいよ

C++入門書のメモリ管理とファイルIOの章でも100回読み返せw
0526名前は開発中のものです。
垢版 |
2018/09/09(日) 00:07:01.16ID:Jspb1/om
お前らのほとんどのレスが無益だったらしいぞwww
スレチなんだからスルーしとけよ
0527名前は開発中のものです。
垢版 |
2018/09/09(日) 00:09:00.72ID:Jspb1/om
今のところ、本当に有益だった解答は、たったひとつだけです。
今のところ、本当に有益だった解答は、たったひとつだけです。
今のところ、本当に有益だった解答は、たったひとつだけです。 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
0528名前は開発中のものです。
垢版 |
2018/09/09(日) 00:09:08.60ID:/IlMVd18
>>523
>正しいデータか壊れているかは確認してるよね

もちろん、デバッグで確認して、bufじゃないですが
最終的な配列の中身を確認し、ちゃんとcvsの数値が
そのまま各要素に入っていることは確認しています。
0529名前は開発中のものです。
垢版 |
2018/09/09(日) 00:10:36.82ID:Jspb1/om
それ以外は、正直どうでもいいことです。

まじクソやなこいつwww
0530名前は開発中のものです。
垢版 |
2018/09/09(日) 00:11:09.34ID:/IlMVd18
>>525
あなたみたいな人間こそ、必要ありませんよ。
私のレスを見て、どこがコピペで済むソースくれ、と読み取れるんですか?
修正しながら何度も問うているでしょ
何度も修正し、頑張っているんですが?
0531名前は開発中のものです。
垢版 |
2018/09/09(日) 00:14:10.09ID:Jspb1/om
>>530
ほぉそれにしては
まともにレスしてるやつに対してよくも「正直どうでもいいことです」とか言えるなお前

消えろカス
0532名前は開発中のものです。
垢版 |
2018/09/09(日) 00:15:50.74ID:/IlMVd18
まあこのスレの住人も千差万別、私よりも知識がある人ばかりでも無し。
外部ファイルから読み込んだことも無い様な人もいるんでしょう。
自分は的確な回答ができない人がそうやって煽るしかできないんでしょうね。

DXライブラリでゲーム作りながらも
archiveファイルにしてない人も沢山いますから。
それどころか、ゲームを完成させたことも無い人もいるでしょうから。
0533名前は開発中のものです。
垢版 |
2018/09/09(日) 00:16:23.64ID:fsKOdpIh
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++の関数ですよ?
>>知らないんですか?
何?その基礎も理解も全く出来てねーくせに喧嘩腰の言い方
もう知らネ 一生困ってろ
0534名前は開発中のものです。
垢版 |
2018/09/09(日) 00:18:33.14ID:/IlMVd18
>>531
まともにレスってなんですか?

相談内容とはまったく違うことに目を向けてきて
「基本からやりなおせ」と指摘してくるレスですか?
相談内容とはまったく違うことに目を向けて
そこ無駄だからcherにしろ、と言うレスですか?

私は、私の相談内容を理解して
それで間違い個所を指摘してくれるレスが欲しいんですが。
0535名前は開発中のものです。
垢版 |
2018/09/09(日) 00:23:57.63ID:/IlMVd18
>>533
それはあなたがその掲示板を先にみて、
先入観をもってるだけでしょ。

私は、その掲示板で相談する前から
自分のソース内で
#include <iostream>してgetlineを利用しています。
その相手の方が、#include <iostream>してることを
知らないから独自に作っただけです。
私のソースではgetlineを定義せず、動いています。

あなたの勘違いですよ
0536名前は開発中のものです。
垢版 |
2018/09/09(日) 00:28:57.36ID:/IlMVd18
ひとつ、言っておきたいのですが、
私のソースは、動くんですよ?
ちゃんと完成してるんです。

ただ、releaseビルドしたあと、素材はフォルダごと
archiveしますよね?
そのarchiveしたフォルダを読むと、うまく読まないんです。
そういう相談なんです。

なのに、archiveファイルを読むのに
関係無い個所の指摘や意見をされても
その話に乗っていくと本題からそれていくので
私も困るのです。
0537名前は開発中のものです。
垢版 |
2018/09/09(日) 00:34:54.50ID:fsKOdpIh
>>535
記載されたソースコード見る限り
#include <iostream>してないけどね 勘違いもクソも無いだろ

>>その相手の方が、#include <iostream>してることを
>>知らないから独自に作っただけです。
意味不。

あと「上手くいかない」「エラーが出る」とかじゃ意味分からんね 具体性がない
0538名前は開発中のものです。
垢版 |
2018/09/09(日) 00:36:31.83ID:/IlMVd18
素材フォルダをarchiveしなければ、
素材フォルダと実行ファイルとでもう動くんです。

ただ、素材フォルダをarchiveしたいと思ったから
>>477さんのおかげで、archiveしたファイルを扱うなら
DXライブラリ関数にしなければならない、とアドバイスを受け
読み込み部分のプログラムを修正しなければならないと知りました。

で、今、いろいろやってるんですが、正しく読み込まない、
なぜだ?DXライブラリ関数を使っているつもりなのに、、、困った。

そういう現状なんです。
どうか、このバカめに、知識人様のお知恵を貸しください。
どこが間違っているのかの、ご指摘がほしいのです。
0540名前は開発中のものです。
垢版 |
2018/09/09(日) 00:52:21.26ID:/IlMVd18
>>537
>あと「上手くいかない」「エラーが出る」とかじゃ意味分からんね 具体性がない

まあ、どういう状況かはこのスレに書いてきたんですが
途中から来た貴方に私が過去レスを見てくれというのも
おこがましいので、貴方のために説明します。
経緯は>>538です
で、私のもともとのソースは
>>469です。
これがarchiveファイルにしていなければ正常にcsvファイルの中身を
Map配列に入れ込める関数です。
この段階のgetline関数はiostreamの関数です。
そのgetlineでなにが行われているのかは、もちろん私より承知なんでしょう。

まあ要は、
このソースのどこをDXライブラリ関数に変えたらいいのか、という相談なんです。
ピンポイントで修正個所を言ってくれる人はほとんどおらず、
別の部分をいろいろご指摘されたわけですが。

で、次にDXライブラリ関数を使って
自分なりに完成させたソースを貼りますね
0541名前は開発中のものです。
垢版 |
2018/09/09(日) 00:54:20.16ID:/IlMVd18
>>539
ここ毎日夜通しで修正してますし、
夜通しでここに書き込みしています。

こんなにヤル気がある生徒なのに、、
0542名前は開発中のものです。
垢版 |
2018/09/09(日) 01:10:26.39ID:WZz40CCH
夜通しやって昼間やらないんじゃ逆効果だろ
自律神経狂うし寝不足で効率落ちるから、休息にもヤル気が必要
ただし煽り猿は気にしなくていい
0544名前は開発中のものです。
垢版 |
2018/09/09(日) 01:24:13.78ID:igBBjSKe
まず、>477の前に俺が>468と>471でパーフェクトな回答をしたことに気付いてほしい

あと、パーフェクトな答えはいっぱい出てるのに何故できないのかというと、君は「変数の型」のことがわかっていないのに自分ではわかってるつもりになっていて、何度それを指摘されても理解しようとしないから

間違いの一例をあげると
>int fh = FileRead_open(s.c_str());
>ファイル内の文字がfhに入ってると思ってるんで
これはC言語の初歩を勉強した人なら絶対にありえないパーフェクトな間違いで、これに気付かないのが全ての元凶になってる
型も入出力も全くわかってない上に、DXライブラリのリファレンスを読む気まるで無しなので、何を説明しても通じない
しかもこういう間違いが書き込みのたびに出てきてるので、皆が基礎を学べと言ってる

もうきりがないので究極にパーフェクトな答えをピンポイントで書くと、
DXライブラリのリファレンスをよく読みCのファイル入出力と見比べて
FileRead_read、FileRead_getsあたりを使って「型の合った正しい引数」を与えればうまくいく
0545名前は開発中のものです。
垢版 |
2018/09/09(日) 01:26:16.05ID:OabHqojG
>>大前提だけどアーカイブにはちゃんと目的のファイル入ってる?
>もちろん、デバッグで確認して、bufじゃないですが
>最終的な配列の中身を確認し、ちゃんとcvsの数値が
>そのまま各要素に入っていることは確認しています。
アーカイブからFileRead_readでCSV読むのは解決済みじゃないか おめでとうさようなら

Releaseビルドすると不安定な挙動になるのはエラーチェック不足や初期化漏れのせい
Debugビルドのときはcharやintのローカル変数が自動で初期値クリアしてもらえてるから
0546名前は開発中のものです。
垢版 |
2018/09/09(日) 01:36:18.09ID:/IlMVd18
>>542
本当にその通りです、
この生活を繰り返してたら剥げそうです
優しい言葉に涙が出そうです。
連投したこと、反省します。

>>544
>俺が>468と>471でパーフェクトな回答をしたことに気付いてほしい

はい、実は>>522を書き込んだあとに過去スレ見返して
あなたが真っ先にperfectな回答をくださってると気づきました。
すみません、477さん以外にまともな回答が無いみたいな発言をしてしまって。

あと、あなたのご指摘が胸に刺さりました。
プログラマに向いてない性格の自分を再確認させられました。
実は私はプログラマに向いてないのに無理やり頑張っていた人間で
ゲームが完成して、調子に乗ってしまっていたようで、自分のそれを忘れていました。
私はすべて独学ですので、まともに学んだとは言えません。

>もうきりがないので究極にパーフェクトな答えをピンポイントで書く

ありがとうございます。
それをちゃんと実行して、考えたいと思います。

>>レスくれた皆様がた
皆様、もう一回初心にかえり
リファレンスとにらめっこしてまいります。
ご迷惑おかけして申し訳ありませんでした。
失礼します。
0548名前は開発中のものです。
垢版 |
2018/09/09(日) 02:50:42.98ID:YiB/2DVS
>>546
ifstream ifs(s);

ここのsに何が入ってるか気になる

まぁとりあえず
現状のDXライブラリの関数しか使ってないソースコード貼ってくれ
0549名前は開発中のものです。
垢版 |
2018/09/09(日) 03:59:58.45ID:B7UDp+Nk
プログラマ向いてないのとまともに学んでないのはソース見てわかったよ
こんなところに躓くほどアホなやつ他の初心者スレでも見たことないし
0551名前は開発中のものです。
垢版 |
2018/09/09(日) 07:06:14.25ID:aEJipmjc
というか、>>546はちゃんとデバッグしてる?
ステップ実行とかすれば簡単に原因が分かるはずだが?

「アーカイブにした途端読み込まない」って
十中八九ファイルパスが間違っててopen出来てないからそこを確認すべき

大方、下記の状態の時に
f.open("data.csv");とか
f.open("csv/data.csv");とかやってんだろうけど

■Test
┣Archive.dxa
┗game.exe
0552名前は開発中のものです。
垢版 |
2018/09/09(日) 17:54:46.31ID:BNO7fyNj
デバックで問題点をぼりこむスキルもないのに、
いきなりゲームを作ろうとするからだよw
そもそもスキル足らない人間の質問なんて要領得ないし、
自分のコードは見せないけど、俺のコードのどこに問題点があるか教えてケロケロって言ってる
アホさ加減にすら気がついてない。
0553名前は開発中のものです。
垢版 |
2018/09/09(日) 18:07:35.28ID:6GoioEmY
だから、Ruby から始めればよい。
大学の授業を受けたほとんどの人が、C 言語はわからないし無意味だって、言ってるw

>プログラマに向いてない
C/C++ などポインタのある言語は、
人間には無理なことをやらしているのだから、向いていないのは当たり前。
君らは、多言語の経験が無いから、自分が馬鹿だと思っているけど、全然違う!

漏れは、10言語以上やってるけど、
動的言語・静的言語・ポインタのある言語の順に、難しくなっていく。
人間から離れて、機械に近づいていくから、だんだん無理になっていく

C++ なんて、1万人に1人とかだから、もっと無理。
数年山籠もりが普通

慶応卒の、Rubyの女神・女優の池澤あやかが言ってる。
授業でC を教えるのはおかしい。
Rubyから始めるべきだって!

C/C++が必要だからって、勉強をC/C++から始める必要はない。
ポインタを追っかけ回すのに時間を取られて、勉強にならないから効率が悪い

動的言語から始めて、プログラミング・システムの基礎を学ぶべき
0554553
垢版 |
2018/09/09(日) 18:15:12.16ID:6GoioEmY
ゲームプログラマになる前に覚えておきたい技術、平山 尚、2008

これは大賞も取った、俗に言う「セガ本」だけど、
セガの入社試験を受ける前に、読んでおいて下さいって言うけど、

これだけでも、マスターしている人は、セガにほとんどいないだろうw

何歳までに始める言語とか、この手の本も、全く簡単じゃない

この手のタイトルの本を、信用しない方がよい。
C/C++ なんて、簡単に学べるわけがないから!
0555553
垢版 |
2018/09/09(日) 18:25:07.50ID:6GoioEmY
>>509
Ruby では、これだけで、CSV ファイルを読み込める。
動的言語では、ファイルI/O なんて読み書きできて当たり前!

ポインタのある言語をやるから、難しくて出来ない

動的言語・静的言語・ポインタのある言語の順に、難しくなっていくから、
ポインタのある言語なんて、多言語でプログラミングして、10年後に始めるべき

言語の難易度が違う

なぜ、C/C++ をやる人が、プログラミング出来ないのかを解説した
0556553
垢版 |
2018/09/09(日) 18:41:50.91ID:6GoioEmY
>動的言語・静的言語・ポインタのある言語の順に、難しくなっていくから、
>ポインタのある言語なんて、多言語でプログラミングして、10年後に始めるべき

例えれば、君はヒマラヤ登山をする初心者w
絶対に無理なのが、わかるよね

まず10年は、簡単な山から登って、基礎体力や登山の方法を学ぶ

まず10年は、コンピューターシステム・プログラミングの方法を学ぶ
0559名前は開発中のものです。
垢版 |
2018/09/09(日) 19:03:52.04ID:8HszjCC2
>>char buf[1024];
>>if (FileRead_gets(buf, sizeof buf, fh) == -1)
あと高確率で勘違いしてるだろうから
ついでに上記のsizeofについてもダメ出ししとく

sizeof演算子を配列に使用した場合、
得られるのは「配列全体のサイズ」であって「配列の要素数」じゃない
多分、要素数が求められると思ってるでしょ?

char型はどの処理系でも1バイトだからたまたま問題なく動くけど
配列のサイズ/配列の要素1個のサイズにしとかないとintとかdouble型とかだと範囲外エラーになる
0560名前は開発中のものです。
垢版 |
2018/09/09(日) 20:35:51.38ID:Jspb1/om
そのsiseofの使い方はなんら問題はない
なぜなら関数はバイト数を入力されることを期待しているから
突っ込みどころはそこじゃない
0561名前は開発中のものです。
垢版 |
2018/09/09(日) 21:35:34.64ID:o9Esn6eC
あホントだ この関数はサイズ指定でいいのか すまぬ

しかし「int型に文字列のデータが入っている」と思うレベルで
ゲームを完成させたというのなら逆に凄いと思うわ
0562553
垢版 |
2018/09/09(日) 22:00:07.53ID:6GoioEmY
ファイルの読み込みなどは、C でやらない。
Lua, Squirrel などの動的言語を使う

本当は、Rubyが良いけど、ライセンスがGPL だから、アプリに組み込めない
0563名前は開発中のものです。
垢版 |
2018/09/09(日) 23:03:21.18ID:B7UDp+Nk
マジかよRubyてゴミだな
0564553
垢版 |
2018/09/11(火) 00:00:02.94ID:ROgWPLgp
デバッガーを使って、1行ずつ、デバッグすれば?
それか、Rubyみたいに各行に、Print文を入れていく

p 0
文1
p 1
文2
p 2

これで、どこまで処理が進んだかわかる
例えば、0, 1 と表示されれば、文2 でエラーを起こしているとわかる
0566名前は開発中のものです。
垢版 |
2018/09/13(木) 00:54:18.17ID:OVIBOeJk
sp4用のDXライブラリ使いたいのに、自由に使わしてもらえないの?
DXライブラリ製作者じゃ無く、変な運営団体が牛耳ってないか?
0568名前は開発中のものです。
垢版 |
2018/09/13(木) 01:21:08.56ID:8MyNpCBt
PS4に限らず、CS向けの開発資料関係はソニーと要契約だし、
PS4向けのDXライブラリにはそういう情報も含まれてるでしょう。
いづれにしても個人が契約結ぶのは無理だし、この会社が窓口請け負ってんじゃないかな。
おそらくOSSにはならないと言うかなれないと思うよ。
0569名前は開発中のものです。
垢版 |
2018/09/14(金) 01:05:52.78ID:Iy4HGXit
CS開発にDXライブラリの知識や資産が活かせるってだけであって
DXライブラリを使えばCS開発ができるという意味ではないからなあ
0572名前は開発中のものです。
垢版 |
2018/09/14(金) 10:44:49.19ID:DNWN2h3R
結局この前のやつはアーカイブから読み込めたのかね

教えてクレクレ君は大体が初歩的な内容をマルチポストして
解決するか挫折するかして失踪するから困る

基礎を学ぶ気が無いんだったら◯◯ツクールとかの製作支援ソフトでも使ってりゃいいのに
0574名前は開発中のものです。
垢版 |
2018/09/15(土) 02:17:37.10ID:/xcvtQHo
C/C++ は、ポインタがある言語だから、難しい

機械に近い言語だから、人間の感覚に合わない。
一つ一つのチェックに、時間が掛かる
0575名前は開発中のものです。
垢版 |
2018/09/15(土) 03:22:43.38ID:i4O38UTc
ポインタがあると思うから難しく感じるねん。
基本がポインタで、int や char が特別やねん。
基本が malloc で、配列が特別やねん。
ほんでその特別な方で済むならそっち使えばええ言語やねん。
思い込んでるほど難しいもんやあらへん。

C++ はそれにたくさんもっと約束事を追加してるもんで、
覚えるのは大変やけど、それ覚えたらプログラマ同士でより複雑なプログラミングも可能になるわけや。
C が三角ベースなら、C++ ベースボールやんな。

そこまで構えんでええ。独習シリーズ買ってあとは必要に応じて参考書買えば大丈夫、大丈夫。
0576名前は開発中のものです。
垢版 |
2018/09/15(土) 06:09:43.23ID:GOhxd3by
ポインタを難しいと全く思わなかったせいか
人に教えるときも、どうもそのへんの感覚が分からんのよねぇ
0577名前は開発中のものです。
垢版 |
2018/09/16(日) 07:09:58.40ID:pTuyxRHX
ダブルポインタ、スマートポインタ、constポインタ、const変数へのポインタ、関数ポインタとか
色々あるけど、別に「理解不能」とはならなかったな

ポインタで詰まってる人ってどこで詰まってるんだろね
0578名前は開発中のものです。
垢版 |
2018/09/16(日) 07:23:34.15ID:Ypv+ZU15
ポインタにつまづかなかった俺ドヤァwwww
0579名前は開発中のものです。
垢版 |
2018/09/16(日) 08:01:05.65ID:De/NLTEL
入門書を読んで理解して無理のない使い方するだけなら簡単だろう。
理解が難しい書き方も出来るから、そういうコードを見た時に難しいと感じるんだろう。
あるいは全く意識しない書き方も出来るからこそ、なぜポインタなんてものがあるのか?と理解に苦しむパターン。
0580名前は開発中のものです。
垢版 |
2018/09/16(日) 10:49:36.24ID:P4oQMMdm
言語の機能が極端に少ない・足りないのをポインタという裏技でどうにかするのがCやで

むしろなぜド素人がCなんて使うのか?と理解に苦しむパターン。
0581名前は開発中のものです。
垢版 |
2018/09/16(日) 11:38:54.49ID:De/NLTEL
>>580
は?俺Cとかめっちゃ使えるしド玄人なのになんで勝手に文脈を誤解されてド素人言われなければいけないのか理解に苦しむパターンだわこれはマジでむしろ理解に苦しむパターンの理解に苦しんでるパターンだろ。
なんで理解してないのに理解に苦しむパターンを勝手に使うのか理解に苦しむパターン。
0582名前は開発中のものです。
垢版 |
2018/09/17(月) 01:27:36.34ID:vd6LnlZ9
ダブルポインタとか言ってるやつは人間として信用しない
0583名前は開発中のものです。
垢版 |
2018/09/17(月) 03:27:40.68ID:Ho87M1a1
STLやポインタが難しいって20年も昔の話だろw
関数ポインタとか、ポインタのポインタとか、C#とか他の言語でも息を吸うように使われてるよ
0585名前は開発中のものです。
垢版 |
2018/09/17(月) 15:46:10.87ID:VSI4gd1E
Cだとポインタ使わずに書くのが難しい処理があるのは事実で、
それに慣れた使用者にポインタは難しいとか他言語にポインタはないとか言っておけば耳障りはいいし、他言語を自由度の低いものとして恐れるようになる。
つまりC言語帝国主義者の陰謀でポインタに関するデマが広められているだけなので要注意。
0588名前は開発中のものです。
垢版 |
2018/09/18(火) 12:42:02.12ID:MRDcFzMt
ゲーム作るのが目的だし、PCの性能も上がってるから
スクリプト言語のような動的な言語もありだし、JavaやC#から入っても良いだろう。
ただまあ、DXLibのスレでC/C++の文句言うなら他をあたりんさいとしか言えんがな。
ただスクリプト言語用のゲームライブラリってそれなりにあるけど、開発が止まってたり、
LGPLだったりと別の意味で使い勝手が難しいものが多いね。
0593名前は開発中のものです。
垢版 |
2018/09/24(月) 08:59:34.99ID:7+TiRmEX
機械語を知らないのかネタなのか、判断に困るのである

機械語は難しいというより面倒臭そうなイメージ
0594名前は開発中のものです。
垢版 |
2018/09/26(水) 08:58:12.16ID:ZwDt4G1d
もう機械語を知らない世代なんだね
0595名前は開発中のものです。
垢版 |
2018/09/26(水) 10:15:27.11ID:JfxWWzQx
【天文台閉鎖、FBI】 アポロ捏造のキューブリックも真っ青、太陽に映ったのはマ@トレーヤのUFO
http://rosie.5ch.net/test/read.cgi/liveplus/1537840672/l50

おまいらが注目しないから宇宙人は出てこれない、その結果、地球の放射能危機がどんどん進んでしまう!
0596名前は開発中のものです。
垢版 |
2018/09/26(水) 18:52:01.79ID:KoAY7X61
アセンブラなんて何の役にも立たないけどな
0597名前は開発中のものです。
垢版 |
2018/09/28(金) 12:13:41.28ID:oxoJJQQI
ポインタが難しいから、ほとんどの言語にはポインタがない

GC で、自動的にメモリも解放する
0599名前は開発中のものです。
垢版 |
2018/10/01(月) 03:55:43.27ID:A/coQG5i
ポインタは簡単だからポインタ・関数ポインタと同等の機能が他の言語でも当たり前に使われている
ゲームだとガベコレ回避にRAIIでメモリを扱うし結局やってることは同じ

バッファコピーをforループでするより組み込み関数memcpy()の方が速いとか、
ポインタの利点はそんな微々たる最適化に使えるかどうかだな
もしその粒度で高速化したいならc++のクラスとかSTLは全部使えん
0600名前は開発中のものです。
垢版 |
2018/12/07(金) 23:16:48.57ID:US4pEEV+
ダメだー、頭が悪くてわからない!
誰か数学に強い人、計算方法教えてくれませんか、、、

1マスのサイズが16×16、そのマスを縦横並べて構成されている
碁盤上のフィールド上で、1マスと同じ16×16のサイズのプレイヤーが
縦、横、斜めと縦横無尽に1ドットずつ移動できるとする。
しかし、そのプレイヤーが移動を辞めてストップするたびに、
その碁盤の区切りにプレイヤーを綺麗に合わせるために
プレイヤーのx、y座標を16で割れる数に修正したい。
つまり、止まるたびに配置を調整されるようにしたいんだよ。

でもどうすればプレイヤーのその時のx、y座標の数値から、
一番移動修正が少なくて済む16の倍数を割り出せるのかが思いつかない、、、
なんか良い計算方法あります?
0601名前は開発中のものです。
垢版 |
2018/12/07(金) 23:25:16.29ID:yzIxZTRx
プレイヤーが移動をやめるということは、方向キーの入力をやめるということでいいのか?
移動してる最中は上下左右斜め自由自在に動けるけど
キー入力をやめたら最寄りのマスに合わせて止まるってこと?
0603名前は開発中のものです。
垢版 |
2018/12/08(土) 00:28:46.54ID:N0HjbxKJ
602のいうように16で整数除算すりゃいいんだよ
X軸座標が0から始まるとして、プレイヤーのX軸座標を16で除算した結果が、0から連番のマス位置だ
マス位置の番号に16を掛ければ、そのマスの基点(左端のX軸座標)が求められるからプレイヤーのX軸座標を合わせりゃいい
Y軸も同じ考え方
0604名前は開発中のものです。
垢版 |
2018/12/08(土) 00:44:37.37ID:9pyRIy5m
>>600
座標をfloat型などの小数型に変換(型キャスト)して、
16.0fや16.0で割り、
小数第1位を四捨五入して、整数型に変換(型キャスト)する
四捨五入の方法や分からん言葉はググルべし
0607606
垢版 |
2018/12/08(土) 05:40:55.61ID:k0S0M7oi
うあ、リロードしてなかった
恥ずかしい

それはともかく、移動をやめたときに適当な座標に合わせるって挙動いいな
自分も機会があったらパクるわ
0609名前は開発中のものです。
垢版 |
2018/12/08(土) 10:01:25.30ID:k0S0M7oi
>>608
実際にやるなら、
・入力ニュートラルになってから一定時間立つと自動移動フラグがON
・自動移動がONの間、少しずつ対象座標に近づく(一定ドットずつなりイージングなり)
・移動完了または入力があったら自動移動フラグOFF
かな
0610600
垢版 |
2018/12/08(土) 10:38:12.08ID:TvUpz+CC
うわー、起きたら、
みんなありがとうございます!
こんなにアイデアっていうか、計算方法出してもらえるなんて
過疎過疎なんで返事無いと思ってましたんで

>>601のおっしゃる通りで、イメージとしては、
将棋版の上でプレイヤーが将棋のコマを好きに移動させられるけど、
移動を止めるたびに、そのコマを盤上の最寄りのマスにきっちり合わせて止める
って感じです。
マスもコマも16×16で同じサイズなので、
一番大きく修正される状態でも半分の8ドットなはずなんで
そこまで瞬間移動に見えないかなと思ってます

とりあえず、>>602さんと>>603さんのが一番理解しやすかったんで
それが最良っぽいんで、それでやってみます。
あ、プレイヤーの移動数値、座標位置ともにdouble型の小数点でやってるんで
>>604さんの案でいえば、キャスト変換しないほうが(すでに小数点なので)良い??
逆で、その都度int型にキャスト変換してから>>602さんの言う16で整数除算した方がいい?
自分ではよくわからない、、
0611名前は開発中のものです。
垢版 |
2018/12/08(土) 13:58:27.62ID:9pyRIy5m
>>610
やり方はいくつか上がったんだから、想定する入出力例をいくつか紙に描いてみて、
コンソールアプリでもビルドして、どのやり方が適切か計算結果を確認してみりゃいい。
一番良いやり方は当人しか分からん。

上がっている方法について少し付言すると、
整数型の割り算は小数が切り捨てられる。
また四捨五入する値が負の場合は、半分の値を引く必要がある
0612名前は開発中のものです。
垢版 |
2018/12/08(土) 14:48:34.57ID:XhAa/j63
整数で割るのはマップデータの当たり判定のほか
パズルゲームとかマウスでアイテム欄から選択とか
いろいろ応用が利くので慣れとくといいかも
0613名前は開発中のものです。
垢版 |
2018/12/08(土) 15:24:10.29ID:k0S0M7oi
単純に「座標なら整数型で持ってるだろう」という前提で
みんな話してたと思うよ

座標みたいに整数で出力される値でも
内部的にはdoubleで持つというのは、理由があるなら別に悪いことじゃない

まあfloatは無いかな…
0615名前は開発中のものです。
垢版 |
2018/12/12(水) 23:59:53.01ID:m1YZshsA
 今始まった話じゃないんだけど。

ttps://i.imgur.com/U9YOAm8.png

 DXライブラリ関係だけ曖昧と指摘されて、コンパイル出来ない。
 思い出した様にたま〜〜〜に出て、一度終了してから起動すると出ない。
 出ない時は全然出ないので再現性がなく、作者様にお伺い立て様もなく。
 VisualStudio2017Comunityですが、同じ症状の人います?
0616名前は開発中のものです。
垢版 |
2018/12/15(土) 11:52:51.86ID:fFdw8IQe
もともとVisualStudioは外から来たライブラリを激しく嫌う習性がある
if文の括弧つけ忘れとかセミコロン置き忘れのようなライブラリと関係なさそうなミスでも
「おめーの関数あいまいなんだよ」みたいな態度を取って文句を言ってくる
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況