Skip to content

EwhaWhiteMoon/SnakeGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

47 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Main ํ•จ์ˆ˜

Game์„ ์ƒ์„ฑํ•ด์„œ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. ๋งค ํ‹ฑ๋งˆ๋‹ค game.tick์„ ํ˜ธ์ถœํ•ด์„œ ์ž…๋ ฅ(ํ‚ค์ฝ”๋“œ๋ฅผ x, y ๋ฐฉํ–ฅ์„ ๊ฐ€์ง„ pair๋กœ ๋ณ€๊ฒฝํ•ด์„œ ์ „๋‹ฌ)๊ณผ timestamp๋ฅผ ms๋กœ ์ „๋‹ฌํ•œ๋‹ค gameํ•จ์ˆ˜์˜ getEntireMap, getGoal, getPoint, getDone ๋“ฑ ์ฐธ์กฐํ•ด์„œ ์Šคํฌ๋ฆฐ์— UI๋ฅผ ๊ทธ๋ฆฐ๋‹ค. game.tick์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ์ฐธ์กฐํ•˜์—ฌ ๊ฒŒ์ž„ ์˜ค๋ฒ„ ์Šคํฌ๋ฆฐ ์ถœ๋ ฅ, ๋‹ค์Œ ์Šคํ…Œ์ด์ง€๋กœ ์ง„์ถœ ๋“ฑ์„ ์ง„ํ–‰ํ•œ๋‹ค.

์ž…๋ ฅ๊ฐ’์ด ์—†์œผ๋ฉด 0, 0์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค

Game ํด๋ž˜์Šค

ํ•œ ์Šคํ…Œ์ด์ง€์˜ ๊ฒŒ์ž„์„ ๋‹ด๋‹นํ•œ๋‹ค ์ƒ์„ฑ์ž : Stage ํด๋ž˜์Šค๋ฅผ ๋ฐ›๋Š”๋‹ค. gameStatus game.tick(input, timestamp) const vector<vector>& getEntireMap() : ๋งต ์ „์ฒด๋ฅผ ๋ฒกํ„ฐ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. const vector& getSnake() : snake ๊ฐ ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ๋จธ๋ฆฌ๋ถ€ํ„ฐ ๊ผฌ๋ฆฌ ์ˆœ์„œ๋กœ ๋ฒกํ„ฐ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

const vector getGoal() : ์Šคํ…Œ์ด์ง€ ๋ชฉํ‘œ๋ฅผ vector๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์Šคํ…Œ์ด์ง€ ๋ชฉํ‘œ๋Š” ๋ชฉํ‘œ ๊ธธ์ด, Growth ํš๋“์ˆ˜, Poison ํš๋“ ์ˆ˜, Gate ์‚ฌ์šฉ ํšŸ์ˆ˜ ์ˆœ์„œ๋กœ ์ €์žฅํ•œ๋‹ค. const vector getPoint() : ์Šคํ…Œ์ด์ง€ ๋ชฉํ‘œ์— ๋”ฐ๋ฅธ ํ˜„์žฌ ๋‹ฌ์„ฑ๋Ÿ‰์„ vector๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. const vector getDone() : ๊ฐ ์Šคํ…Œ์ด์ง€ ๋ชฉํ‘œ์˜ ์™„๋ฃŒ ์—ฌ๋ถ€๋ฅผ vector๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

Stage ํด๋ž˜์Šค

์Šคํ…Œ์ด์ง€๋ฅผ ์ €์žฅํ•œ๋‹ค ์ƒ์„ฑ์ž : stage ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ๋ฐ›๋Š”๋‹ค mapTile getMap(int x, int y) : x, y ์œ„์น˜์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค void setMap(int x, int y, mapTile data) : x, y ์œ„์น˜์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ์„ค์ •ํ•œ๋‹ค const vector<vector>& getEntireMap() : ๋งต ์ „์ฒด๋ฅผ ๋ฒกํ„ฐ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. const vector getGoal() : ์Šคํ…Œ์ด์ง€ ๋ชฉํ‘œ๋ฅผ vector๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์Šคํ…Œ์ด์ง€ ๋ชฉํ‘œ๋Š” ๋ชฉํ‘œ ๊ธธ์ด, Growth ํš๋“์ˆ˜, Poison ํš๋“ ์ˆ˜, Gate ์‚ฌ์šฉ ํšŸ์ˆ˜ ์ˆœ์„œ๋กœ ์ €์žฅํ•œ๋‹ค. const pair<point, point> getGate() : ํ˜„์žฌ ์กด์žฌํ•˜๋Š” Gate์˜ ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

Snake ํด๋ž˜์Šค

์Šค๋„ค์ดํฌ๋ฅผ ์ €์žฅํ•œ๋‹ค const vector& getSnake() : snake ๊ฐ ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ๋จธ๋ฆฌ๋ถ€ํ„ฐ ๊ผฌ๋ฆฌ ์ˆœ์„œ๋กœ ๋ฒกํ„ฐ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. const point& getHead() : snake์˜ ๋จธ๋ฆฌ ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค int len() : snake์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค int moveTo(int x, int y, bool isGrowth) : x, y ์œ„์น˜๋กœ ๋จธ๋ฆฌ๋ฅผ ์ด๋™์‹œํ‚จ๋‹ค, isGrowth๊ฐ€ ์ฐธ์ด๋ผ๋ฉด ๊ธธ์ด๋ฅผ 1 ๋Š˜๋ฆฌ๋ฉฐ ์ด๋™ํ•˜๊ณ , ์•„๋‹ˆ๋ฉด ๊ธธ์ด๋ฅผ ๋ณด์กดํ•œ๋‹ค. ์ด๋™์„ ๋งˆ์นœ ๋’ค snake์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. int cut() : ๊ผฌ๋ฆฌ๋ฅผ ํ•˜๋‚˜ ์ค„์ธ๋‹ค. ๊ทธ ํ›„ snake์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •