トップページgamedev
1001コメント309KB

DXライブラリ 総合スレッド その12

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2012/02/23(木) 21:35:32.53ID:Si08WDH/
Cを習得した程度のスキルでも、
ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

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

【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
DXライブラリ 総合スレッド その7
http://hibari.2ch.net/test/read.cgi/gamedev/1286180687/
DXライブラリ 総合スレッド その8
http://hibari.2ch.net/test/read.cgi/gamedev/1301818631/
DXライブラリ 総合スレッド その9
http://hibari.2ch.net/test/read.cgi/gamedev/1310904069/
DXライブラリ 総合スレッド その10
http://hibari.2ch.net/test/read.cgi/gamedev/1313655495/
DXライブラリ 総合スレッド その11
http://toro.2ch.net/test/read.cgi/gamedev/1322844235/
0658名前は開発中のものです。2012/05/12(土) 11:33:22.89ID:pM6R2rdg
stringってなんだよ
char*やchar[]となにが違うんだ
0659名前は開発中のものです。2012/05/12(土) 11:44:07.77ID:pM6R2rdg
動的に配列を確保したぃだけどできる?

kurasu hoge[] = new kurasu[i]
0660名前は開発中のものです。2012/05/12(土) 11:44:13.65ID:7ZI1drDU
なにって、文字列長可変できることに決まってるじゃまいか
0661名前は開発中のものです。2012/05/12(土) 11:46:31.53ID:7ZI1drDU
>>659
vector使っとけ
0662名前は開発中のものです。2012/05/12(土) 13:15:24.26ID:Y7LnpGkk
>>654
色々とダメすぎ。
char型にint型を代入しようとしているし、
char SoundSet,SoundVol = BGM001 , 255;
こんな代入ってできたっけか?
少なくとも、このコードで文字列を使うようなところはないぞ。
LoadSoundMem()の引数で使うのなら別だけど。

最低でも、配列ぐらいは勉強しようぜ

0663名前は開発中のものです。2012/05/12(土) 13:20:23.81ID:scKJS9wa
>>654
"BGM/音声.mp3"以外に文字列使ってるところないと思うけど
あとcharは+-127で 255いれるならアンサインドしないといけない。
SoundVol = BGM00はキャストしないといけないけど
int型のハンドルからcharにいれるとおかしくなる
0664名前は開発中のものです。2012/05/12(土) 13:33:12.14ID:e6ix4ssi
charがsignedとは決まってないぞ?
unsignedとも決まってないが
0665名前は開発中のものです。2012/05/12(土) 14:03:15.85ID:Cm45Qp6Q
>>664
釣乙と思って調べてみたらマジで処理系依存だった。
今まで何も意識してなかったんだぜ。
06666542012/05/12(土) 14:28:24.06ID:6R8HK7WJ
ダメ過ぎてごめんなさい
charもstringも使わずに出来ました、レスくれた人ありがとう
0667名前は開発中のものです。2012/05/12(土) 16:54:50.46ID:MLybp27S
atan2って0渡すと落ちない?
0668名前は開発中のものです。2012/05/12(土) 17:17:40.32ID:aTzzNn3r
c#用のdxlibがあるらしいけど、
使い心地はc用と比較してどう?

0669名前は開発中のものです。2012/05/12(土) 17:49:08.27ID:bBRavtqR
>>667
処理系依存なのでVCは0を返す
BCCならエラーになるかも
GCCは0だったかな?
0670名前は開発中のものです。2012/05/12(土) 18:04:49.21ID:e6ix4ssi
>>667
C99対応処理系の場合、設定次第で例外を生成する
0671名前は開発中のものです。2012/05/12(土) 18:47:25.96ID:dhHNv3dR
>>668
構造体名が全部大文字だったり
C#ならenumを使うようなところが全部const静的メンバだったり
C#を使い込んでいる人ほど使いにくいと感じるかもしれない

