) 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処理過程を考える

  • main関数から記述ファイルパラメータを取得
    :最初のパラメータmap.cubを迎えに来ます.
  • read_file() 시작

  • ファイルの検証
    :parsing()->ファイル名、fd=open()エラーチェック

  • ファイルを行単位で読み込み、保存する
    地図:get_next_line().行ごとにcubファイルを受信gnl errorをチェック
    受信した行をt linesのappend()(行、行null)に動的に割り当て、行ごとに貼り付け(既存のスペースの割り当て解除)して保存します.

  • 検証とグループ化map

  • じょうほうぶんかつ

  • レーザー投射を使用してマップをレンダリングするには
  • --saveオプションがある場合は、レンダリング画像をbmpファイルとして保存して終了します->2021.05削除
  • --saveオプションがない場合は、mlxを使用してウィンドウを表示し、
  • をレンダリングします.
  • ユーザのキー/マウス入力
  • を受信処理する.