したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

RUINATERRA開発スレッド

237Security ◆qLhnOM.Nxs:2005/06/25(土) 01:38:10 ID:6r3C.tVg
チャットの文字化け除去用にバイト区切りのUni切りを更に高位する場合…
先に文字列の長さを測る。\0の位置が長さの13以下なら区切り処理無しreturn。
13以上なら 長さ/13 で区切る回数を求めて、その分だけforで回す。
1文字ずつ\0があるか調べてる本家コードだと効率悪いので…
コードはいつか公開?
void Game::ChatMain(void)の内部を書き直せばOK。

ちなみにゴロさんのアイテムリスト処理はNo並びがおかしいので
直そうと思う方は以下。

//カウンタを勧める
cnt++;
}
}
//メッセージ描画
strcpy(buf,"");
i = 0;
while(1){
strcat(buf,"No.");
Other::Dech((i*ITEM_LIST)+1,buf2);
strcat(buf,buf2);
strcat(buf,"〜No.");
Other::Dech((i+1)*ITEM_LIST,buf2);
strcat(buf,buf2);
//sprintf(buf,"No.%d〜No.%d",(i*ITEM_LIST)+1,(i+1)*ITEM_LIST);
strcat(buf,"\n");
i++;
if (i>=1+(all_item-1)/ITEM_LIST) break;
}

strcat(buf,"戻る\n");

No1から出すならこう。Dechなどと分けて考える。
最適化する前のコードしか残ってなかったので適当に最適化して下さい。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板