Nodejs 공부 나만의 게임 - 1

Starwoong·2020년 10월 5일
0

nodejs_game_practice

목록 보기
1/1

나는 JavaScript 언어를 공부하며 , Nodejs를 이용해 게임을 만들고 있다.

공부를 시작한지 한달하고 보름이 조금 안되는 시점에서,
어떻게 공부를 질리지않고 즐겁게 쌈박하게 할지 고민을 한 후,
간단한 게임을 만들어보자 라고 생각하여,
나만 재밌는(이게 작동이 되는구나..) 게임을 만들며 공부를 하는중이다.
게임의 룰은 간단하다.

  1. 플레이어 가 랜덤하게 몬스터를 마주친다.
  2. 몬스터와 한번씩 번갈아가며 공격을 한다
    2-2. 공격은 성공률이 있어야한다.
  3. 10번 공격을 주고받으면 플레이어는 쉬어가며 체력을 충전한다.
  4. 상점이 있어야한다.
  5. 게임이 끝난후 끝났다는 메세지가 있어야한다.
  6. 밸런스 조정을 한다.

일단 조건은 이정도로 시작을 한다..

var warrior = {
    name : "PSY",
    hp : 200,
    power : 13,
    defense : 0,
    per : 63,
    critical : 0,
    ultimate : 2,
    weapon : 0,
    armor : 0,
}

오브젝트를 이용하여 warrior 변수에 담았다.
이름과 체력, 공격력, 방어력, 공격성공 확률(percent), 크리티컬 확률, 궁극기 확률, 무기, 갑옷
정도,,?(적다보니 많았다) 여하튼 추후에 아이템도 입혀주고 싶어서 여러가지를 오브젝트에 추가해놓았다.
이렇게 [1번, 2-2번,] 이 완성되었다.

다음은 몬스터

var monster = {
    "monster0" : {
        "name": "GOLDMATIZ",
        "hp" : 200,
        "power" : 15,
        "per" : 70,
    },
    "monster1" : {
        "name": "NABOSS",
        "hp" : 400,
        "power" : 18,
        "per" : 30,
    },
    "monster2" : {
        "name": "GORANIINTHEHELL",
        "hp" : 200,
        "power" : 10,
        "per" : 50 ,
    },
    "monster3" : {
        "name": "REALGOBDEUNG",
        "hp" : 50,
        "power" : 100,
        "per" : 20,
    },
    "monster4" : {
        "name": "BOBOS",
        "hp" : 600,
        "power" : 30,
        "per" : 30,
    },
    "monster5" : {
        "name": "KINGOFTOP",
        "hp" : 1000,
        "power" : 50,
        "per" : 40,
    },
}

var MONSTERS = JSON.stringify(monster);

몬스터 몇종류를 오브젝트로 만들었다.
한가지 다른것은 JSON객체언어로 만들었다는것,(이것은 자바스크립트가 객체지향 언어이고 웹과 통신할 때 JSON 문자열로 주고받기 때문이라고 알고있다.) 여차저차 알아둬야 할 것 같아서 연습해보았다.
몬스터역시 이름, 체력, 공격력(power), 공격확률(percent) 를 만들어 플레이어와 싸울 때 확률적인 공격, 밸런스패치 등을 구현하도록 했다.

마지막은 상점

var shop = {
    shop1 : {
        name : '!* 스타벅스 물약상점 *!',
        hppotion1 : '정말작은체력포션 + 30 ',
        hppotion2 : '그냥작은체력포션 + 50 ',
        hppotion3 : '작은체력포션 + 100 ',
    },
    shop2 : {
        name : '!* 다이소 무기갑옷 도매상가 *!',
        nomalsword1 : `${monsters.monster1.name}의 앞니 : 공격력 + 3 , 크리티컬 10%`,
        nomalarmor1 : `${monsters.monster1.name}의 비늘로만든 갑옷 : 방어력 : +2`,
    },
}

일단 나는 애국자니까 한글을 사용해(영어를 잘 못하기에) 정보들을 오브젝트에 담아두었다.
이렇게 4번, 까지 완성했다..

공부하면서 점차 용기..? 자신감..? 도전..? 이러한 생각이 들었다.
이유는 여태 오브젝트안에 또 오브젝트를 넣고, 함수를 넣고, 배열을 넣고, 반복문 조건문 등 문법을 사용하는데 이상한 두려움이 있었다.
아마도 그건 처음 책 한권을 들고 3주안에 게시판을 만들어 보겠다며,
오류의 망망대해를 항해했기 때문이 아닐까 싶다.
눈앞을 가리고 코드의 바다를 노를저어 가다 끝없이 부딪치는 오류의 파도때문에..!
이제는 오류가 나도 떨지않고 침착하게 오류를 헤쳐나갈 수 있게 되었다(?).

1개의 댓글

comment-user-thumbnail
2020년 10월 5일

와 너무 좋아요

답글 달기