막무가네로 알고리즘을 공부하면 재미가 없으니 게임을 접목하여 다루어 보도록 하겠습니다.   게임의 대상은 스네이크 게임입니다.       많은 사람들은 어릴 때 뱀게임을 많이 해봤을 것 입니다.   이번에 다뤄볼 주제는 뱀이 움직임을 어떻게 구현을 할지 알아보겠습니다.   뱀은 크게 3가지의 경우가 있습니다   1. 가장 중요한 뱀을 움직이기  2. 음식먹기 이때 뱀은 크기가 늘어나야 합니다.  3. 뱀이 움직이는 정책    - 뱀이 움직이지 못하는 경우는 : 우측방향에서 좌측 방향으로 OR 위에 아래 방향고 같이 180도 반전되는 움직임은 막겠습니다.   순수한 알고리즘을 만드는 과정이기 때문에 음식을 먹었는지 안먹었는지 판단하는 부분은 랜덤으로 판단을 하도록 하겠습니다.       def is_eat():     return random.choice([1, 0])   랜덤으로 1, 0을 반환을 해줍니다.   실제로 게임을 만든다면 해당 함수는 뱀의 머리가 음식의 좌표와 같은지 검사를 해주면 되겠습니다.  key_position_map = {     'w': [-1, 0],  # up     's': [1, 0],  # down     'a': [0, -1],  # left     'd': [0, 1]  # right }   direction = key_position_map.get('d')  다음으로는 키맵핑을 한 오브젝트 입니다.  direction은 현재 뱀의 방향을 나타냅니다.  snake_body = [[2, 3], [1, 3],[1, 2], [1, 1]]  주인공이 되는 뱀의 좌표들 입니다.  while True:     key = input()     new_direction = key_position_map.get(key)       if new_direction and direction_check(direction, new_direction):         directi...
 
 
댓글
댓글 쓰기