"내 이름을 정해줘!"
19조 (조윤재, 심선아, 한우석)
추가한 기능
function get_mynick() {
$.ajax({
type: "GET",
url: "/get_mynick",
data: {},
success: function (response) {
let noun_words = new Array(); {# 명사 리스트 생성 #}
let adj_words = new Array(); {# 형용사 리스트 생성 #}
let animal_words = new Array(); {# 동물 리스트 생성 #}
let fruits_words = new Array(); {# 과일 리스트 생성 #}
let animal_fruits_words = new Array(); {# 동물+과일 리스트 생성 #}
let adj_count = 0 {# 형용사 개수 카운트 #}
let noun_count = 0 {# 명사 개수 카운트 #}
let animal_count = 0 {# 동물 개수 카운트 #}
let fruits_count = 0 {# 과일 개수 카운트 #}
let all_words = response['all_nickname'] {# 모든 글자 DB 받아옴 #}
for (let i = 0; i < all_words.length; i++) {
let words = all_words[i]['word']
let type = all_words[i]['class']
if (type == 'adj') { {# adj_words list에 형용사 저장 #}
adj_count += 1
adj_words[adj_count] = words;
} else if (type == 'noun') { {# noun_words list에 명사 저장 #}
noun_count += 1
noun_words[noun_count] = words; {# animal_words list에 동물 저장 #}
} else if (type == 'animal') { {# animal_fruits_words list에 동물 저장 #}
animal_count += 1
animal_words[animal_count] = words;
animal_fruits_words[animal_count] = words;
} else {
fruits_count += 1
fruits_words[fruits_count] = words; {# fruits_words list에 과일 저장 #}
animal_fruits_words[fruits_count + animal_count] = words; {# animal_fruits_words list에 과일 저장 #}
}
}
let target = $('.on').html() {# 형용사, 명사, 완전랜덤 옵션 구분 #}
let word_counting = $('.count').val() {# 최대 글자수 옵션 구분 #}
let animal_check = $('.animal input').hasClass('on') {# 동물 체크박스 옵션 구분 (class가 on이면 True) #}
let fruits_check = $('.fruits input').hasClass('on') {# 과일 체크박스 옵션 구분 (class가 on이면 True) #}
let ResultName;
function goToResult(){
$('.NameResult').text(ResultName); {#결과창으로 넘어갈시 닉네임 결과 텍스트 변경#}
$('#GetPage').css('display','none'); {# 옵션페이지 안보이게하기#}
$('#ResultPage').css('display','flex'); {# 결과페이지의 css 를 display flex로 변경#}
$('.saveAlert').text($('.NameResult').text()); {# 저장했을때 뜨는 알림창에 결과닉네임 넣기#}
}
function mathRandom(a){
return Math.floor(Math.random() * a + 1); {# a 이하의 랜덤한 숫자 불러오기 #}
}
if (target == '형용사') { {# 형용사 옵션 선택 #}
let wish_adj = $('#ex_input').val() {# 원하는 형용사를 받아옴 #}
let boolean = Boolean(wish_adj != '');
if (animal_check != true) {
if (fruits_check != true) {
if (boolean) { {# 과일 Flase, 동물 False, 형용사가 빈칸이 아니면 #}
let ran_noun_num = mathRandom(25416); {# 25416 까지의 난수 생성 (명사 개수) #}
let adj_len1 = wish_adj.length {# 희망하는 형용사의 글자 수 #}
let noun_len1 = noun_words[ran_noun_num].length {# 랜덤 명사의 글자 수 #}
if (adj_len1 + noun_len1 <= word_counting) { {# 형용사+명사 글자수가 최대글자수 보다 작거나 같으면 #}
ResultName = wish_adj+' ' +noun_words[ran_noun_num]; {# 희망하는 형용사 + 랜덤 명사 출력 #}
goToResult();
}
} else {
alert('형용사를 입력해줘!') {# 텍스트가 공백이면 Alert #}
}
} else {
if (boolean) { {# 과일 True, 동물 False, 형용사가 빈칸이 아니면 #}
let ran_fruits_num = mathRandom(51); {# 51 까지의 난수 생성 (과일 개수) #}
let adj_len2 = wish_adj.length {# 희망하는 형용사의 글자 수 #}
let fruits_len2 = fruits_words[ran_fruits_num].length {# 랜덤 과일의 글자 수 #}
if (adj_len2 + fruits_len2 <= word_counting) { {# 형용사+과일 글자수가 최대글자수 보다 작거나 같으면 #}
ResultName = wish_adj+' ' +fruits_words[ran_fruits_num]; {# 희망하는 형용사 + 랜덤 과일 출력 #}
goToResult();
}
} else {
alert('형용사를 입력해줘!')
}
}
} else {
if (fruits_check != true) {
if (boolean) { {# 과일 False, 동물 True, 형용사가 빈칸이 아니면 #}
let ran_animal_num = mathRandom(141); {# 141 까지의 난수 생성 (동물 개수) #}
let adj_len3 = wish_adj.length {# 희망하는 형용사의 글자 수 #}
let animal_len3 = animal_words[ran_animal_num].length {# 랜덤 동물의 글자 수 #}
if (adj_len3 + animal_len3 <= word_counting) { {# 형용사+동물 글자수가 최대글자수 보다 작거나 같으면 #}
ResultName = wish_adj+' ' +animal_words[ran_animal_num]; {# 희망하는 형용사 + 랜덤 동물 출력 #}
goToResult();
}
} else {
alert('형용사를 입력해줘!')
}
} else {
if (boolean) { {# 과일 True, 동물 True, 형용사가 빈칸이 아니면 #}
let ran_ani_fru_num = mathRandom(192); {# 192 까지의 난수 생성 ((동물+과일) 개수) #}
let adj_len4 = wish_adj.length {# 희망하는 형용사의 글자 수 #}
let ani_fru_len4 = animal_fruits_words[ran_ani_fru_num].length {# 랜덤 (동물+과일)의 글자 수 #}
if (adj_len4 + ani_fru_len4 <= word_counting) { {# 형용사+(동물+과일) 글자수가 최대글자수 보다 작거나 같으면 #}
ResultName = wish_adj+' ' +animal_fruits_words[ran_ani_fru_num]; {# 희망하는 형용사 + 랜덤(동물+과일) 출력 #}
goToResult();
}
} else {
alert('형용사를 입력해줘!')
}
}
}
} else if (target == '명사') { {# 명사 옵션 선택 #}
let wish_noun = $('#ex_input').val() {# 원하는 명사를 받아옴 #}
if (wish_noun != '') { {# 명사가 빈칸이 아니면 #}
let ran_adj_num = mathRandom(181); {# 181 까지의 난수 생성 (형용사 개수) #}
let adj_len5 = adj_words[ran_adj_num].length {# 랜덤 형용사의 글자 수 #}
let noun_len5 = wish_noun.length {# 희망하는 명사의 글자 수 #}
if (adj_len5 + noun_len5 <= word_counting) { {# 형용사+명사 글자수가 최대글자수 보다 작거나 같으면 #}
ResultName = adj_words[ran_adj_num]+' ' +wish_noun; {# 랜덤 형용사 + 희망하는 명사 출력 #}
goToResult();
}
} else {
alert('명사를 입력해줘!')
}
} else { {# 완전랜덤 옵션 선택 #}
let ran_adj_num = mathRandom(181); {# 181 까지의 난수 생성 (형용사 개수) #}
let ran_noun_num = mathRandom(25416); {# 25416 까지의 난수 생성 (명사 개수) #}
let adj_len6 = adj_words[ran_adj_num].length {# 랜덤 형용사의 글자 수 #}
let noun_len6 = noun_words[ran_noun_num].length {# 랜덤 명사의 글자 수 #}
if (adj_len6 + noun_len6 <= word_counting) { {# 형용사+명사 글자수가 최대글자수 보다 작거나 같으면 #}
ResultName = adj_words[ran_adj_num] +' ' + noun_words[ran_noun_num]; {# 랜덤 형용사 + 랜덤 명사 출력 #}
goToResult();
}
}
}
}
)}
아쉬웠던 점
'모르면 찾아봐서 될때까지' 라는 마음가짐으로 임하고 있었는데 시간이 점점 늦어지고 마음이 지초조해지면서 마지막 즈음엔 선아님한테 거의 계속 물어보며 거의 떠먹여달라 한거같다. 내일 부터는 조금 덜 하더라도 직접 찾아보며 지식을 쌓아야겠다.
그래도
$('선택자').hasclass('class_name') = True
는 앞으로 써먹기 좋을것 같다는 생각이 든다.