inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

웹 게임을 만들며 배우는 자바스크립트

자스스톤 응용법 질문

261

사랑수학

작성한 질문수 3

0

 math 객체를 사용하셔서 난수값 연산으로 랜덤 능력치를 가진 5장의 카드가 덱에 생성되게 되어있는 것 같습니다만

 카드

var 상대 = {

    영웅: document.getElementById('rival-hero'),
    덱: document.getElementById('rival-deck'),
    필드: document.getElementById('rival-cards'),
    코스트: document.getElementById('rival-cost'),
    덱data: [알파, 베타, 감마, 오메가, 제타, 델타, 빔펠],
    영웅data: [],
    필드data: [],
    선택카드: null,

    선택카드data: null, 

이런 식으로 기존 코드에 덱 data 배열에 따로 미리 만들어둔 카드 이름을 넣고

이런 식으로 미리 카드에 따른 능력치 값을 입력시켜놓았는데 이걸 화면상에 구현하는 법을 모르겠습니다.

function Card(name, att, hp, cost) {
    this.name = name;
    this.att = att;
    this.hp = hp;
    this.cost = cost;
}
var 알파 = new Card('알파', 8, 35, 1)
var 베타 = new Card('베타', 900, 8570, 6)
var 감마 = new Card('감마', 5, 30, 1)
var 오메가 = new Card('오메가', 450, 7500, 5)
var 제타 = new Card('제타', 15, 70, 2)
var 델타 = new Card('델타', 740, 6850, 5)

javascript

답변 3

1

제로초(조현영)

덱data에 미리 이름을 넣지마시고

new Card로 만드신 후에

상대.덱data.push(알파)

상대.덱data.push(베타)

이런 식으로 추가하세요.

0

제로초(조현영)

일단 덱data에 10장 다 넣어놓고 랜덤하게 5장 뽑아서 버리시면 되겠습니다. 랜덤하게 뽑는 것은 로또 추첨기 때 했었죠?

0

사랑수학

감사합니다 상대덱과 내덱에 미리 구상한 10장의 카드 데이터를 각각 입력하고 이 중 랜덤으로 5장을 뽑아서 게임을 진행하게 할려하면  이 부분들을 어떻게 고쳐야 할까요?


var 상대 = {
    영웅: document.getElementById('rival-hero'),
    덱: document.getElementById('rival-deck'),
    필드: document.getElementById('rival-cards'),
    코스트: document.getElementById('rival-cost'),
    덱data: [],
    영웅data: [],
    필드data: [],
    선택카드: null,
    선택카드data: null,
};

var 나 = {
    영웅: document.getElementById('my-hero'),
    덱: document.getElementById('my-deck'),
    필드: document.getElementById('my-cards'),
    코스트: document.getElementById('my-cost'),
    덱data: [],
    영웅data: [],
    필드data: [],
    선택카드: null,
    선택카드data: null,
};
function Card(영웅, 내카드) {
    if (영웅) {
      this.att = Math.ceil(Math.random() * 2);
      this.hp = Math.ceil(Math.random() * 5) + 25;
      this.hero = true;
      this.field = true;
    } else {
      this.att = Math.ceil(Math.random() * 5);
      this.hp = Math.ceil(Math.random() * 5);
      this.cost = Math.floor((this.att + this.hp) / 2);
    }
    if (내카드) {
      this.mine = true;
    }
 }

iput 입력글자 제한에러...

0

282

0

리팩토링 관련 질문입니다. (자스스톤)

0

339

1

카드 짝맞추기 react-native

0

388

0

필터 메소드 관련 질문입니다.

0

393

1

가위바위보 게임 질문드립니다~

0

259

1

자바스크립트 기초에 관해서 질문있습니다.

0

259

1

질문입니다.

1

422

1

이벤트 리스너 안에서 동작 질문드립니다.

0

403

2

질문드립니다.

0

248

0

안녕하세요 깊은 복사 부분에서 질문 있습니다.

0

306

1

document.createElement('')함수에서

0

296

2

안녕하세요 클로저 부분에서 질문 있습니다.

0

324

1

안녕하세요 제로초님

0

806

1

끝말잇기 화면에 출력 반복문을 이용해서 횟수 제한

0

301

1

안녕하세요 제로초님 질문있습니다

0

361

1

안녕하세요 강의 정말 잘시청하고있습니다.

0

336

3

?

0

185

1

틱택토 게임에서 게임이 끝나고

0

624

1

9 곱하는게 이해가 안 되요~

0

221

1

지뢰찾기 에러잡아내기에서 질문있습니다!

0

525

4

지뢰찾기 에러 관련 질문!

0

554

3

리팩토링에 관한 질문입니다.

0

301

2

Array/Object spread

0

242

1

지뢰찾기게임에서 Math.random() 질문

0

264

1