Coder Social home page Coder Social logo

cub3d's Introduction

cub3d

cub3d's People

Contributors

mingxoxo avatar wonyangs avatar

Watchers

 avatar

cub3d's Issues

[bug] player coordinate error

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

ํ”Œ๋ ˆ์ด์–ด์˜ x์ขŒํ‘œ y์ขŒํ‘œ๊ฐ€ ๋ฐ˜๋Œ€๋กœ ๋‚˜์˜ค๋Š” ํ˜„์ƒ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

  • ๋งต์˜ y ์ขŒํ‘œ๋ฅผ ๋”ฐ๋ผ ์›€์ง์ผ ๋•Œ pos_y๊ฐ€ ์ฆ๊ฐํ•ด์•ผํ•˜๋‚˜, pos_x๊ฐ€ ์ฆ๊ฐํ•˜๋Š” ํ˜„์ƒ
  • ๋งต ์ •๋ณด ์ดˆ๊ธฐํ™” ํŒŒํŠธ์—์„œ map.sx์™€ map.sy์˜ ๊ฐ’์ด ์ž˜๋ชป ๋“ค์–ด๊ฐ„ ๋ถ€๋ถ„์„ ํ™•์ธ

๐Ÿ“ธ ์Šคํฌ๋ฆฐ์ƒท

Screen Shot 2023-03-31 at 10 27 40 PM

[feat] map error check

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

ํŒŒ์ผ์—์„œ ์ฝ์–ด์˜จ map ์ •๋ณด์— ๋Œ€ํ•œ ์—๋Ÿฌ ๊ฒ€์‚ฌ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

#2 ์—์„œ ์ฝ์–ด์˜จ ๋งต ์ •๋ณด์— ๋Œ€ํ•ด์„œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š” ์ •๋ณด๊ฐ€ ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰

[์กฐ๊ฑด]

  1. 6๊ฐœ์˜ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž(0, 1, N, S, E, W)๋กœ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค.
  • 0 : ๋นˆ ๊ณต๊ฐ„
  • 1 : ๋ฒฝ
  • N / S / E / W : ํ”Œ๋ ˆ์ด์–ด์˜ ์‹œ์ž‘ ์œ„์น˜ ๋ฐ ์Šคํฐ ๋ฐฉํ–ฅ
  1. map์€ ๋ฒฝ(1)์œผ๋กœ ๋‘˜๋Ÿฌ์‹ธ์—ฌ(closed/surrounded) ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  2. space( )๋Š” map์˜ ์œ ํšจํ•œ ๋ถ€๋ถ„์ด๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

[๊ฒ€์‚ฌ ์š”๊ฑด]

  1. map์ด 6๊ฐœ์˜ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž(0, 1, N, S, E, W) + space( )๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๊ฐ€?
    • \n๋Š” ๋ฐฐ์—ด์— ์ €์žฅ๋  ๋•Œ space๋กœ ์ €์žฅ
  2. map์ด ๋ฒฝ ๋ฌธ์ž 1๋กœ ๋‘˜๋Ÿฌ์‹ธ์—ฌ์žˆ๋Š”๊ฐ€?
    • ์„ฌ ๋งต๊ณผ ๊ฐ™์€ ๋ชจ๋“  ๋งต์ด ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ๊ฒ€์‚ฌ
    • ๋งต์˜ ๋ชจ์„œ๋ฆฌ ๋ถ€๋ถ„์ด space์—ฌ๋„ ์ƒ๊ด€์—†์Œ (๋‘˜๋Ÿฌ์‹ธ์ด๋Š” ์˜์—ญ์—์„œ ์ œ์™ธ)
    • ๋งต์˜ ๋ชจ์„œ๋ฆฌ ๋ถ€๋ถ„์€ 0์ด์–ด๋„ ์ƒ๊ด€์—†์ง€๋งŒ, ์„ฌ ๋งต์ด๋ผ๊ณ  ํŒ๋‹จ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๊ฒƒ ๋˜ํ•œ ๋ฒฝ์œผ๋กœ ๋‘˜๋Ÿฌ์Œ“์—ฌ ์žˆ์–ด์•ผ ํ•จ
  3. ํ”Œ๋ ˆ์ด์–ด์˜ ์‹œ์ž‘ ์œ„์น˜๋ฅผ ์˜๋ฏธํ•˜๋Š” ๋ฌธ์ž(N, S, E, W)๊ฐ€ 1๊ฐœ๋กœ ๋“ค์–ด์™”๋Š”๊ฐ€?
    • 0๊ฐœ ํ˜น์€ 2๊ฐœ ์ด์ƒ์ด ์•„๋‹Œ ๋‹จ 1๊ฐœ๋งŒ ๋“ค์–ด์™€์•ผ ํ•จ

๐Ÿšซ ์—๋Ÿฌ ๋ฐœ์ƒ ์˜ˆ์‹œ

111111
100101
101001
110001
111111
111111
1001N1
1010S1
110001
111111
111101
100101
101001
110001
111111
111110
100101
101001
110001
111111

[bug] segmentation error when splitting list

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

divide_lst_by_type() ์—์„œ ๋ฆฌ์ŠคํŠธ ๋ถ„ํ•  ์‹œ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ์—๋Ÿฌ ๋ฐœ์ƒ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

๋ฌธ ๋˜๋Š” ์Šคํ”„๋ผ์ดํŠธ์— ํ•ด๋‹นํ•˜๋Š” lst๊ฐ€ ๋งจ ๋จผ์ € ๋“ค์–ด์˜ฌ ๊ฒฝ์šฐ prev๊ฐ€ NULL์ด์ง€๋งŒ prev->next๋ฅผ ์ฐธ์กฐํ•˜๋ฉด์„œ ์—๋Ÿฌ ๋ฐœ์ƒ

type_lst = NULL;
prev = NULL;
lst = *m_lst;
while (lst)
{
    if (is_door(lst->content))
	    type_lst = d_lst;
    else if (is_sprite(lst->content))
	    type_lst = sp_lst;
    else
    {
	    type_lst = NULL;
	    prev = lst;
	    lst = lst->next;
	    continue ;
    }
    if (prev)
	    prev->next = lst->next;
    else
	    *m_lst = lst->next;
    lst->next = NULL;
    ft_lstadd_back(type_lst, lst);
    lst = prev->next;
}

[feat] check the path to the texture file

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

ํŒŒ์ผ์—์„œ ์ฝ์–ด์˜จ element ์ •๋ณด ์ค‘ ๋ฐฉํ–ฅ texture์˜ image file path๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

  1. ๋ฐฉํ–ฅ์˜ texture ๊ฒฝ๋กœ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ฒฝ๋กœ์ธ์ง€ ๊ฒ€์‚ฌ
  2. ์˜ฌ๋ฐ”๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋“ค์–ด์™”๋‹ค๋ฉด mlx์—์„œ ์ด๋ฏธ์ง€ ํฌ์ธํ„ฐ๋ฅผ ๋ฐ›์•„์„œ ์ €์žฅ
  • mlx ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ํ•˜๊ธฐ

โ“ ์ด ๋•Œ ์กด์žฌํ•˜๋Š” ํŒŒ์ผ ๊ฒฝ๋กœ์ด์ง€๋งŒ xpm ํŒŒ์ผ๋กœ ๋“ค์–ด์˜ค์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ, mlx_xpm_file_to_image ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ค ์‹์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ํ™•์ธ ํ•„์š”

๐Ÿšซ ์—๋Ÿฌ ๋ฐœ์ƒ ์˜ˆ์‹œ

NO [์กด์žฌํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ ๊ฒฝ๋กœ]
SO ./path_to_the_south_texture
WE ./path_to_the_west_texture
EA ./path_to_the_east_texture

[feat] minimap system

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

๋ฏธ๋‹ˆ๋งต ์‹œ์Šคํ…œ ๊ตฌํ˜„

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

ํ˜„์žฌ ๊ทธ๋ ค์ง„ ์œˆ๋„์šฐ ์œ„์— ๋ฏธ๋‹ˆ๋งต ์‹œ์Šคํ…œ ํ‘œ์‹œ

  • ๋ฏธ๋‹ˆ๋งต์˜ ์ตœ๋Œ€ ํฌ๊ธฐ ์ •ํ•˜๊ธฐ

โœจ ๋ฏธ๋‹ˆ๋งต ์˜ˆ์‹œ

Screen Shot 2023-03-26 at 1 54 52 AM

[feat] parse door and animated sprite info

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

