) cub3D - map.cubファイルの処理
1)cub 3 d subject-descriptionファイルの処理
Cub 3 dプログラムはdescriptionファイルを取得するために最初のパラメータが必要です.(.cub拡張子)
地図は0(スペース)、1(壁)、2(アイテム->2021)、.05ボーナス部分、N/S/E/W(プレイヤーの位置と方向)、4文字からなるはずです.
地図は壁で囲まなければならない.そうでなければ、プログラムはエラーをロールバックする必要があります.
descriptionファイルでは、マッピング以外の要素を1行または複数行の空白行で区切ることができます.
マッピングは常にファイルの一番下にあり、他の要素の配置順序は不明です.
地図を除いて、残りの要素の情報は1つ以上のスペースで区切ることができます.
マッピングは、ファイルの表示に従ってグループ化する必要があります.空白もマッピングの有効な部分であり、空白をどのように処理するかを自由に選択できます.
ルールを守った地図であれば、どんな形の地図でも分割できるはずです.
マッピングに加えて、要素の最初の情報はtype identifierです.(1文字または2文字からなる)
情報は以下の順序でリストされます。
Resolution (해상도) : R 1920 1080
[구분자 R] [x 렌더 크기] [y 렌더 크기]
-> 2021. 05 삭제
EWSN Texture (동/서/남/북 쪽 텍스처) : EA/WE/SO/NO ./path
[구분자 EA/WE/SO/NO] [텍스처 경로]
Sprite texture (아이템 텍스처) : S ./path
[구분자 S] [텍스처 경로]
Floor color (바닥 색상) : F 220,100,0
[구분자 F] [RGB 색상]
Ceiling color (천장 색상) : C 225,10,0
[구분자 C] [RGB 색상]
ファイルに誤った設定がある場合は、プログラムが正しく終了し、エラーメッセージを出力する必要があります.
エラーメッセージは、「Errorn」の後に具体的なエラーメッセージを作成して出力することができる.後の情報は自由に書くことができます.
2)Description処理過程を考える
:最初のパラメータmap.cubを迎えに来ます.
read_file() 시작
ファイルの検証
:
parsing()
->ファイル名、fd=open()エラーチェックファイルを行単位で読み込み、保存する
地図:
get_next_line()
.行ごとにcubファイルを受信gnl errorをチェック受信した行をt linesの
append()
(行、行null)に動的に割り当て、行ごとに貼り付け(既存のスペースの割り当て解除)して保存します.検証とグループ化map
じょうほうぶんかつ
レーザー投射を使用してマップをレンダリングするには
Reference
この問題について() cub3D - map.cubファイルの処理), 我々は、より多くの情報をここで見つけました https://velog.io/@sorikikikim/2-cub3D-map.cub-파일-처리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol