ํ๋ช : World Of Metacraft
| ๋ฐ์์ฐ | ์ํฌ์ฐฌ | ์ฐ์ ํ | ์ด์ ๋ฏผ | ์ ์ง์ |
|---|
์ด์ ํ๋ก์ ํธ ๊ตฌ์กฐ
์ด์ ํ๋ก์ ํธ ํจํค์ง ๊ตฌ์กฐ
์นด๋ ๊ธฐ๋ฐ ํด์ RPG ๊ฒ์
- ๊ธฐ์กด์ ์ ์ ์ํฐํฐ์ ์์ดํ ์ํฐํฐ๋ฅผ ํ๋์ ์ํฐํฐ๋ก ์ฒ๋ฆฌ
- ์ ์ ๊ฐ ์นด๋ ํํ
- ์ ์ ์์ฒด๊ฐ ๊ฐํ๋จ
- ์์ฑ ํ๋ ์ถ๊ฐ (๋ฌผ, ๋ถ, ํ)
- ์นด๋๋ง๋ค ์์ฑ์ด ๊ณ ์ โ ์ฌ์ฉ์๋ ์นด๋๋ฅผ ์ฌ๋ฅ์ ๋ค์ด๊ฐ ๋๋ง๋ค ๊ต์ฒด
- ๊ฐํ : ์ ์ ์์ฑ ๊ฐํ
- ์์ดํ ์ ๊ณ ์ ๊ฐ์ ๊ฐ์ง๊ณ ๊ฐํ๋ ์ ์ ์ ์์ฑ๊ณผ ๋น๋กํด์ ๊ณต๊ฒฉ๋ ฅ ๊ณ์ฐ
- ๋ก๊ทธ์ธ
- ๋น๋ฐ๋ฒํธ ๊ฒ์ฆ, ๋ก๊ทธ์ธ ์์ธ์ฒ๋ฆฌ, ๋ก๊ทธ์ธ ๊ถํ์ ๋ฐ๋ฅธ ์ ๊ทผ ์ ์ด, SESSION์ ํตํ ์ ์ ์ ์ ๋ณด ์ ๋ฌ, ๋ก๊ทธ์์ ์ฒ๋ฆฌ
- ์ฌ๋ฅ
- ๋ชฌ์คํฐ ๋๋ค ์๋ ๋ฑ์ฅ, ๋งต ์ ํ ๊ธฐ๋ฅ, ์ ์ ์ ์์ฑ ํธ์ง ๊ธฐ๋ฅ, ์์ฑ ๋ณ ๋ฌ๋ผ์ง๋ ๊ณต๊ฒฉ๋ ฅ, REWARD - EXP, MONEY
- ๊ฐํ
- ํ๋ฅ ์ ๋ฐ๋ฅธ UPGRADE ์ฑํจ์ฌ๋ถ, ๊ฐํ๊ฐ ์งํ๋จ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋๋ ์ ์ ์ ๊ฐํ ๋ ๋ฒจ, ๋ณด์ ๊ธ์ ํตํ ๊ฐํ ๊ฐ๋ฅ ์ฌ๋ถ
- ์ฌ์ฉ์ ์ ๋ณด
- ๊ฐํ๋ ๋ฒจ, ๋ ๋ฒจ์ ๋ฐ๋ฅธ ์ฒด๋ ฅ, ๊ณต๊ฒฉ๋ ฅ ๋ณํ, ๊ฒฝํ์น์ ๋ฐ๋ฅธ ๋ ๋ฒจ์ ์ฌ๋ถ ๋ฐ ๋จ์ ๊ฒฝํ์น ๊ณ์ฐ, ์์ฑ ๋ณ๊ฒฝ
https://fontmeme.com/fonts/folkard-font/
http://www.hearthcards.net/index_moo2.php
- ์ ํฌ ์ด๊ธฐํ ๋ฐ ์ ํฌ ๊ฒฐ๊ณผ (์น๋ฆฌ, ์คํจ) / ์ ํฌ ๋ก๊ทธ ๋ฐํ ๋ฉ์๋ ๋ฑ ๊ตฌํ
- ๋ฒํผ ํด๋ฆญ ํ๋ฒ์ผ๋ก ์ ์ โ ๋ชฌ์คํฐ โ ์ ์ โ . . . ๊ณต๊ฒฉ ์งํ
- ์์ฑ ๊ณต๊ฒฉ (์์ฑ ์ฐ์ธ/๋๋ฑ/์ด์ธ)
- ํน์ ์คํฌ (๋๋ธ ์ดํ / ํ (๋ก๊ทธ๋ ๊ณต๊ฒฉ๋ง ๋ฐ์๋จ))
- ๋ค์ํ DTO๋ค์ ํ์ฉํด ์ ํฌ ๊ฒฐ๊ณผ ์ ์ฅ ๋ฐ ๋ฐํ
- ์ ํฌ ์ด๊ธฐํ ๋ฐ ์ ํฌ ๊ฒฐ๊ณผ (์น๋ฆฌ, ์คํจ) / ์ ํฌ ๋ก๊ทธ ๋ฐํ ๋ฉ์๋ ๋ฑ ๊ตฌํ
- ๋ฒํผ ํด๋ฆญ ํ๋ฒ์ผ๋ก ์ ์ โ ๋ชฌ์คํฐ โ ์ ์ โ . . . ๊ณต๊ฒฉ ์งํ
- ์์ฑ ๊ณต๊ฒฉ (์์ฑ ์ฐ์ธ/๋๋ฑ/์ด์ธ)
- ํน์ ์คํฌ (๋๋ธ ์ดํ / ํ (๋ก๊ทธ๋ ๊ณต๊ฒฉ๋ง ๋ฐ์๋จ))
- ๋ค์ํ DTO๋ค์ ํ์ฉํด ์ ํฌ ๊ฒฐ๊ณผ ์ ์ฅ ๋ฐ ๋ฐํ
- ๋ก๊ทธ์ธ
- ์ด๋ฆ, ๋น๋ฐ๋ฒํธ DTO ์ ์ก
- ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ์ด๋ฆ์ ๋ฐํ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์กฐํ, ์ฌ์ฉ์๊ฐ ์์ ๊ฒฝ์ฐ
UserExistException๋ฐ์ - ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ VO๋ฅผ ํตํด ๊ด๋ฆฌ
- ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋น๋ฐ๋ฒํธ String์ ํตํด ์๋ก์ด ๋น๋ฐ๋ฒํธ VO ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ getValue๋ฅผ ํตํด ์ํธํ ๊ฐ์ ๋ฆฌํด๋ฐ์ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๊ฐ์ ๋น๋ฐ๋ฒํธ VO ๊ฐ์ฒด ๊ฐ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋น๋ฐ๋ฒํธ VO ๊ฐ์ฒด ๊ฐ์ ๋น๊ตํ์ฌ ๊ฐ์ผ๋ฉด pass, ๋ค๋ฅผ ๊ฒฝ์ฐ
PasswordUnCorrectException๋ฐ์ - ์ด๋ ํ
Exception๋ ๋ฐ์ํ์ง ์์ผ๋ฉด ๋ก๊ทธ์ธ ์ฒ๋ฆฌ
- ๊ฐํ ๋ ๋ฒจ, ๋ ๋ฒจ์ ๋ฐ๋ฅธ ์ฒด๋ ฅ / ๊ณต๊ฒฉ๋ ฅ ๋ณํ
- ์ฌ์ฉ์๊ธฐ๋ณธ ๊ณต๊ฒฉ๋ ฅ = ์ฌ์ฉ์์ ๊ธฐ๋ณธ ๊ณต๊ฒฉ๋ ฅ + ์ฌ์ฉ์ ๋ ๋ฒจ * ๊ณต๊ฒฉ ์์ ๊ฐ ์ด ๊ณต๊ฒฉ๋ ฅ : ๊ธฐ๋ณธ ๊ณต๊ฒฉ๋ ฅ * ๊ฐํ ๋ ๋ฒจ ์ ์ ๊ณฑ (๋ง์ฝ ๊ฐํ ๋ ๋ฒจ ์ด 0์ผ ๊ฒฝ์ฐ, ๊ธฐ๋ณธ ๊ณต๊ฒฉ๋ ฅ์ด ์ด ๊ณต๊ฒฉ๋ ฅ)
- ์ฌ์ฉ์๊ธฐ๋ณธ ์ฒด๋ ฅ = ์ฌ์ฉ์์ ๊ธฐ๋ณธ ์ฒด๋ ฅ + ์ฌ์ฉ์ ๋ ๋ฒจ * ์ฒด๋ ฅ ์์ ๊ฐ ์ด ์ฒด๋ ฅ : ๊ธฐ๋ณธ ์ฒด๋ ฅ * ๊ฐํ ๋ ๋ฒจ ์ ์ ๊ณฑ (๋ง์ฝ ๊ฐํ ๋ ๋ฒจ ์ด 0์ผ ๊ฒฝ์ฐ, ๊ธฐ๋ณธ ์ฒด๋ ฅ์ด ์ด ์ฒด๋ ฅ)
-
๊ฐํ ๋ก์ง ์๊ตฌ์ฌํญ
- ์์ดํ ๊ฐํ ๋ ๋ฒจ์ ๋์์ง์๋ก ๊ฐํ ์ฑ๊ณต ํ๋ฅ ์ด ๋ฎ์์ ธ์ผ ํ๋ค.
- ๊ฐํ๊ฐ ์คํจํ ๊ฒฝ์ฐ ์์ดํ ์ ๊ฐํ ๋ ๋ฒจ์ด ๊ธฐ์กด์ ๊ฐํ ๋ ๋ฒจ์-1์ด ๋์ด์ผ ํ๋ค.
- ๊ฐํ ์ฑ๊ณต ํ๋ฅ ์ด ์์์ ์ธ ๋ณ๋ ์ด์ด์ผ ํ๋ค.
- ๊ฐํ ์ฑ๊ณต ํ๋ฅ ์ด ์ถ์ ๊ฐ๋ฅํด์ผ ํ๋ค. (๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ ฅํ๋ฉด ๊ฐ์ ์ฑ๊ณต ํ๋ฅ ์ด ๋์์ผ ํ๋ค.)
- ์ต๋ ๊ฐํ ๋ ๋ฒจ์ ์ ํด์ ธ ์๋ค. (ํ์๋ค๊ณผ ์์ ํ ์ธ์ ๋ ์ง ๋ฐ๋ ์ ์๋ค.)
-
๊ฐํ ๊ฐ๋ฅ ์ฌ๋ถ ์ฒดํฌ
-
๊ฐํ ๊ฒฐ๊ณผ(์ฑ๊ณต, ์คํจ)์ ๋ฐ๋ฅธ ์์ ์คํ ๋ณํ ๊ฒฐ๊ณผ ๊ณ์ฐ
๊ฐํ ๋ก์ง random.nextGaussian() : ํ๊ท 0.0 ํ์คํธ์ฐจ 1.0์ Gauss(๊ฐ์ฐ์ค) ๋ถํฌ์ double ํ ๋์ ์์ฑnextGaussian() ์ ์๋ฅผ ๊ณฑํ ๊ฒฝ์ฐ ํ์คํธ์ฐจ๊ฐ ๋ฐ๋๊ณ ์๋ฅผ ๋ํ ๊ฒฝ์ฐ ํ๊ท ์ด ๋ฐ๋.
ํ๊ท 0.0 ํ์คํธ์ฐจ 1.0์ผ ๊ฒฝ์ฐ, P(-1 <= X <= 1) = 0.6827 (-3.9 <= X <= 4.7 ๊ทผ์ฌ์น)
updateStochasticSeed ๋ upgradeLevel(1,2,3,4 ...)๊ณผ ์์์ ๋ฏผ๊ฐ๋๋ฅผ ๊ณฑํ์ฌ ๊ณ์ฐ
updateStochasticSeed ์ ๊ฐ์ฐ์์๋ถํฌ ๊ฐ์ ๊ณฑํ ๊ฒฝ์ฐ (ํ์คํธ์ฐจ๋ฅผ ๋์) upgradeLevel ๊ฐ ๋์์ง์๋ก ์ ๊ท ๋ถํฌ ์์์ ํ๋ฅ ๋ฐ๋ ํจ์ ๊ฐ์ด ์์์ ธ updateStochastic ์ ๊ฐ์ด -1~1 ์ฌ์ด์ผ ํ๋ฅ ์ด ์ ์ ๋ฎ์์ง.
updateStochasticSeed์์ upgradeLevel์ ํฐ ์ซ์๋ฅผ ๊ณฑํ ๊ฒฝ์ฐ ๋ฏผ๊ฐ๋๊ฐ ์ปค์ง ์ ๋ฐ๋ ํจ์์ ๊ฐ ์ฆ๊ฐํญ์ด ๋ ๊ฐ์๋จ.
์ฐธ๊ณ ์๋ฃ : https://www.geogebra.org/m/Mmf3AX7y
-
๊ฐํ ์ํ ํ๊ท 0, ํ์คํธ์ฐจ 1 ์ผ ๋์ -1~1 ์ฌ์ด์ผ ํ๋ฅ : ์ฝ 68%
ํ๊ท 0, ํ์คํธ์ฐจ 2 ์ผ ๋์ -1~1 ์ฌ์ด์ผ ํ๋ฅ : ์ฝ 38%
-
๊ฐํ ๊ฒฐ๊ณผ ์ ์ฅ
.
โโโ webrpg
โโโ common
โย ย โโโ interceptor
โย ย โย ย โโโ LoginInterceptor.java
โย ย โโโ utils
โโโ configuration
โย ย โโโ Application.java
โย ย โโโ ContextConfiguration.java
โย ย โโโ ErrorConfiguration.java
โย ย โโโ WebConfiguration.java
โโโ database
โย ย โโโ Map.java
โย ย โโโ MapDB.java
โย ย โโโ MonsterDB.java
โย ย โโโ UserInMemoryDatabase.java
โโโ hunt
โย ย โโโ application
โย ย โย ย โโโ controller
โย ย โย ย โย ย โโโ ChoiceMapController.java
โย ย โย ย โย ย โโโ HuntIntegratedController.java
โย ย โย ย โย ย โโโ MonsterAppearController.java
โย ย โย ย โย ย โโโ MonsterAttackController.java
โย ย โย ย โย ย โโโ UserAttackController.java
โย ย โย ย โโโ dto
โย ย โย ย โย ย โโโ ElementDamageDTO.java
โย ย โย ย โย ย โโโ GetElementalDTO.java
โย ย โย ย โย ย โโโ HuntProcessDTO.java
โย ย โย ย โย ย โโโ IntegrateMonsterAttackDTO.java
โย ย โย ย โย ย โโโ IntegrateUserAttackDTO.java
โย ย โย ย โย ย โโโ MonsterAttackDTO.java
โย ย โย ย โย ย โโโ MonsterDTO.java
โย ย โย ย โย ย โโโ MonsterInfoDTO.java
โย ย โย ย โย ย โโโ MonsterPatternDTO.java
โย ย โย ย โย ย โโโ MonsterStrDTO.java
โย ย โย ย โย ย โโโ MonsterUseDTO.java
โย ย โย ย โย ย โโโ NoEtDmgDTO.java
โย ย โย ย โย ย โโโ RandomMonsterDTO.java
โย ย โย ย โย ย โโโ UserAttackDTO.java
โย ย โย ย โย ย โโโ UserGetElementalDTO.java
โย ย โย ย โย ย โโโ UserPatternDTO.java
โย ย โย ย โโโ service
โย ย โย ย โโโ ChoiceMapApplicationService.java
โย ย โย ย โโโ HuntElementalDamage.java
โย ย โย ย โโโ MonsterAppearApplicationService.java
โย ย โย ย โโโ MonsterApplicationService.java
โย ย โย ย โโโ MonsterAttackApplicationService.java
โย ย โย ย โโโ UserAttackApplicationService.java
โย ย โโโ domain
โย ย โย ย โโโ aggregate
โย ย โย ย โย ย โโโ entity
โย ย โย ย โย ย โย ย โโโ HuntMap.java
โย ย โย ย โย ย โย ย โโโ Monster.java
โย ย โย ย โย ย โโโ enumtype
โย ย โย ย โย ย โย ย โโโ MonsterET.java
โย ย โย ย โย ย โโโ vo
โย ย โย ย โย ย โโโ MonsterHp.java
โย ย โย ย โย ย โโโ MonsterPower.java
โย ย โย ย โย ย โโโ RewardExp.java
โย ย โย ย โย ย โโโ RewardMoney.java
โย ย โย ย โโโ exception
โย ย โย ย โย ย โโโ Exception.java
โย ย โย ย โโโ repository
โย ย โย ย โย ย โโโ DomainMapRepository.java
โย ย โย ย โย ย โโโ DomainRepository.java
โย ย โย ย โโโ service
โย ย โย ย โโโ AbilityCalc.java
โย ย โย ย โโโ ChoiceMapDomainService.java
โย ย โย ย โโโ HuntExtraElemental.java
โย ย โย ย โโโ MonsterAppearDomainService.java
โย ย โย ย โโโ MonsterAttackDomainService.java
โย ย โย ย โโโ UserAttackDomainService.java
โย ย โโโ infra
โย ย โโโ repository
โย ย โย ย โโโ InfraRepository.java
โย ย โย ย โโโ MapRepository.java
โย ย โโโ service
โย ย โโโ CalcExtraService.java
โโโ main
โย ย โโโ controller
โย ย โโโ MainController.java
โโโ upgrade
โย ย โโโ application
โย ย โย ย โโโ controller
โย ย โย ย โย ย โโโ UpgradeController.java
โย ย โย ย โโโ dto
โย ย โย ย โย ย โโโ DTO.java
โย ย โย ย โย ย โโโ UpgradeCostDTO.java
โย ย โย ย โย ย โโโ UpgradeResultDTO.java
โย ย โย ย โโโ service
โย ย โย ย โโโ UpgradeApplicationService.java
โย ย โโโ domain
โย ย โย ย โโโ aggregate
โย ย โย ย โย ย โโโ entity
โย ย โย ย โย ย โย ย โโโ Entity.java
โย ย โย ย โย ย โโโ enumtype
โย ย โย ย โย ย โย ย โโโ FlagEnum.java
โย ย โย ย โย ย โโโ vo
โย ย โย ย โย ย โโโ VO.java
โย ย โย ย โโโ exception
โย ย โย ย โย ย โโโ Exception.java
โย ย โย ย โโโ repository
โย ย โย ย โย ย โโโ Repository.java
โย ย โย ย โโโ service
โย ย โย ย โโโ RequestService.java
โย ย โย ย โโโ UpgradeDomainService.java
โย ย โย ย โโโ getResult
โย ย โย ย โโโ GetUserInfoResult.java
โย ย โย ย โโโ GetUserUpgradeStatResult.java
โย ย โย ย โโโ GetUserUpgradeStatusResult.java
โย ย โโโ infra
โย ย โโโ repository
โย ย โย ย โโโ InfraRepository.java
โย ย โโโ service
โย ย โโโ UserRequestService.java
โโโ user
โโโ application
โย ย โโโ controller
โย ย โย ย โโโ UserController.java
โย ย โโโ dto
โย ย โย ย โโโ UserInfoDTO.java
โย ย โย ย โโโ UserLevelUpDTO.java
โย ย โย ย โโโ UserStatDTO.java
โย ย โย ย โโโ UserUpgradeStatDTO.java
โย ย โย ย โโโ loginDTO.java
โย ย โโโ service
โย ย โโโ UserApplicationService.java
โโโ domain
โย ย โโโ aggregate
โย ย โย ย โโโ entity
โย ย โย ย โย ย โโโ User.java
โย ย โย ย โโโ enumtype
โย ย โย ย โย ย โโโ ElementalType.java
โย ย โย ย โย ย โโโ MoneyMark.java
โย ย โย ย โโโ vo
โย ย โย ย โโโ Money.java
โย ย โย ย โโโ Password.java
โย ย โโโ exception
โย ย โย ย โโโ MoneyNegativeException.java
โย ย โย ย โโโ PasswordUnCorrectException.java
โย ย โโโ repository
โย ย โย ย โโโ UserRepository.java
โย ย โโโ service
โย ย โโโ UserDomainService.java
โโโ infra
โโโ exception
โย ย โโโ UserExistException.java
โโโ repository
ย โโโ InMemoryUserRepository.java
63 directories, 92 fileswiki ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์!




