์—ด๊ณ  ๋‹ซ์„ ์ˆ˜ ์žˆ๋Š” ๋ฌธ ์ •๋ณด ๋ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์Šคํ”„๋ผ์ดํŠธ ์ •๋ณด ํŒŒ์‹ฑ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

element ํŒŒ์‹ฑ์„ ์ง„ํ–‰ํ•  ๋•Œ ๋ฌธ ํ…์Šค์ณ ๋ฐ ์Šคํ”„๋ผ์ดํŠธ ํ…์Šค์ณ์— ๋Œ€ํ•œ ์ •๋ณด๋„ ํ•จ๊ป˜ ๋ฐ›๋„๋ก ์ถ”๊ฐ€

[์ž…๋ ฅ ํ˜•์‹]

๋ฌธ ํ…์Šค์ฒ˜:
D ./path_to_the_door_texture

  • ์‹๋ณ„์ž: D
  • ๋ฌธ ํ…์Šค์ฒ˜์˜ ๊ฒฝ๋กœ

์Šคํ”„๋ผ์ดํŠธ ํ…์Šค์ฒ˜:
SP ./path_to_the_sprite_texture

  • ์‹๋ณ„์ž: SP
  • ์Šคํ”„๋ผ์ดํŠธ ํ…์Šค์ฒ˜์˜ ๊ฒฝ๋กœ
    โš ๏ธ ์—ฌ๋Ÿฌ ์žฅ์˜ ์ด๋ฏธ์ง€๊ฐ€ ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ์Œ
    ๋”ฐ๋ผ์„œ ๋“ค์–ด์˜ค๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ด๋ฏธ์ง€ ์ˆœ์„œ๋ฅผ ์ •ํ•˜๋„๋ก ์ง€์ •

.cub ํŒŒ์ผ์— ํฌํ•จ๋˜๋Š” ์ •๋ณด ์˜ˆ์‹œ

NO ./path_to_the_north_texture
SO ./path_to_the_south_texture
WE ./path_to_the_west_texture
EA ./path_to_the_east_texture
D ./path_to_the_door_texture

SP ./path_to_the_sprite1_texture
SP ./path_to_the_sprite2_texture
SP ./path_to_the_sprite3_texture
SP ./path_to_the_sprite4_texture

F 220,100,0
C 225,30,0

111111
1001N1
101001
110001
111111

[feat] element parsing (except the map)

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

.cub ํ™•์žฅ์ž ํŒŒ์ผ์— ๋“ค์–ด์˜ค๋Š” ์ •๋ณด๋“ค ์ค‘ map์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ์š”์†Œ๋“ค ์ •๋ณด ํŒŒ์‹ฑ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

์•„๋ž˜์˜ ํ˜•์‹์— ๋”ฐ๋ผ ์ž…๋ ฅ๋˜๋Š” ์š”์†Œ ์ •๋ณด๋ฅผ ํŒŒ์‹ฑํ•œ๋‹ค.
(๋ณด๋„ˆ์Šค์—์„œ๋Š” ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Œ)

[์ž…๋ ฅ ํ˜•์‹]

๊ฐ ์š”์†Œ(์ง€๋„ ์ œ์™ธ)์˜ ์ฒซ ๋ฒˆ์งธ ์ •๋ณด๋Š” ์œ ํ˜• ์‹๋ณ„์ž(ํ•œ๋‘๊ฐœ์˜ ๋ฌธ์ž๋กœ ๊ตฌ์„ฑ)์ด๋ฉฐ, ๊ทธ ๋‹ค์Œ์—๋Š” ๊ฐ ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ตฌ์ฒด์ ์ธ ์ •๋ณด๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—„๊ฒฉํ•œ ์ˆœ์„œ๋กœ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค:

  • ๋ถ์ชฝ ํ…์Šค์ฒ˜:
    NO ./path_to_the_north_texture
    - ์‹๋ณ„์ž: NO
    - ๋ถ์ชฝ ํ…์Šค์ฒ˜์˜ ๊ฒฝ๋กœ
  • ๋‚จ์ชฝ ํ…์Šค์ฒ˜:
    SO ./path_to_the_south_texture
    - ์‹๋ณ„์ž: SO
    - ๋‚จ์ชฝ ํ…์Šค์ฒ˜์˜ ๊ฒฝ๋กœ
  • ์„œ์ชฝ ํ…์Šค์ฒ˜:
    WE ./path_to_the_west_texture
    - ์‹๋ณ„์ž: WE
    - ์„œ์ชฝ ํ…์Šค์ฒ˜์˜ ๊ฒฝ๋กœ
  • ๋™์ชฝ ํ…์Šค์ฒ˜:
    EA ./path_to_the_east_texture
    - ์‹๋ณ„์ž: EA
    - ๋™์ชฝ ํ…์Šค์ฒ˜์˜ ๊ฒฝ๋กœ
  • ๋ฐ”๋‹ฅ ์ƒ‰:
    F 220,100,0
    - ์‹๋ณ„์ž: F
    - [0, 255] ๋ฒ”์œ„ R, G, B ์ƒ‰์ƒ: 0, 255, 255
  • ์ฒœ์žฅ ์ƒ‰:
    C 225,30,0
    - ์‹๋ณ„์ž: C
    - [0, 255] ๋ฒ”์œ„ R, G, B ์ƒ‰์ƒ: 0, 255, 255

