끝말잇기 게임 만들기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
var word = "기러기"
var store = new Array(); //중복 검사를 위해서
while(true) {
//고정된 값이 아니라서 문제가 생길 수 있음(마지막 글자)
var answer = prompt(word)
if(answer[0] === '꿣') {
alert("이 글자는 입력이 불가능합니다!")
}
else if(word[word.length-1] === answer[0]) {
//같으면 첫 제시어에 저장
/*추가: 배열 안에 같은 값이 있는지 확인하기*/
var isExist = (store.indexOf(answer) !== -1);
if(isExist == false) {
word = answer;
store.push(word); //배열에 이미 한 것 저장해놓기
}
else {
//이미 있는 단어이면
alert("이미 있는 단어입니다!");
}
}
else if(answer == 0) {
alert("GAME OVER");
break;
}
else if(answer.length < 2) {
alert("두 글자 이상 입력해주세요!");
}
else {
//대답을 다시 해라
alert("대답을 다시 해 주세요!")
}
}
/*js에서 배열의 크기는 정하지 않아도 된다.
var array = new Array();
for(var i=0; i<5; i++) {
alert(array[i])
}
*/
|
콘솔 창에 코드를 입력하여 간단하게 끝말 잇기를 만들어 보았다. 생각보다 쉽고, 흥미롭고 재밌었다.
직접 만들어서 친구들과 공유도 해 보았다. 우선, 처음 기본은 간단하게 단어의 끝과 첫 글자를 탐색하는 것에만 있었다.
만들어보면서 이런 것을 추가하면 좋을 것 같다, 라고 생각한 두 가지를 추가로 넣어보았다.
내가 넣은 추가 기능은 이미 나온 단어는 배열에 저장하여 탐색 결과가 true면 단어가 이미 존재하는 것이므로 입력 불가, 그리고 false면 이전에 나온 적이 없는 단어이므로 다시 입력하라는 창이 뜨도록 하였다.
여기서 안 사실은 아래와 같다.
1. js에서 배열은 유동적으로 만들 수 있다.
코드에서 주석 처리한 부분을 보면 알겠지만 상당히 매력적이었다. 간단한 것에서는 왠만하면 배열의 push를 이용해 유동적으로 처리할 수 있었다.
var array = new Array();
for(var i=0; i<5; i++) {
alert(array[i])
}
2. 배열을 일일히 탐색하지 않고 IndexOf로 한 줄에 배열에 특정값이 존재하는지 안하는지를 알 수 있다.
확실히 배열 부분에서 엄청 편하구나 하고 느꼈다. 위의 코드 중에서 한 줄.
var isExist = (store.indexOf(answer) !== -1);
이것을 써서 만약 isExist 값이 false면 값이 존재하지 않는다는 것이고, true라면 배열에 찾는 값이 있다는 뜻이 된다.
간단하게나마 만들 때 사용했던 순서도도 첨부해본다.
생각보다 간단하지만 흥미를 끌기에는 충분했다. 앞으로는 조금 난이도를 올려 숫자 야구 게임을 만들어 볼 예정이다.
'Undergraduate Records' 카테고리의 다른 글
[3회차 계획] 주소창 대회 준비- 2 (0) | 2020.01.16 |
---|---|
웹 화면 구현 기본 (0) | 2020.01.16 |
[2회차] 대회 준비, UI 만들기 (0) | 2020.01.09 |
[2회차 계획] 주니어 소프트웨어 창의 대회 준비 (0) | 2020.01.09 |
영어회화 1일차 (0) | 2020.01.07 |