個人的な感想をいうと
「どうしてもC#で使いたい人向けにとりあえず用意しました」
という感じが強い
使い心地という観点では、正直あまり良くない
まぁ、もともとCやC++用のライブラリだから仕方ないんだけどね
0672名前は開発中のものです。2012/05/12(土) 19:15:17.60ID:qdtYJdCq
enumで定義して欲しいとかはC/C++でもあるけどね
演算に利用するような定数でもなければ、型で縛っといてくれた方が安全だし
0673名前は開発中のものです。2012/05/12(土) 22:25:31.97ID:0khMsYy7
練習に簡単なじゃんけんゲー作ってたら面白くなってきた
0674名前は開発中のものです。2012/05/12(土) 22:35:13.58ID:vkMbVikO
どうせ軽いフレームワークは自作するんだろ?
そのついでにC#らしからぬ所を隠してしまえばいい。
0675名前は開発中のものです。2012/05/12(土) 23:07:24.89ID:zvVDUBCv
>>652
再配置ってvectorなんかで起こるメモリの再割り当て?
↑ならmapでは特に気にしなくていんじゃないかな
0676名前は開発中のものです。2012/05/13(日) 00:34:39.15ID:a5SCC/ey
ゲームプログラミング作り難しすぎ。
O型のやつは大雑把だから細かいプログラミングは絶対不向きだな。
0677名前は開発中のものです。2012/05/13(日) 00:59:03.31ID:2yoWSG9U
言い訳乙
0678名前は開発中のものです。2012/05/13(日) 01:59:31.47ID:SIc+R5jE
>>675
そうなん?
例えば10個の、敵その他オブジェクトへのポインタをmapにinsert/eraseをしてて、
場面によってオブジェクトが1000個に増えるようなときって、
mapが持ってるメモリ上の領域って10個分から1000個分に拡張されるんじゃないかなとか思う
でそのときに再配置というか、追加割り当てが発生するんじゃないかなとか
まぁその規模の処理で1/60秒食われるわけもないから、気にする必要もないのか…
0679名前は開発中のものです。2012/05/13(日) 02:18:54.50ID:oOXluPnN
プログラミングが難しいとか正気か?
0680名前は開発中のものです。2012/05/13(日) 02:30:01.68ID:ClwAHpRU
こういう場で血液型占い持ち出すやつは文系でも最下層の人間だろうから難しくても無理はない
0681名前は開発中のものです。2012/05/13(日) 05:10:58.13ID:lpryfgyO
>>678
最初にリザーブしとけばいいんじゃね?
06825912012/05/13(日) 08:53:27.43ID:8OrJeLU+
>>591
DXライブラリをビルドして試してみました。
>>399 さんの推測で当たりのようです。

DxGraphics2.cppの4134〜4168行をコメントアウトして
GRH.FrameTime=16;
にしたら動きました。(16という値は1000(ms)/60(fps)=16.666...ですよね多分)
上の行番号はDXライブラリ3.05での値で3.07だと変わっていると思うので、
// 1フレームの時間を取得しておく
のコメントの部分を探して、そこを同様に変更すればとりあえず回避できると思います。