[์กฐ๊ฑด]

  • ๊ฐ ์š”์†Œ ์œ ํ˜•์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋นˆ ์ค„๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•ญ์ƒ ๋งˆ์ง€๋ง‰์— ์œ„์น˜ํ•ด์•ผ ํ•˜๋Š” map์„ ์ œ์™ธํ•˜๊ณ , ๊ฐ ์š”์†Œ ์œ ํ˜•์€ ํŒŒ์ผ์—์„œ ์›ํ•˜๋Š” ์ˆœ์„œ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ง€๋„๋ฅผ ์ œ์™ธํ•œ ์š”์†Œ์˜ ๊ฐ ์ •๋ณด ์œ ํ˜•์€ ํ•˜๋‚˜ ์ด์ƒ์˜ space๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

.cub ํŒŒ์ผ์— ํฌํ•จ๋˜๋Š” ์ •๋ณด ์˜ˆ์‹œ

NO ./path_to_the_north_texture
SO ./path_to_the_south_texture
WE ./path_to_the_west_texture
EA ./path_to_the_east_texture

F 220,100,0
C 225,30,0

111111
1001N1
101001
110001
111111

[feat] refactor parsing bonus part

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

ํŒŒ์‹ฑ ๋ณด๋„ˆ์Šค ํŒŒํŠธ norm ์ˆ˜์ • ๋ฐ leak ๊ฒ€์‚ฌ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

  • norminette ๊ฒ€์‚ฌ
  • memory leak ๊ฒ€์‚ฌ

[feat] implement untextured raycaster

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

ํ…์Šค์ณ ์ •๋ณด๊ฐ€ ์—†๋Š” ๋ ˆ์ด์บ์Šคํ„ฐ ๊ตฌํ˜„

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

https://github.com/365kim/raycasting_tutorial/blob/master/3_untextured_raycaster.md

lodev's raycaster ํŠœํ† ๋ฆฌ์–ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ…์Šค์ณ ์ด๋ฏธ์ง€ ์ •๋ณด๊ฐ€ ์—†๋Š” ๋ ˆ์ด์บ์Šคํ„ฐ ๊ตฌํ˜„

  • mlx ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ ์šฉ
  • ํ”Œ๋ ˆ์ด์–ด ์ •๋ณด๋ฅผ ๋‹ด๋Š” ๊ตฌ์กฐ์ฒด ์„ ์–ธ
  • ํŒŒ์‹ฑ๋œ ๋งต ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งต์„ ๊ทธ๋ ค์ฃผ๋Š” ๋ ˆ์ด์บ์Šคํ„ฐ ๊ตฌํ˜„
  • ํ…์Šค์ณ ์ •๋ณด๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ž„์˜์˜ ์ƒ‰์ƒ์œผ๋กœ ๋ฒฝ๊ณผ ์ฒœ์žฅ, ๋ฐ”๋‹ฅ์„ ํ‘œํ˜„

โœจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2023-03-14 แ„‹แ…ฉแ„’แ…ฎ 11 43 17

[feat] implement door block

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

์—ด๊ณ  ๋‹ซ์„ ์ˆ˜ ์žˆ๋Š” ๋ฌธ ๊ตฌํ˜„

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

  • ๋งต์— ํ”Œ๋ ˆ์ด์–ด์™€ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ด ์—ด๊ณ  ๋‹ซ์„ ์ˆ˜ ์žˆ๋Š” ๋ฌธ ๊ตฌํ˜„
  • ๋ฌธ์ด ์—ด๋ ค ์žˆ์„ ๋•Œ๋Š” ์ง€๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๊ณ , ๋‹ซํ˜€ ์žˆ์„ ๋•Œ๋Š” ์ง€๋‚˜๊ฐˆ ์ˆ˜ ์—†์Œ
  • ์ŠคํŽ˜์ด์Šค๋ฐ”๋ฅผ ์ด์šฉํ•ด ๋ฌธ์„ ์—ด๊ณ  ๋‹ซ๋Š” ๋™์ž‘์„ ํ•  ์˜ˆ์ •

[bug] color parsing error

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

์ƒ‰์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํŒŒ์‹ฑํ•  ๋•Œ ์ž˜๋ชป๋œ ๊ฐ’์ด ๋“ค์–ด์™”์„ ๋•Œ์—๋„ ๋™์ž‘

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

  • ,์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ splitํ•จ์ˆ˜๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ์ˆ˜์ •
    255,,255,255์™€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ๋™์ž‘

  • F์™€ C๊ฐ€ ๋ฐ˜๋Œ€๋กœ ๋˜์–ด์žˆ๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

[feat] modify player information initialization

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

ํŒŒ์‹ฑ์„ ์ง„ํ–‰ํ•  ๋•Œ ๋ฐ›์•„์˜ค๋Š” ํ”Œ๋ ˆ์ด์–ด ์ •๋ณด ๋ฐ ๋งต ์ˆ˜์ •

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

[์ˆ˜์ • ์ „]

๊ธฐ์กด์—๋Š” ํŒŒ์‹ฑ ์ง„ํ–‰ ์‹œ ํ”Œ๋ ˆ์ด์–ด ์‹œ์ž‘ ์œ„์น˜ ์ •๋ณด๋งŒ์„ ์ €์žฅ

  • check_map.c ์—์„œ check_char() ํ•จ์ˆ˜์—์„œ ๊ตฌํ˜„๋จ

[์ˆ˜์ • ์˜ˆ์ •]

  • ํ”Œ๋ ˆ์ด์–ด ์‹œ์ž‘ ์œ„์น˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•  ๋•Œ map ๋ฐฐ์—ด์—์„œ ๊ทธ ์œ„์น˜๋ฅผ '0'์œผ๋กœ ๋ณ€๊ฒฝ
  • ํ”Œ๋ ˆ์ด์–ด ์Šคํฐ ๋ฐฉํ–ฅ์„ ๊ตฌ์กฐ์ฒด์— ๋ณ€์ˆ˜๋กœ ์ €์žฅ

[feat] refactor raycast part

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

raycast part norm ์ˆ˜์ • ๋ฐ ๋ฆญ ๊ฒ€์‚ฌ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

  • norminette ๊ฒ€์‚ฌ
  • memory leak ๊ฒ€์‚ฌ
  • ํ‚ค ๋™์‹œ ์ž…๋ ฅ์€ ๊ฐ€๋Šฅํ•˜๋ฉด ํ•˜๊ธฐ..

[feat] map parsing

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

.cub ํ™•์žฅ์ž ํŒŒ์ผ์— ๋“ค์–ด์˜ค๋Š” ์ •๋ณด๋“ค ์ค‘ map ์ •๋ณด๋ฅผ ํŒŒ์‹ฑ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

  1. map ์ •๋ณด๋ฅผ get_next_line ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ•œ ์ค„์”ฉ ์ฝ์–ด์˜จ๋‹ค.
  • ํ˜„์žฌ๋Š” .cub ํŒŒ์ผ์— map ์ •๋ณด๋งŒ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.
  • map์„ ์ œ์™ธํ•œ ์š”์†Œ๋“ค์€ ์ดํ›„ ์ถ”๊ฐ€์ ์œผ๋กœ ํŒŒ์‹ฑ์„ ์ง„ํ–‰ํ•œ๋‹ค.
  1. ํ•œ ์ค„์”ฉ ์ฝ์–ด์˜จ map ์ •๋ณด๋ฅผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•œ๋‹ค.
  • ๋ช‡ ์ค„์ด ๋“ค์–ด์˜ฌ์ง€ ๋ชจ๋ฅด๋Š” ์ƒํƒœ
  1. ์ดํ›„ 2์ฐจ์› ๋ฐฐ์—ด์— ์ •๋ณด๋ฅผ ์˜ฎ๊ธด๋‹ค.
  • ๊ฐ€๋กœ : ๊ฐ€์žฅ ๊ธด ๋ฌธ์ž์—ด ์ž…๋ ฅ์˜ ๊ธธ์ด
  • ์„ธ๋กœ : ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๊ฐœ์ˆ˜
  1. ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋ฅผ ์ง„ํ–‰

