Showing
1 changed file
with
32 additions
and
59 deletions
| 1 | -var totalJob = [] | 1 | +var totalBehavior = [] |
| 2 | 2 | ||
| 3 | -for (i=0; i<jobs.length; i++) { | 3 | +for (i = 0; i < behaviors.length; i++) { |
| 4 | - totalJob = totalJob.concat(jobs[i]) | 4 | + totalBehavior = totalBehavior.concat(behaviors[i]) |
| 5 | } | 5 | } |
| 6 | 6 | ||
| 7 | -function generate (varName, targetID) { | 7 | +function generate(varName, targetID) { |
| 8 | if (isLimitedCheckbox.checked && isLimitedNumInput.value >= 12) { | 8 | if (isLimitedCheckbox.checked && isLimitedNumInput.value >= 12) { |
| 9 | result = 'N'.repeat(isLimitedNumInput.value + 2) | 9 | result = 'N'.repeat(isLimitedNumInput.value + 2) |
| 10 | while (result.length > isLimitedNumInput.value) { | 10 | while (result.length > isLimitedNumInput.value) { |
| ... | @@ -13,87 +13,60 @@ function generate (varName, targetID) { | ... | @@ -13,87 +13,60 @@ function generate (varName, targetID) { |
| 13 | } else { | 13 | } else { |
| 14 | result = generateResult(varName) | 14 | result = generateResult(varName) |
| 15 | } | 15 | } |
| 16 | - | 16 | + |
| 17 | document.getElementById(targetID).innerHTML = result | 17 | document.getElementById(targetID).innerHTML = result |
| 18 | } | 18 | } |
| 19 | 19 | ||
| 20 | -function generateResult (varName) { | 20 | +function generateResult(varName) { |
| 21 | var result = '' | 21 | var result = '' |
| 22 | 22 | ||
| 23 | + if (Math.random() < 0.5 && varName === '손진웅') { | ||
| 24 | + var sonjinwungArray = ['리버스투블럭장인', '준구실명먹이기장인', '싸커킥장인', '티베깅하고준구톱에썰리는', '데드하드맨날씹히는', '히오스판자창시자', '욕은필터링하면서야메때는안하는'] | ||
| 25 | + var randomSonjinwung = sonjinwungArray[Math.floor(Math.random() * sonjinwungArray.length)] | ||
| 26 | + return randomSonjinwung + varName | ||
| 27 | + } | ||
| 28 | + | ||
| 23 | if (Math.random() < 0.8) { /* 일반 장소 처리 */ | 29 | if (Math.random() < 0.8) { /* 일반 장소 처리 */ |
| 24 | var randomDetailLocation = locations[0][Math.floor(Math.random() * locations[0].length)] | 30 | var randomDetailLocation = locations[0][Math.floor(Math.random() * locations[0].length)] |
| 25 | - var randomDetailJob = totalJob[Math.floor(Math.random() * totalJob.length)] | 31 | + var randomDetailJob = jobs[Math.floor(Math.random() * jobs.length)] |
| 26 | - // debug: console.log(randomDetailLocation, randomDetailJob) | 32 | + var randomDetailBehavior = totalBehavior[Math.floor(Math.random() * totalBehavior.length)] |
| 33 | + // debug: console.log(randomDetailLocation, randomDetailBehavior, randomDetailJob) | ||
| 27 | 34 | ||
| 28 | - // 특별한 문장 정의 | 35 | + if (behaviors[0].indexOf(randomDetailBehavior) >= 0) { |
| 29 | - if (randomDetailLocation === '시내버스') { | 36 | + result = generateSpecificCase(1, [randomDetailLocation, randomDetailBehavior, randomDetailJob, varName]) |
| 30 | - if (Math.random() > 0.3) { | 37 | + } else if (behaviors[1].indexOf(randomDetailBehavior) >= 0) { |
| 31 | - randomDetailLocation = (Math.floor(Math.random() * 999)+1) + '번' + randomDetailLocation | 38 | + result = generateSpecificCase(2, [randomDetailLocation, randomDetailBehavior, randomDetailJob, varName]) |
| 32 | - } | ||
| 33 | - } else if (randomDetailLocation.indexOf('학교') >=0) { | ||
| 34 | - if (Math.random() > 0.5) { | ||
| 35 | - randomDetailLocation = randomDetailLocation + (Math.floor(Math.random() * 2)+1) + '학년' + (Math.floor(Math.random() * 9)+1) + '반' | ||
| 36 | - } | ||
| 37 | - } | ||
| 38 | - if ((randomDetailLocation === '지하철' || randomDetailLocation === '지하철역') && randomDetailJob === '앞에서절두번하는' ) { | ||
| 39 | - // debug: console.log('지하철', '절두번하는') | ||
| 40 | - while (randomDetailJob === '앞에서절두번하는') { | ||
| 41 | - // debug: console.log('지하철', '절두번하는', '루프') | ||
| 42 | - randomDetailJob = totalJob[Math.floor(Math.random() * totalJob.length)] | ||
| 43 | - } | ||
| 44 | - // debug: console.log('지하철', '절두번하는', randomDetailJob) | ||
| 45 | } | 39 | } |
| 46 | - // 특별한 문장 정의 완료 | 40 | + } else { |
| 47 | - | ||
| 48 | - if (jobs[0].indexOf(randomDetailJob) >= 0) { | ||
| 49 | - result = generateSpecificCase(1, [randomDetailLocation, randomDetailJob, varName]) | ||
| 50 | - } else if (jobs[1].indexOf(randomDetailJob) >= 0) { | ||
| 51 | - result = generateSpecificCase(2, [randomDetailLocation, randomDetailJob, varName]) | ||
| 52 | - } | ||
| 53 | - } else { /* 특별한 위치 변수 정의 처리 */ | ||
| 54 | var randomDetailLocation = locations[1][Math.floor(Math.random() * locations[1].length)] | 41 | var randomDetailLocation = locations[1][Math.floor(Math.random() * locations[1].length)] |
| 55 | // 여기서 문제가 발생한다면 특별한 위치 변수를 제대로 정의하지 않은것. | 42 | // 여기서 문제가 발생한다면 특별한 위치 변수를 제대로 정의하지 않은것. |
| 56 | // debug: console.log('specificLocations', specificLocations[randomDetailLocation], randomDetailLocation) | 43 | // debug: console.log('specificLocations', specificLocations[randomDetailLocation], randomDetailLocation) |
| 57 | - if (specificLocations[randomDetailLocation][1]) { | 44 | + result = generateSpecificCase(3, [randomDetailLocation, specificLocations[randomDetailLocation], varName]) |
| 58 | - result = generateSpecificCase(2, [randomDetailLocation, specificLocations[randomDetailLocation][0], varName]) | 45 | + |
| 59 | - } | ||
| 60 | } | 46 | } |
| 61 | - //debug: console.log(randomDetailLocation, randomDetailJob, result) | 47 | + //debug: console.log(randomDetailLocation, randomDetailBehavior, randomDetailJob, result) |
| 62 | 48 | ||
| 63 | return result | 49 | return result |
| 64 | } | 50 | } |
| 65 | 51 | ||
| 66 | -/* params = [randomDetailLocation, randomDetailJob, varName] */ | 52 | +/*CASE 1 : params = [randomDetailLocation, randomDetailBehavior, randomDetailJob, varName] |
| 67 | -function generateSpecificCase (caseCode, params) { | 53 | + CASE 2 : params = [randomDetailLocation, randomDetailJob, varName] |
| 54 | +*/ | ||
| 55 | +function generateSpecificCase(caseCode, params) { | ||
| 68 | if (caseCode === 1) { | 56 | if (caseCode === 1) { |
| 69 | var randomObject = objects[Math.floor(Math.random() * objects.length)] | 57 | var randomObject = objects[Math.floor(Math.random() * objects.length)] |
| 70 | - | 58 | + return params[0] + randomObject + params[1] + params[2] + params[3] |
| 71 | - // // 특별한 문장 정의 | ||
| 72 | - // if (params[1] === '산채비빔밥먹는스님앞에서') { | ||
| 73 | - // return params[1] + randomObject + '먹는' + params[3] | ||
| 74 | - // } | ||
| 75 | - // if (params[2] === '교제사실을들킨'){ | ||
| 76 | - // return params[0] + josa.r(randomObject, '와/과') + params[1] + params[2] | ||
| 77 | - // } | ||
| 78 | - // // 특별한 문장 정의 완료 | ||
| 79 | - | ||
| 80 | - return params[0] + randomObject + params[1] + params[2] | ||
| 81 | } else if (caseCode === 2) { | 59 | } else if (caseCode === 2) { |
| 82 | - | 60 | + return params[0] + params[1] + params[2] + params[3] |
| 83 | - // // 특별한 문장 정의 | 61 | + } else if (caseCode === 3) { |
| 84 | - // if (params[0] === '납골당') { | ||
| 85 | - // params[1] = ['유골항아리도둑', '유골항아리파괴자'][Math.floor(Math.random() * 2)] | ||
| 86 | - // } | ||
| 87 | - // // 특별한 문장 정의 완료 | ||
| 88 | - | ||
| 89 | return params[0] + params[1] + params[2] | 62 | return params[0] + params[1] + params[2] |
| 90 | } else { | 63 | } else { |
| 91 | return undefined | 64 | return undefined |
| 92 | } | 65 | } |
| 93 | } | 66 | } |
| 94 | 67 | ||
| 95 | -function debug (a, b) { | 68 | +function debug(a, b) { |
| 96 | - for (i=0; i<100; i++) { | 69 | + for (i = 0; i < 100; i++) { |
| 97 | generate(a, b) | 70 | generate(a, b) |
| 98 | } | 71 | } |
| 99 | } | 72 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment