「ゲームプログラミング/画像ファイルの作成プログラム」の版間の差分

削除された内容 追加された内容
→‎PackBits: 変数 breakFor のbreak先がforではなくwhileなのでbreakLoopに修正。ほか。
1,295 行
 
int temp = 0;
int breakForbreakLoop = 0; // for から抜けるためのフラグ
 
for (temp = 0; temp <= 12; temp = temp + 1) {
1,308 行
press1[1] = bufRep[0];
preCount = +2;
breakForbreakLoop = 1;
break;
} else if (str1[temp] == 0) {
breakForbreakLoop = 1;
// ヌルが来たら文末などと判断し、他に何もせずに抜け出す
break;
} // else if
 
if (breakForbreakLoop == 1) {
break;
}
1,340 行
int hokan = temp; // 次のforの開始番号用
 
int looploopNum = 1;
 
breakForbreakLoop = 0; // 下記 while のbreak フラグ用
while (breakForbreakLoop == 0) {
 
hokan = temp;
bufWord[looploopNum] = str1[hokan + 1];
bufRep[looploopNum] = 1;
 
press1[preCount + 0] = bufWord[looploopNum];
press1[preCount + 1] = bufRep[looploopNum];
 
repFlag = 1; // 次のループ用に再セット
1,357 行
 
if (str1[temp + 1] == str1[temp] && str1[temp] != 0) {
bufRep[looploopNum] = bufRep[looploopNum] + 1;
repFlag = 1;
 
1,363 行
 
repFlag = 0;
press1[preCount + 0] = bufWord[looploopNum];
press1[preCount + 1] = bufRep[looploopNum];
preCount = preCount + 2;
 
break;
} else if (str1[temp] == 0) {
breakForbreakLoop = 1; // ヌルが来たら文末などと判断し ループから break
break;
1,375 行
 
else {
breakForbreakLoop = 1; // 無限ループ防止のため 想定外の自体はループから break
 
break;
} // else if
} else {
breakForbreakLoop = 1; // 無限ループ防止のため 想定外の自体はループから break
 
break;
1,388 行
} // for
 
printf("loop: %02x \n", looploopNum); // 最低でも2桁を表示、
 
printf("記録する文字%dの機械語: %02x \n", looploopNum,
bufWord[looploopNum]); // 最低でも2桁を表示、の意味
printf("その文字の現在の回数: %02x \n",
bufRep[looploopNum]); // 最低でも2桁を表示、の意味
 
printf("圧縮する文字%dの機械語: %02x ", looploopNum,
press1[2 * looploopNum]); // 最低でも2桁を表示、の意味
printf("その文字の現在の回数: %02x ",
press1[2 * looploopNum + 1]); // 最低でも2桁を表示、の意味
 
printf("\n次の書き込みカウンター位置: %02x \n",
preCount); // 最低でも2桁を表示、の意味
 
looploopNum = looploopNum + 1;
} // while