.cub ํŒŒ์ผ์— ํฌํ•จ๋˜๋Š” map ์ •๋ณด ์˜ˆ์‹œ

        1111111111111111111111111
        1000000000110000000000001
        1011000001110000000000001
        1001000000000000000000001
111111111011000001110000000000001
100000000011000001110111111111111
11110111111111011100000010001
11110111111111011101010010001
11000000110101011100000010001
10000000000000001100000010001
10000000000000001101010010001
11000001110101011111011110N0111
11110111 1110101 101111010001
11111111 1111111 111111111111

[feat] implement animation sprite

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

์• ๋‹ˆ๋ฉ”์ด์…˜ ์Šคํ”„๋ผ์ดํŠธ ๊ตฌํ˜„

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

  • .cub ํŒŒ์ผ์— ๋“ค์–ด์˜จ ์Šคํ”„๋ผ์ดํŠธ ์ด๋ฏธ์ง€๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งต์— ์›€์ง์ด๋Š” ์Šคํ”„๋ผ์ดํŠธ ๊ตฌํ˜„

[feat] changing the structure of door

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

๋ฌธ ๊ตฌํ˜„ ๋ฐฉ์‹์— ๋”ฐ๋ฅธ ์„ธ๋ถ€์ ์ธ ๋ฌธ ๊ตฌ์กฐ์ฒด ์ •๋ณด ๋ฐ ํŒŒ์‹ฑ๊ณผ ๋ฏธ๋‹ˆ๋งต ์ˆ˜์ •

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

ํ˜„์žฌ ๋ฌธ์— ๋Œ€ํ•œ ์ด๋ฏธ์ง€ ์ •๋ณด๋ฅผ ์—ฌ๋Ÿฌ ์žฅ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„๋˜์–ด ์žˆ์Œ(์Šคํ”„๋ผ์ดํŠธ์™€ ๋™์ผํ•˜๊ฒŒ)

[๋ณ€๊ฒฝ ์‚ฌํ•ญ]

  • ๋ฌธ ๊ตฌ์กฐ์ฒด๋ฅผ ๋™์ ํ• ๋‹น ๋ฐ›๋Š” ๊ฒƒ์€ ์œ ์ง€ํ•˜๋˜, ์ด๋ฏธ์ง€๋Š” 1์žฅ๋งŒ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌ
    • ๋ฌธ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋งต์— ํ‘œ์‹œ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ 1์žฅ์ด ํ•„์ˆ˜์ ์œผ๋กœ ๋“ค์–ด์™€์•ผ ํ•จ
  • ๋ฏธ๋‹ˆ๋งต์— ๋ฌธ์ด ์—ด๊ณ  ๋‹ซํž ๋•Œ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ‘œ์‹œ

[bug] sprite segfault error

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

์Šคํ”„๋ผ์ดํŠธ ์ด๋ฏธ์ง€ ๋ Œ๋”๋ง ๊ณผ์ • ์ค‘ ํŠน์ • ๊ฐ๋„์—์„œ segfault๊ฐ€ ๋‚˜๋Š” ํ˜„์ƒ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

  • ์Šคํ”„๋ผ์ดํŠธ์— ๊ฐ€๊นŒ์ด ๊ฐ€์„œ ํ™”๋ฉด์„ ํšŒ์ „์‹œํ‚ค๋‹ค ๋ณด๋ฉด ๊ฐ„ํ—์œผ๋กœ segfault๊ฐ€ ๋‚˜๋Š” ํ˜„์ƒ ๋ฐœ์ƒ
  • color = ((uint32_t *)sp.img.data)[sp.img.w * sp.tex[Y] + sp.tex[X]];
  • ์œ„ ์ฝ”๋“œ์—์„œ sp.img.data ๋ฐฐ์—ด ๋ฐ”๊นฅ์„ ์ฐธ์กฐํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋กœ ํ™•์ธ๋จ

๐Ÿ“ธ ์Šคํฌ๋ฆฐ์ƒท

