ページ 1 / 1
龍の館12章moif(t%60==00)ってなんですか?
Posted: 2008年8月06日(水) 14:35
by こめかみ
if(t%60==0)
じゃダメなんでしょうか。
Re:龍の館12章moif(t%60==00)ってなんですか?
Posted: 2008年8月06日(水) 14:36
by こめかみ
タイトル間違えましたすいません。
Re:龍の館12章moif(t%60==00)ってなんですか?
Posted: 2008年8月06日(水) 14:38
by こめかみ
ちょっと間違えて投稿しました今質問を整理してます。
ご迷惑おかけします。
Re:龍の館12章moif(t%60==00)ってなんですか?
Posted: 2008年8月06日(水) 14:44
by こめかみ
enemy_act_pattern.cppの中の関数 enemy_pattern10に出て来る
if(t%60==00)というのはなんでしょうか。
またこういう微妙な記号の表現を検索する方法などございましたらご教授よろしくお願いします。
Re:龍の館12章moif(t%60==00)ってなんですか?
Posted: 2008年8月06日(水) 14:54
by 管理人
すみません、タイプミスです。
「0」でいいです。
Re:龍の館12章moif(t%60==00)ってなんですか?
Posted: 2008年8月06日(水) 14:58
by 御津凪
先頭の0は、8進数を表してますよね。
式としては合っているわけですが。
Re:龍の館12章moif(t%60==00)ってなんですか?
Posted: 2008年8月06日(水) 15:06
by こめかみ
12章のミスの報告です。
//移動パターン1
//下がってきて停滞して左下に行く
void enemy_pattern1(int i){
int t=enemy.cnt;
if(t==0)
enemy.vy=3;//下がってくる
if(t==40)
enemy.vy=0;//止まる
if(t==40+enemy.wait){//登録された停滞時間だけして
enemy.vx=-1;//止まる
enemy.vy=2;//上がっていく
enemy.muki=0;//左向きセット
}
}
二つ目の"止まる"は"左へ"では?
おなじく、
//移動パターン2
//下がってきて停滞して右下に行く
void enemy_pattern2(int i){
int t=enemy.cnt;
if(t==0)
enemy.vy=3;//下がってくる
if(t==40)
enemy.vy=0;//止まる
if(t==40+enemy[i].wait){//登録された停滞時間だけして
enemy[i].vx=1;//上がっていく
enemy[i].vy=2;//止まる
enemy[i].muki=2;//右向きセット
}
}
二つ目の"止まる"は"下がってくる"で、
"上がっていくの"止まる"は"右へ"です。
そして、移動パターン1~3,移動パターン7~9
の、
"//登録された停滞時間だけして"
は、"//登録された時間だけ停滞して"です。
enemy_enter関数が以前の前章のようにずれています。
"enemy[i].wait =enemy_order[t].wait;//色"
これも例の如く
enemy[i].wait =enemy_order[t].wait;//停滞時間ですよね。
enemy_act関数内のコメントが例の如く
" //敵が画面外に外れたら消す"
危険が危ないですね。
以上です。
Re:龍の館12章moif(t%60==00)ってなんですか?
Posted: 2008年8月06日(水) 15:11
by こめかみ
ミスだったんですかw
コンパイルは成功したので意味があるのかと思いました。
教科書には無かったですけどね。
Re:龍の館12章moif(t%60==00)ってなんですか?
Posted: 2008年8月06日(水) 15:16
by 管理人
ご報告ありがとうございます。
>コンパイルは成功したので
御津凪さんが仰ったとおり、意味が変わりますが、
そういう表記があるのです。
0x00という表記をご覧になったことがあるかもしれませんが、
それの8進数版です。
Re:龍の館12章moif(t%60==00)ってなんですか?
Posted: 2008年8月06日(水) 15:17
by こめかみ
お礼言い忘れました。
管理人さん、御津凪さんありがとうがざいました。
Re:龍の館12章moif(t%60==00)ってなんですか?
Posted: 2008年8月06日(水) 15:19
by こめかみ
8進数教科書に載ってますね。
索引に00が無かっただけでした。<!--1
セーブデータについて
Posted: 2008年8月14日(木) 12:17
by ぬっち
また質問させていただきます。
今回は、セーブデータの作成・書き込み・読み込みの方法についてです。
セーブデータ無しでは、ゲームとして何か物足りないものがあったので、作り始めたのはいいのですが、思うように先に進めません。
具体的には
・白紙のスコアデータには、問題なく書き込みが出来る。
・書き込みしたものを読み込む時に、エラーが出て強制終了されてしまう。
ということです。
プログラム自体が間違っている可能性があるので、UPしておきます。
<スコア読み込み>
fp=fopen("score.txt", "r");
if(fp){
fscanf(fp,"%d",spell_history[0]);
fscanf(fp,"%d",spell_history_max[0]);
fclose(fp);
}
<スコア書き込み>
fp=fopen("score.txt", "w");
if(fp){
fprintf(fp,"%d\n",spell_history[0]);
fprintf(fp,"%d\n",spell_history_max[0]);
fclose(fp);
}
もちろんこれを使っている時には、FILE *fpを加えてあります。
ポインタをよく理解していないためか、苦戦しています;;
ぜひ、アドバイスをよろしくお願いします。
Re:セーブデータについて
Posted: 2008年8月14日(木) 12:36
by tk-xleader
fscanfはscanfのファイル読み込み版なので、%dのときはアドレスを渡す必要があります。
fp=fopen("score.txt", "r");
if(fp){
fscanf(fp,"%d",&spell_history[0]);//こっちと
fscanf(fp,"%d",spell_history_max);//こっちのどちらか。
//でも分かりやすさの面で上を使ったほうがいいと思います。
fclose(fp);
}
Re:セーブデータについて
Posted: 2008年8月14日(木) 12:44
by tk-xleader
後、データが改行で区切られているので、1つのfscanfにまとめてしまうことも出来ます。
fp=fopen("score.txt", "r");
if(fp){
fscanf(fp,"%d%d",&spell_history[0],&spell_history_max[0]);
fclose(fp);
}
Re:セーブデータについて
Posted: 2008年8月14日(木) 17:54
by ぬっち
tkmakwins15さん回答ありがとうございます。
おかげで、うまくいくようになりました^^
ありがとうございます。