ログ出力を埋め込んで見たところ、当該処理の中で呼び出している
GetRasterStatus()×4のうち、2番目のfor(;;)ループ
(// VBlank が終わるのを待つ)が無限ループしてるようです。

回避策は分かったけど、正しい修正方法までは分かりませんでした。
当該処理の中で呼び出しているGetRasterStatus()がおかしな値を返して
来ている?ようですが、原因まで調べるだけの知識・スキルは有りませんでした。

公式サイトの掲示板の方にも報告しようと思いますが、VirtualBox固有の問題
だと思うので、作者さんのところに環境が無いと調べて対策するのは難しいでしょうね...
0683名前は開発中のものです。2012/05/13(日) 09:01:44.64ID:9MSRAsYc
>>679
じゃあジャンケンのプログラムを余計なとこは省いてレス行以内で書けるか?
0684名前は開発中のものです。2012/05/13(日) 09:21:17.97ID:NHkyJdx+
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void shoubu(int a, int b) {
  char* hand[] = {"グー", "チョキ", "パー"};
  printf("あなた:%s vs 相手:%s\n", hand[a], hand[b]);
  if (a == b)
    printf("あいこだった\n");
  else if ((a+1)%3 == b)
    printf("あなたの勝ち!\n");
  else
    printf("相手の勝ち!\n");
}
void main() {
  unsigned int a;
  srand(time(0));
  printf("あなたの手は?(0=グー, 1=チョキ, 2=パー):");
  scanf("%d", &a);
  shoubu(a%3, rand()%3);
}
0685名前は開発中のものです。2012/05/13(日) 09:29:20.51ID:EZnOWHsv
なにこれうごかない
0686名前は開発中のものです。2012/05/13(日) 09:30:56.65ID:oOXluPnN
ちょ、俺書いてたのにw
0687名前は開発中のものです。2012/05/13(日) 09:52:50.74ID:w1fS3w9l
w
0688名前は開発中のものです。2012/05/13(日) 09:58:44.99ID:AAmzPGEo
>>671
ありがとう
公式に機械的にc#用に変換したとあったね

おとなしくxna使うわ
06896792012/05/13(日) 10:02:11.55ID:oOXluPnN
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){
if( DxLib_Init() < 0 ) return -1;
int game=0,zibun=-1,aite=0,hantei=0,temp=0;//ゲームの状態・自分・相手・判定・勝敗チェック用の
char* hand[] = {"グー", "チョキ", "パー"};//パクった グー=0 チョキ=1 パー=2
char* win[] = {"勝ちました", "負けました", "あいこでした"};
SRand(GetNowCount()); SetDrawScreen( DX_SCREEN_BACK ) ;
while( ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0 ){
switch(game){
case 0://初期化
aite=GetRand(2); game=1;
break;
case 1://入力待ち
DrawString(0,0,"グー=Z チョキ=X パー=C 選んでからスペースキーでバトル",GetColor(255,255,255)) ;
if(zibun!=-1)DrawFormatString(0,32,GetColor(255,255,255),"現在の選択は「%s」",hand[zibun]) ;
if(CheckHitKey(KEY_INPUT_Z))zibun=0;
if(CheckHitKey(KEY_INPUT_X))zibun=1;
if(CheckHitKey(KEY_INPUT_C))zibun=2;
if(zibun!=-1 && CheckHitKey(KEY_INPUT_SPACE))game=2;
break;
case 2://判定
DrawFormatString(0,0,GetColor(255,255,255),"自分の手は「%s」、相手の手は「%s」",hand[zibun],hand[aite]) ;
if(zibun==aite)hantei=2; else{
temp=zibun;if(temp==2)temp=-1;if((temp+1)==aite)hantei=0;else hantei=1;}
if(zibun!=-1)DrawFormatString(0,32,GetColor(255,255,255),"%s。エンターキーで再戦、ESCで終了",win[hantei]) ;
if(CheckHitKey(KEY_INPUT_RETURN))game=0;
break;
};
ScreenFlip(); ClearDrawScreen();
}
DxLib_End(); return 0;
}
0690名前は開発中のものです。2012/05/13(日) 10:06:18.59ID:oOXluPnN
コード汚すぎるけどDXライブラリで動く的な
0691名前は開発中のものです。2012/05/13(日) 10:07:06.00ID:W1RKjCLb
DXライブラリ関係ない話が多いなw

>>685
全角スペース消せ
0692名前は開発中のものです。2012/05/13(日) 10:09:01.24ID:Ls9MBT4q
ksに付き合うなよ…w
0693名前は開発中のものです。2012/05/13(日) 10:18:47.38ID:oOXluPnN
問題を出されると組みたくなるのはプログラマの性
0694名前は開発中のものです。2012/05/13(日) 10:27:17.86ID:pjQ/YiEQ
>>689
いいね
0695名前は開発中のものです。2012/05/13(日) 11:18:22.18ID:SIc+R5jE
>>681
reserveはvector系にはあるけど、map系にはないみたい
>>652のやりかた(最初にたくさん確保してからclear)をすればいいのかもしれない
0696名前は開発中のものです。2012/05/13(日) 12:16:43.99ID:8C9TJ7oh
mapって配列で保持してるとでも思っているか…
0697名前は開発中のものです。2012/05/13(日) 12:17:22.35ID:2jBPxDkl
>>678
再配置ってのが
push_backしまくってvectorが確保したメモリ超えたときに起こる
メモリの再確保&要素全コピー&古い領域解放のことだと思って
mapじゃ起こらないから気にしなくていんじゃねって思ってレスした
vectorは>>681に同意でreserveとセットだと思ってる
0698名前は開発中のものです。2012/05/13(日) 12:38:55.03ID:SIc+R5jE
>>696,697
たしかに、その話ではないね。

言いたかったのは、
・mapの実装が、要素間をポインタでリンクしてるものだとする。
・mapに要素を追加した場合は、
 既存の要素が持っているポインタ値が、新要素へのリンクを示す値になる
だから…
あっごめん再配置の問題ないわー
0699名前は開発中のものです。2012/05/13(日) 17:18:26.44ID:JYF+zVYV
途中で何度も挿入と削除繰り返す場合は
要素でアクセスする必要ないならlistのが良いし
ソート不要ならunordered_maptも考慮してもいい
0700名前は開発中のものです。2012/05/13(日) 18:37:46.05ID:SIc+R5jE
>>699
ありがとう

例えば敵オブジェクトを1000要素の配列に入れて、存在フラグtrue/falseで管理し、
存在フラグtrueのものだけ処理を行う、という用途で、
要素検索によるランダムアクセスしないなら、
listが向いてるって感じか

用途に応じて選ぶ際の参考になるわ
0701名前は開発中のものです。2012/05/13(日) 18:38:44.99ID:pSj6hJ1W
map, vector, listでクラス使う際は
ポインタ <T*> を使うのがいいんだな
javaやってて気付いた
0702名前は開発中のものです。2012/05/13(日) 22:06:28.55ID:4FieMYmt
vectorでどうやって動的にクラス配列確保するんだよ( ;´Д`)
0703名前は開発中のものです。2012/05/13(日) 22:18:11.78ID:pSj6hJ1W
だからポインタ使えって。コピーコンストラクタ書かずに済むし速い。
プリミティブなら逆にポインタ使わないほうがいいけど。
0704名前は開発中のものです。2012/05/13(日) 23:02:43.31ID:SIc+R5jE
>>701の<T*>をぐぐったけどよくわからんかった
ので>>702もよくわからんし>>703もわからん

もちろんプリミティブならそのままsecondに代入しちゃってのはわかる
0705名前は開発中のものです。2012/05/13(日) 23:22:05.25ID:SToQPpoQ
普通にvector使えばいいんじゃないの?
0706名前は開発中のものです。2012/05/13(日) 23:22:50.12ID:pSj6hJ1W
>>704
Hogeなら vector<Hoge*>ってこと。
するとSTLが管理するのはポインタの配列だけで
ポインタが指すインスタンスは結局自分でnew(), delete()する必要があるね。
vector::push_back()とかにあわせて
参照先new(), delete()するラップクラス作っちゃったり。
0707名前は開発中のものです。2012/05/14(月) 00:20:26.40ID:nfhDOHHW
ああ、T*というところがわからなかったけど、
要はmapならsecondにはポインタを入れておけばいいってことで、
>>644と同じことをいってるってことね
0708名前は開発中のものです。2012/05/14(月) 12:57:31.44ID:BTxAOBmy
mapならというかコンテナ全般、プリミティブじゃないなら
ほとんどの場合ポインタかスマートポインタになると思う
インスタインス生成する場合でも生成してからポインタをコンテナに入れる
0709名前は開発中のものです。2012/05/14(月) 20:31:57.64ID:wi3mQ0Av
敵がドアを破って追いかけてくるゲーム作りたいけど何時間くらいで
作れますか?

マップは平面です。
100時間くらいで作れますかね?
0710名前は開発中のものです。2012/05/14(月) 20:55:24.27ID:nluLiaGY
>>709
どんなゲームかよくわからないけど、一般に絵描くのに時間がかかると思う
0711名前は開発中のものです。2012/05/14(月) 20:57:44.59ID:wi3mQ0Av
ドンキーコングみたいなゲーム作るには何時間くらいかかりますかね?

ディクシーのポニーテールジャンプみたいなアクションとか難しいですか?
0712名前は開発中のものです。2012/05/14(月) 20:59:03.55ID:nfhDOHHW
DXライブラリスレで質問したということは、
ツクールなどでなく、プログラムを0から作るということだよね
プログラムの経験がないなら、プログラムのやり方をつかむまでにも、時間がかかると思う
0713名前は開発中のものです。2012/05/14(月) 21:00:26.92ID:ARfdhxrz
使う言語が分からん。
使うツールが分からん。
どんな設計するか分からん。
そもそもどんなゲームか分からん。
>>709の技量が分からん。

本当に>>709だけだったら1時間もかからないんじゃない?
__人≡_扉_敵≡_扉___
↑を適当に表示すれば?
0714名前は開発中のものです。2012/05/14(月) 21:13:16.20ID:fXKpuvEK
手を動かさない限りは100万年あってもできないからw
0715名前は開発中のものです。2012/05/14(月) 21:48:26.61ID:nluLiaGY
>>711
難しくはないけど、何時間で作れるかはわからない。開発時間なんて測ったことないから。昨年作った自分のゲーム(STG)見たらデバッグでのプレイ時間は今調べたら12時間くらい。だから製作時間は100時間は超えてると思う。
俺は1年で1作品作ってるけど1年の内この期間は言語の勉強して、この期間はライブラリ作って、みたいな感じ。ゲーム作ってる期間は3ヶ月くらい。
参考になりましたでしょうか?
0716名前は開発中のものです。2012/05/14(月) 21:51:45.72ID:FOic/R1y
話変わるけど、>>715さん。
シンプル500って知ってるかい?

あぁいう感じのゲーム好きなんだわ。
500の脱出ってしってる?

あんな感じのインターフェースが良いな。
初心者です^ω^
言語はCです。(C++は無理)
ライブラリはDxlibraryとvisualC++
0717名前は開発中のものです。2012/05/14(月) 21:58:12.39ID:nHTiVln5
(C++は無理)

visualC++
0718名前は開発中のものです。2012/05/14(月) 22:28:40.41ID:Fjz7pfxe
>>716
ああいうのはフラッシュのほうがいい
0719名前は開発中のものです。2012/05/14(月) 22:37:14.19ID:M7E7ECcT
>>716
ClassはまだしもStringとか使ってないの?
0720名前は開発中のものです。2012/05/14(月) 22:39:41.11ID:FdCjrB5P
「free game classic(フリーゲームクラシック)」とは?
3ヶ月ごとに開催される個人運営のコンテストでみんなの投票で
順位を決めます。
「プレイ時間は90分内」「先行公開が可能」など、ルールがあるので要注意。
3位までにギフト券3000〜1万円が贈られるます。
ゲームを作ってコンテストに参加するもよし、ただ遊ぶでもよしです。
0721名前は開発中のものです。2012/05/14(月) 22:54:07.17ID:FOic/R1y
>>718
フラッシュだとツール臭するからな。

CやBASICで10年以上前の簡単なPCゲームみたいなん作るのが楽しいんだよ。

あーコン部思い出すわ。
0722名前は開発中のものです。2012/05/14(月) 23:07:35.73ID:Y0QiG0Ej
10年程度じゃまだレベルたけーぞ。
0723名前は開発中のものです。2012/05/14(月) 23:13:10.08ID:ZvZF0l1B
>>720
ぐぐった。そしてなんだこの残念感。
0724名前は開発中のものです。2012/05/14(月) 23:16:49.28ID:FOic/R1y
>>722
違うって。
12年前くらいのPCゲーム。
Shock Priceの500円の脱出ってゲームしってるか?

あぁいう簡素だけど、コミカルでわくわくする雰囲気の
レトロゲー作りたいんだよ。

昔に戻れる。
パソコン部思い出せる。あーあのころに帰りたい。
0725名前は開発中のものです。2012/05/14(月) 23:21:21.72ID:FOic/R1y
>>722
お前コン部の楽しさしらないだろ?

公立なのに夏にクーラー利いた部屋に出入りしたら
勉強できないのにコンピュータだけは得意なメガネ君がカタカタやってる。
で俺は話ついていけないから、今度のコンクルール何出そうか?みたいな
話題提供したら乗ってくれる、色々教えてくれる。楽しいぜ?和気藹藹。
女子はパソコン苦手だから、固まってお喋りしてる。可愛い子もいた。
土曜日なら先生少ないから、サッカー部の生徒が可愛い女子目当てに
乱入しちゃったりしてさ。
あのころに戻りたい。



0726名前は開発中のものです。2012/05/15(火) 00:21:21.90ID:I2SNujz0
コンピュータ部ってX6800、PC98、FMタウンズの勢力争い三国志みたいなとこだった

0727名前は開発中のものです。2012/05/15(火) 01:02:26.15ID:3TH09wJu
>>725
俺の知ってる部活と違う。クーラーしか共通点がない。
全員でエロゲのセーブデータ解析&先公から頼まれた市販ソフトのコピー遂行。
解析データは投稿。>>725はどこの世界に生きてたんだよ・・・
0728名前は開発中のものです。2012/05/15(火) 01:09:35.50ID:G9xvbrPp
>>725
俺もdoubtだわw
「パソコン」が通称だった時代は、まだ全く身近じゃなかったんじゃないか?
サッカー部に女子がまとわりついてるってんなら分かるが。

あと、
>Shock Priceの500円の脱出ってゲーム
アマゾンのユーザレビューでボロクソ言われてんなww
0729名前は開発中のものです。2012/05/15(火) 02:01:02.79ID:G9xvbrPp
「パソコン」はまだ言うなw
スマソ
0730名前は開発中のものです。2012/05/15(火) 02:28:36.70ID:I26iNYfr
マイコン
0731名前は開発中のものです。2012/05/15(火) 04:55:54.75ID:l3PfYtxB
コンピュータの話をするとそんなもん何の役に立つんだと
老害教師に鼻で笑われたなー
0732名前は開発中のものです。2012/05/15(火) 06:22:59.75ID:WoSDo/nx
実際役に立たないから困る
0733名前は開発中のものです。2012/05/15(火) 08:27:06.44ID:n+C8wzG1
実際ゲームのメイン部分ってwhileじゃないと駄目なの?
GPの館に書いてあったんだが
0734名前は開発中のものです。2012/05/15(火) 08:46:09.63ID:P26WoJ+E
他の制御構文は
for:初期化式と再初期化式が省略可能だが余分
do〜while:初回無条件に実行が必要じゃない
goto:基本的に使用は避ける

無駄が無いからwhileを使う
0735名前は開発中のものです。2012/05/15(火) 10:45:28.39ID:/AN6bfUC
while以外に何を使いたいんだ?w
0736名前は開発中のものです。2012/05/15(火) 11:24:27.70ID:7q5MiGtI
do〜whileを使うプログラマ、使わせるSEはクズ
0737名前は開発中のものです。2012/05/15(火) 13:32:48.02ID:DvZhu9E1
統一させないといけない仕事ならともかく、
趣味でやる分には好きにすればいいと思うよ
0738名前は開発中のものです。2012/05/15(火) 15:26:41.12ID:WoSDo/nx
while(true)よりfor(;;)の方が速いらしい
0739名前は開発中のものです。2012/05/15(火) 15:36:07.96ID:7MbmXZQt
そもそもそれぞれ機能が違うんだから「ループ処理」みたいにバカな一括りにしてないで使い分けろよw
0740名前は開発中のものです。2012/05/15(火) 17:48:29.94ID:K4tOkwgR
そんな微妙な差をきにするほどのゲームなのかと聞きたい
0741名前は開発中のものです。2012/05/15(火) 18:39:55.59ID:WoSDo/nx
for, foreach, while, doはforに統一してもいいよな。

for(int i=0; i<5; i++){}
for(Type object : array){}
for(true){}
{}for(true)
0742名前は開発中のものです。2012/05/15(火) 20:11:20.70ID:jK/Ti//s
>>740
宗教寄りな個々の拘りの問題で、出来上がる物にそこまで影響してこないでしょ
>>736 がそう思う理由を聞きたい。普段から殆ど使わないけど、なにかか不味かったけ?
0743名前は開発中のものです。2012/05/15(火) 20:18:12.31ID:FJN+ySbI
do〜whileの存在なんて忘れかけてたわw
0744名前は開発中のものです。2012/05/15(火) 20:30:17.74ID:Q/+zfBD6
do〜whileは一生使わないと思う
0745名前は開発中のものです。2012/05/15(火) 21:38:56.48ID:NycYNCvV
僕この前使ったことあるよ!!
二次元上の点をランダムな点(ただしPCの半径n以外)を得るコードの時に人生で初めて
0746名前は開発中のものです。2012/05/15(火) 21:42:25.47ID:I2CLfunR
do whileはstd::next_permutationで使うくらい
0747名前は開発中のものです。2012/05/15(火) 22:14:03.49ID:AbQ+Urgd
do{
処理;
if(エラーチェック1) break;
処理;
if(エラーチェック2) break;
処理;
return;//正常終了
}while(false);
エラー処理
return;

これでgoto要らず・・・
0748名前は開発中のものです。2012/05/15(火) 22:15:08.62ID:SjeSUqBD
構文がもし do while(条件) { ... } だったら、もうちょっと使ってたかもしれない
0749名前は開発中のものです。2012/05/15(火) 22:34:26.99ID:AbQ+Urgd
あと有名なのははDuff's Device
send(to, from, count)
register short *to, *from;
register count;
{
register n=(count+7)/8;
switch(count%8){
case 0: do{ *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while(--n>0);
}
}
0750名前は開発中のものです。2012/05/16(水) 01:14:43.27ID:E/82p3zm
>>749
なんだこれは
0751名前は開発中のものです。2012/05/16(水) 01:33:14.92ID:E/82p3zm
>>659だけど
他で作った好きな要素数の配列をnewしてアドレス変数をポンポン交換してって
使い終わったやつはdeleteで開放
で擬似的に動的配列になるかね

日本語意味不明だけど解読してくれると嬉しい
0752名前は開発中のものです。2012/05/16(水) 01:53:38.37ID:uCI89rGL
配列は定数しか無理だよ
動的配列のvectorじゃだめなん?
0753名前は開発中のものです。2012/05/16(水) 03:41:31.70ID:veKNCjZ1
vectorが内部でやってることだろ。
基本を抑えずvector使っても結局詰まるよ。
0754名前は開発中のものです。2012/05/16(水) 04:11:42.74ID:xN96LXhW
vectorとか適当にぶん回しても要素1000くらいまでならマジ優等生
何も考えずにvector使えばいいよ
0755名前は開発中のものです。2012/05/16(水) 20:28:31.12ID:veKNCjZ1
おまじないプログラマーの甘言を真に受けないように
0756名前は開発中のものです。2012/05/16(水) 21:05:20.10ID:Zs3i0kMO
プログラマーとして一流になる必要などなくて、ゲームが作れればいいんだから、
さっさとvector使えばええやん
C++ STL vectorとかでぐぐれば資料もたくさんあるから、必要な情報も得やすい
0757名前は開発中のものです。2012/05/16(水) 21:17:43.67ID:xcEAC60x
名前空間とかわけわからんdせう
0758名前は開発中のものです。2012/05/16(水) 21:22:50.79ID:xcEAC60x
クラスをインスタンス化する時コンストラクタやiniメソッドでメンバを初期化するとする
この時わざわざ
class Constructor{
private:
 int x,y,z;
public:
 Constructor(tmpx,tmpy,tmpz){
  x=tmpx;
  y=tmpy;
  z=tmpz;
 }
}
って名前変えて一個ずつ代入していくのが面倒なんだけど、この方法しかないの?

 Constructor(x,y,z){}
が出来るならいいんだけど
■ このスレッドは過去ログ倉庫に格納されています