image

[feat] Rotate the point of view with the mouse

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

๋งˆ์šฐ์Šค๋กœ ์‹œ์  ์ด๋™ ๊ตฌํ˜„

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

  • 42Docs ์— ๋‚˜์™€์žˆ๋Š” ์ด๋ฒคํŠธ ์ค‘ MotionNotify๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋งˆ์šฐ์Šค ์œ„์น˜ ์ถ”์ 
  • ํ™”๋ฉด ์ค‘์•™์„ ์—์„œ ๋จผ ๊ฐ€์žฅ์ž๋ฆฌ๋กœ ๊ฐˆ ์ˆ˜๋ก ์‹œ์  ํšŒ์ „์„ ๋น ๋ฅด๊ฒŒ ํ•จ
  • ๋งˆ์šฐ์Šค๊ฐ€ ํ™”๋ฉด์—์„œ ๋ฒ—์–ด๋‚  ๊ฒฝ์šฐ ์‹œ์  ํšŒ์ „์„ ํ•˜์ง€ ์•Š์Œ

[feat] color parsing

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

ํŒŒ์ผ์—์„œ ์ฝ์–ด์˜จ element ์ •๋ณด ์ค‘ ์ƒ‰ RGB ์ •๋ณด ํŒŒ์‹ฑ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

t_color ๊ตฌ์กฐ์ฒด์˜ char *info์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ •๋ณด๋ฅผ ํ†ตํ•ด R, G, B์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํŒŒ์‹ฑ

[๊ฒ€์‚ฌ ์š”๊ฑด]

  1. ์ƒ‰์˜ RGB ์ƒ‰์ƒ์ด ์ •์ˆ˜๋กœ ์ž…๋ ฅ๋˜์—ˆ๋Š”๊ฐ€?
  2. ์ƒ‰์˜ RGB ์ƒ‰์ƒ์ด [0-255] ๋ฒ”์œ„๋กœ ์ž…๋ ฅ๋˜์—ˆ๋Š”๊ฐ€?
  3. [R,G,B] ํ˜•์‹์œผ๋กœ ์ž…๋ ฅ๋˜์—ˆ๋Š”๊ฐ€?

๐Ÿšซ ์—๋Ÿฌ ๋ฐœ์ƒ ์˜ˆ์‹œ

F 287,100,0
C 225,30
F 0,-1,399
C 225,30,1
F a,0,0
C 003,30,1

[test] add and test image files

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด๋ฏธ์ง€ ํŒŒ์ผ ์˜ˆ์‹œ๋“ค์— ๋”ฐ๋ฅธ ํŒŒ์‹ฑ ์—๋Ÿฌ ๋ฐ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํ…Œ์ŠคํŠธ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

ํ˜„์žฌ .xpm ํŒŒ์ผ๋กœ ๋ณ€ํ™˜๋œ ์ด๋ฏธ์ง€๋“ค๋งŒ textures ํด๋”์— ์ถ”๊ฐ€๋˜์–ด ์žˆ์Œ
๋”ฐ๋ผ์„œ ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€ ํŒŒ์ผ๋“ค์„ ์ถ”๊ฐ€ํ•ด ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰

[ํŒŒ์ผ์ด ์กด์žฌํ•  ๋•Œ]

  • .xpm ํŒŒ์ผ์ด ๋™์„œ๋‚จ๋ถ์— ํ•ด๋‹นํ•˜์—ฌ ์ž˜ ์ถœ๋ ฅ๋˜๋Š”๊ฐ€?
  • .xpm ํŒŒ์ผ์ด์ง€๋งŒ ํŒŒ์ผ ์ด๋ฆ„์— .xpm์ด ๋ถ™์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ž˜ ์ถœ๋ ฅ๋˜๋Š”๊ฐ€?
  • .png ํŒŒ์ผ ๋˜๋Š” ๋‹ค๋ฅธ ํ™•์žฅ์ž ํŒŒ์ผ์˜ ๊ฒฝ์šฐ ์ž˜ ์ถœ๋ ฅ๋˜๋Š”๊ฐ€?

[ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š์„ ๋•Œ / ์ž…๋ ฅ๋œ ํŒŒ์ผ ๊ฒฝ๋กœ๊ฐ€ ์ž˜๋ชป ๋“ค์–ด์™”์„ ๋•Œ]

  • ํ™•์žฅ์ž์— ์ƒ๊ด€ ์—†์ด ์—๋Ÿฌ ์ฒ˜๋ฆฌ๊ฐ€ ์ž˜ ๋˜๋Š”๊ฐ€?

โœจ ์˜ˆ์ƒ ๊ฒฐ๊ณผ

์œ„์— ์–ธ๊ธ‰๋œ ์ˆœ์„œ๋Œ€๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ƒ

  • SUCCESS
  • SUCCESS
  • ERROR
  • ERROR

[feat] part divide

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

mandatory part, bonus part ํด๋” ๋‚˜๋ˆ„๊ธฐ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

bonus part ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํด๋” ๋ถ„๋ฐฐ ๋ฐ makefile ์ˆ˜์ •

[bug] Handle input with space after valid element and before pressing enter

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

์˜ฌ๋ฐ”๋ฅธ element ์ •๋ณด๊ฐ€ ๋“ค์–ด์˜จ ๋’ค ๊ณต๋ฐฑ์ด ์ž…๋ ฅ๋  ๊ฒฝ์šฐ ์˜ฌ๋ฐ”๋ฅธ ์ž…๋ ฅ์ด์–ด์•ผ ํ•˜์ง€๋งŒ, ์—๋Ÿฌ๋กœ ์ฒ˜๋ฆฌ๋จ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

์•„๋ž˜์˜ ์Šคํฌ๋ฆฐ์ƒท๊ณผ ๊ฐ™์ด EA์— ๋Œ€ํ•œ ์ •๋ณด ๋’ค space๊ฐ€ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜ฌ ๊ฒฝ์šฐ
split์„ ์ง„ํ–‰ํ•  ๋•Œ "\n"์„ ๋ถ„๋ฆฌ๋œ ํ•˜๋‚˜์˜ ๋ฌธ์ž๋กœ ์ธ์‹ํ•˜์—ฌ ์—๋Ÿฌ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์žˆ์Œ

โœจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ

์˜ฌ๋ฐ”๋ฅธ ์ž…๋ ฅ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋„๋ก ์ˆ˜์ •

๐Ÿ“ธ ์Šคํฌ๋ฆฐ์ƒท

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2023-03-18 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 2 09 04

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2023-03-18 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 2 11 43

[feat] check for matching textures

๐Ÿš… Issue ํ•œ ์ค„ ์š”์•ฝ

map์—์„œ ๋ฌธ ๋˜๋Š” ์Šคํ”„๋ผ์ดํŠธ ์ •๋ณด๊ฐ€ ๋“ค์–ด์™”์ง€๋งŒ, ํ…์Šค์ณ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋“ค์–ด์˜ค์ง€ ์•Š์€ ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ

๐Ÿคท Issue ์„ธ๋ถ€ ๋‚ด์šฉ

map์— ๋ฌธ ๋˜๋Š” ์Šคํ”„๋ผ์ดํŠธ ์ •๋ณด๊ฐ€ ์—†๋‹ค๋ฉด, ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” ํ…์Šค์ณ ์ •๋ณด๊ฐ€ ๋“ค์–ด์˜ค์ง€ ์•Š์•„๋„ ์ƒ๊ด€์—†๋‹ค.
ํ•˜์ง€๋งŒ map์— ๋ฌธ ๋˜๋Š” ์Šคํ”„๋ผ์ดํŠธ ์ •๋ณด๊ฐ€ ๋“ค์–ด์˜จ ๊ฒฝ์šฐ๋Š” ํ…์Šค์ณ ์ •๋ณด๊ฐ€ ๋ฌด์กฐ๊ฑด ๋“ค์–ด์™€์•ผ ํ•œ๋‹ค.
์ด์— ๋Œ€ํ•œ ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰

๐Ÿšซ ์—๋Ÿฌ ๋ฐœ์ƒ ์˜ˆ์‹œ

NO ./path_to_the_north_texture
SO ./path_to_the_south_texture
WE ./path_to_the_west_texture
EA ./path_to_the_east_texture

F 220,100,0
C 225,30,0

111111
1A01N1
101001
110001
111111
NO ./path_to_the_north_texture
SO ./path_to_the_south_texture
WE ./path_to_the_west_texture
EA ./path_to_the_east_texture

F 220,100,0
C 225,30,0

111111
1001N1
101001
1100D1
111111

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.