├── assets ├── topics │ ├── jobs.txt │ ├── school.txt │ ├── life after Sojo.txt │ ├── 3 things.txt │ ├── movies.txt │ ├── school 2.txt │ ├── 2 things.txt │ ├── Halloween.txt │ ├── random.txt │ ├── culture.txt │ ├── music.txt │ ├── art.txt │ ├── animals.txt │ ├── travel 2.txt │ ├── food.txt │ └── travel.txt ├── adminInfo │ └── adminInfo.txt ├── img │ ├── dice │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ └── 6.png │ ├── mic │ │ ├── mic_nor.png │ │ └── mic_rec.png │ ├── birds │ │ ├── birds-01.png │ │ ├── birds-02.png │ │ ├── birds-03.png │ │ └── birds-04.png │ ├── ani-gif │ │ ├── ani-cong.gif │ │ └── ani-star.gif │ ├── bg-img │ │ ├── background-01.png │ │ ├── background-02.png │ │ ├── background-03.png │ │ ├── background-04.png │ │ ├── background-05.png │ │ ├── background-06.png │ │ ├── background-07.png │ │ ├── background-08.png │ │ └── background-09.png │ └── card-img │ │ ├── card-img-01.png │ │ ├── card-img-02.png │ │ ├── card-img-03.png │ │ ├── card-img-04.png │ │ ├── card-img-05.png │ │ └── card-img-06.png ├── sound │ ├── Success_128.m4a │ ├── Success_128.mp3 │ ├── dice-sound.m4a │ ├── dice-sound.mp3 │ └── 1.html ├── css │ ├── admin.css │ ├── flip_style.css │ ├── dice_style.css │ ├── index_offline.css │ └── index.css └── js │ ├── dice.js │ ├── dice_offline.js │ ├── communication.js │ ├── WebAudioAPISound.js │ ├── admin.js │ ├── index_offline.js │ ├── index.js │ └── socket.io-1.2.0.js ├── buff.php ├── index.php ├── admin.php ├── topicManager.php ├── offline.php ├── student.php ├── online.php └── leader.php /assets/topics/jobs.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/adminInfo/adminInfo.txt: -------------------------------------------------------------------------------- 1 | admin admin -------------------------------------------------------------------------------- /assets/img/dice/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/dice/1.png -------------------------------------------------------------------------------- /assets/img/dice/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/dice/2.png -------------------------------------------------------------------------------- /assets/img/dice/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/dice/3.png -------------------------------------------------------------------------------- /assets/img/dice/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/dice/4.png -------------------------------------------------------------------------------- /assets/img/dice/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/dice/5.png -------------------------------------------------------------------------------- /assets/img/dice/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/dice/6.png -------------------------------------------------------------------------------- /assets/img/mic/mic_nor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/mic/mic_nor.png -------------------------------------------------------------------------------- /assets/img/mic/mic_rec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/mic/mic_rec.png -------------------------------------------------------------------------------- /assets/sound/Success_128.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/sound/Success_128.m4a -------------------------------------------------------------------------------- /assets/sound/Success_128.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/sound/Success_128.mp3 -------------------------------------------------------------------------------- /assets/sound/dice-sound.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/sound/dice-sound.m4a -------------------------------------------------------------------------------- /assets/sound/dice-sound.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/sound/dice-sound.mp3 -------------------------------------------------------------------------------- /assets/img/birds/birds-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/birds/birds-01.png -------------------------------------------------------------------------------- /assets/img/birds/birds-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/birds/birds-02.png -------------------------------------------------------------------------------- /assets/img/birds/birds-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/birds/birds-03.png -------------------------------------------------------------------------------- /assets/img/birds/birds-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/birds/birds-04.png -------------------------------------------------------------------------------- /assets/img/ani-gif/ani-cong.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/ani-gif/ani-cong.gif -------------------------------------------------------------------------------- /assets/img/ani-gif/ani-star.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/ani-gif/ani-star.gif -------------------------------------------------------------------------------- /buff.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | Online 4 | Offline 5 | -------------------------------------------------------------------------------- /assets/img/bg-img/background-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/bg-img/background-01.png -------------------------------------------------------------------------------- /assets/img/bg-img/background-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/bg-img/background-02.png -------------------------------------------------------------------------------- /assets/img/bg-img/background-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/bg-img/background-03.png -------------------------------------------------------------------------------- /assets/img/bg-img/background-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/bg-img/background-04.png -------------------------------------------------------------------------------- /assets/img/bg-img/background-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/bg-img/background-05.png -------------------------------------------------------------------------------- /assets/img/bg-img/background-06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/bg-img/background-06.png -------------------------------------------------------------------------------- /assets/img/bg-img/background-07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/bg-img/background-07.png -------------------------------------------------------------------------------- /assets/img/bg-img/background-08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/bg-img/background-08.png -------------------------------------------------------------------------------- /assets/img/bg-img/background-09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/bg-img/background-09.png -------------------------------------------------------------------------------- /assets/img/card-img/card-img-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/card-img/card-img-01.png -------------------------------------------------------------------------------- /assets/img/card-img/card-img-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/card-img/card-img-02.png -------------------------------------------------------------------------------- /assets/img/card-img/card-img-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/card-img/card-img-03.png -------------------------------------------------------------------------------- /assets/img/card-img/card-img-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/card-img/card-img-04.png -------------------------------------------------------------------------------- /assets/img/card-img/card-img-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/card-img/card-img-05.png -------------------------------------------------------------------------------- /assets/img/card-img/card-img-06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WangStar1031/Long-version-Board-game/HEAD/assets/img/card-img/card-img-06.png -------------------------------------------------------------------------------- /assets/topics/school.txt: -------------------------------------------------------------------------------- 1 | Have you ever been absent? 2 | Have you ever been late for class? 3 | Have you ever slept in class? 4 | How do you usually come here? 5 | How do you get to school? 6 | How long does it take you to get to school? 7 | How many times have you been absent from school this year? 8 | How much homework do you do every day? 9 | Was your high school strict? 10 | Were you on any sports teams in high school? 11 | What classes do you not like? 12 | What did you like best about high school? 13 | What do you like best about your school? 14 | -------------------------------------------------------------------------------- /assets/sound/1.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |Student
31 |Leader
32 | 33 || UserName: | 11 |12 | |
| PassWord: | 15 |16 | |
adddelmodify
25 |confirm
32 |' + nextUserName +'
'; 70 | $(".answerList").append(strHtml); 71 | } 72 | setInterval( function(){ 73 | if(userName == ""){ 74 | return; 75 | } 76 | __user_obj = {"type":"g_init", 'gameCode': gameCode, "name": userName, "state": gameState}; 77 | socket.emit('sentence message', JSON.stringify(__user_obj)); 78 | }, 2000); 79 | }) 80 | -------------------------------------------------------------------------------- /assets/css/dice_style.css: -------------------------------------------------------------------------------- 1 | 2 | .dice-container { 3 | width: 50px; 4 | height: 50px; 5 | position: relative; 6 | -webkit-perspective: 2000px; 7 | perspective: 2000px; 8 | cursor: -webkit-pointer; 9 | cursor: pointer; 10 | z-index: 999; 11 | -webkit-transition: -webkit-transform 0.2s ease 0; 12 | transition: -webkit-transform 0.2s ease 0; 13 | transition: transform 0.2s ease 0; 14 | transition: transform 0.2s ease 0, -webkit-transform 0.2s ease 0; 15 | } 16 | .dice-container:hover { 17 | -webkit-transform: scale(0.98); 18 | transform: scale(0.98); 19 | } 20 | #dice { 21 | width: 100%; 22 | height: 100%; 23 | position: absolute; 24 | -webkit-transform-style: preserve-3d; 25 | transform-style: preserve-3d; 26 | -webkit-transition: -webkit-transform 0.4s; 27 | transition: -webkit-transform 0.4s; 28 | transition: transform 0.4s; 29 | transition: transform 0.4s, -webkit-transform 0.4s; 30 | } 31 | #dice figure { 32 | width: 50px; 33 | height: 50px; 34 | display: block; 35 | position: absolute; 36 | border: 1px solid #000; 37 | box-shadow: 0px 0px 15px rgba(1, 1, 1, 0.8); 38 | text-align: center; 39 | line-height: 0px; 40 | font-size: 0px; 41 | background-color: #FFF; 42 | -webkit-user-select: none; 43 | -moz-user-select: none; 44 | -ms-user-select: none; 45 | } 46 | #dice .front { 47 | -webkit-transform: rotateY(0deg) translateZ(25px); 48 | transform: rotateY(0deg) translateZ(25px); 49 | background-image: url("../img/dice/1.png"); 50 | background-size: contain; 51 | } 52 | #dice .back { 53 | -webkit-transform: rotateX(180deg) translateZ(25px); 54 | transform: rotateX(180deg) translateZ(25px); 55 | background-image: url("../img/dice/2.png"); 56 | background-size: contain; 57 | } 58 | #dice .right { 59 | -webkit-transform: rotateY(90deg) translateZ(25px); 60 | transform: rotateY(90deg) translateZ(25px); 61 | background-image: url("../img/dice/3.png"); 62 | background-size: contain; 63 | } 64 | #dice .left { 65 | -webkit-transform: rotateY(-90deg) translateZ(25px); 66 | transform: rotateY(-90deg) translateZ(25px); 67 | background-image: url("../img/dice/4.png"); 68 | background-size: contain; 69 | } 70 | #dice .top { 71 | -webkit-transform: rotateX(90deg) translateZ(25px); 72 | transform: rotateX(90deg) translateZ(25px); 73 | background-image: url("../img/dice/5.png"); 74 | background-size: contain; 75 | } 76 | #dice .bottom { 77 | -webkit-transform: rotateX(-90deg) translateZ(25px); 78 | transform: rotateX(-90deg) translateZ(25px); 79 | background-image: url("../img/dice/6.png"); 80 | background-size: contain; 81 | } 82 | #dice.show-front { 83 | -webkit-transform: translateZ(-50px) rotateY(0deg); 84 | transform: translateZ(-50px) rotateY(0deg); 85 | } 86 | #dice.show-back { 87 | -webkit-transform: translateZ(-50px) rotateX(-180deg); 88 | transform: translateZ(-50px) rotateX(-180deg); 89 | } 90 | #dice.show-right { 91 | -webkit-transform: translateZ(-50px) rotateY(-90deg); 92 | transform: translateZ(-50px) rotateY(-90deg); 93 | } 94 | #dice.show-left { 95 | -webkit-transform: translateZ(-50px) rotateY(90deg); 96 | transform: translateZ(-50px) rotateY(90deg); 97 | } 98 | #dice.show-top { 99 | -webkit-transform: translateZ(-50px) rotateX(-90deg); 100 | transform: translateZ(-50px) rotateX(-90deg); 101 | } 102 | #dice.show-bottom { 103 | -webkit-transform: translateZ(-50px) rotateX(90deg); 104 | transform: translateZ(-50px) rotateX(90deg); 105 | } 106 | #dice.show-same { 107 | /* -webkit-transform: translateZ(-100px) rotateX(360deg); 108 | transform: translateZ(-100px) rotateX(360deg);*/ 109 | } 110 | -------------------------------------------------------------------------------- /assets/js/WebAudioAPISound.js: -------------------------------------------------------------------------------- 1 | try { 2 | window.AudioContext = window.AudioContext || window.webkitAudioContext; 3 | window.audioContext = new window.AudioContext(); 4 | } catch (e) { 5 | console.log("No Web Audio API support"); 6 | } 7 | 8 | /* 9 | * WebAudioAPISoundManager Constructor 10 | */ 11 | var WebAudioAPISoundManager = function (context) { 12 | this.context = context; 13 | this.bufferList = {}; 14 | this.playingSounds = {}; 15 | }; 16 | 17 | /* 18 | * WebAudioAPISoundManager Prototype 19 | */ 20 | WebAudioAPISoundManager.prototype = { 21 | addSound: function (url) { 22 | // Load buffer asynchronously 23 | var request = new XMLHttpRequest(); 24 | request.open("GET", url, true); 25 | request.responseType = "arraybuffer"; 26 | 27 | var self = this; 28 | 29 | request.onload = function () { 30 | // Asynchronously decode the audio file data in request.response 31 | self.context.decodeAudioData( 32 | request.response, 33 | 34 | function (buffer) { 35 | if (!buffer) { 36 | alert('error decoding file data: ' + url); 37 | return; 38 | } 39 | self.bufferList[url] = buffer; 40 | }); 41 | }; 42 | 43 | request.onerror = function () { 44 | alert('BufferLoader: XHR error'); 45 | }; 46 | 47 | request.send(); 48 | }, 49 | stopSoundWithUrl: function(url) { 50 | if(this.playingSounds.hasOwnProperty(url)){ 51 | for(var i in this.playingSounds[url]){ 52 | if(this.playingSounds[url].hasOwnProperty(i)) 53 | this.playingSounds[url][i].noteOff(0); 54 | } 55 | } 56 | } 57 | }; 58 | 59 | /* 60 | * WebAudioAPISound Constructor 61 | */ 62 | var WebAudioAPISound = function (url, options) { 63 | this.settings = { 64 | loop: false 65 | }; 66 | 67 | for(var i in options){ 68 | if(options.hasOwnProperty(i)) 69 | this.settings[i] = options[i]; 70 | } 71 | 72 | this.url = url + '.mp3'; 73 | window.webAudioAPISoundManager = window.webAudioAPISoundManager || new WebAudioAPISoundManager(window.audioContext); 74 | this.manager = window.webAudioAPISoundManager; 75 | this.manager.addSound(this.url); 76 | }; 77 | 78 | /* 79 | * WebAudioAPISound Prototype 80 | */ 81 | WebAudioAPISound.prototype = { 82 | play: function () { 83 | var buffer = this.manager.bufferList[this.url]; 84 | //Only play if it's loaded yet 85 | if (typeof buffer !== "undefined") { 86 | var source = this.makeSource(buffer); 87 | source.loop = this.settings.loop; 88 | source.noteOn(0); 89 | 90 | if(!this.manager.playingSounds.hasOwnProperty(this.url)) 91 | this.manager.playingSounds[this.url] = []; 92 | this.manager.playingSounds[this.url].push(source); 93 | } 94 | }, 95 | stop: function () { 96 | this.manager.stopSoundWithUrl(this.url); 97 | }, 98 | getVolume: function () { 99 | return this.translateVolume(this.volume, true); 100 | }, 101 | //Expect to receive in range 0-100 102 | setVolume: function (volume) { 103 | this.volume = this.translateVolume(volume); 104 | }, 105 | translateVolume: function(volume, inverse){ 106 | return inverse ? volume * 100 : volume / 100; 107 | }, 108 | makeSource: function (buffer) { 109 | var source = this.manager.context.createBufferSource(); 110 | var gainNode = this.manager.context.createGainNode(); 111 | gainNode.gain.value = this.volume; 112 | source.buffer = buffer; 113 | source.connect(gainNode); 114 | gainNode.connect(this.manager.context.destination); 115 | return source; 116 | } 117 | }; -------------------------------------------------------------------------------- /offline.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |Choose a topic
20 | 21 |Press to roll
40 || "; 79 | continue; 80 | } 81 | } 82 | if($row == 4 || $row == 5){ 83 | if($col >= 1){ 84 | echo " | "; 85 | continue; 86 | } 87 | } 88 | echo " | ";
89 | $number++;
90 | ?>
91 |
92 |
100 | ";
102 | }
103 | echo("
93 |
99 |
94 |
95 |
96 |
97 |
98 | |
120 |
123 | Student
52 || ";continue;} 47 | echo " | ";
48 | $curVal = $nCardCount + $ret-1;
49 | // echo $curVal;
50 | ?>
51 |
52 |
60 | ";
62 | }
63 | echo("");
64 | }
65 | ?>
66 |
53 |
59 |
54 |
55 |
56 |
57 |
58 | |
= $arrUsers[$i-1]?>
86 | 87 |= $arrUsers[$i-1]?>
90 | 91 |Press to roll
109 |Answer
119 | 120 || 133 | 136 | |
142 |
145 | A:' + _answer +'
'; 63 | $(".answerList").append(strHtml); 64 | isCanPlay = true; 65 | return; 66 | } 67 | nCurrentUserNumber ++; 68 | nCurrentUserNumber %= nAllUserCount; 69 | setUserTurn( arrPlayerNames[nCurrentUserNumber], _answer); 70 | } 71 | function getUserPanelStep(userStep){ 72 | if( userStep < 16) return 1; 73 | if( userStep < 19 + 16) return 2; 74 | if( userStep < 19 + 16 + 13) return 3; 75 | return 4; 76 | } 77 | function setProgress(){ 78 | for( var i = 0; i < nAllUserCount; i++){ 79 | var car_pro = $("#player_prog"+(i+1)); 80 | if( arrCurStep[i] == -1) continue; 81 | var tblElem = $("#barCell" + [arrCurStep[i]]); 82 | var curStep = arrCurStep[i]; 83 | var eqCount = 1; 84 | for( var j = 0; j < i; j++){ 85 | if( arrCurStep[j] == curStep){ 86 | eqCount ++; 87 | } 88 | } 89 | var nleft = tblElem.position().left - 25; 90 | var ntop = tblElem.position().top - eqCount * 50; 91 | car_pro.css({top:ntop, left:nleft, position:'absolute'}); 92 | } 93 | } 94 | function gotoStep(carName, number){ 95 | isCanPlay = false; 96 | if(nAllUserCount == 0) return; 97 | nCurrentUserNumber = arrPlayerNames.indexOf(carName); 98 | if(arrCurStep[nCurrentUserNumber] >= nAllCardCount+1) 99 | return; 100 | var prevStep = arrCurStep[nCurrentUserNumber]; 101 | arrCurStep[nCurrentUserNumber] += number; 102 | if( carName == userName){ 103 | if( arrCurStep[nCurrentUserNumber] < 16){ 104 | // setBackgroundImg(1); 105 | } else if( arrCurStep[nCurrentUserNumber] < 19+16){ 106 | $("#boardPanel0").removeClass("DisplayBlock"); 107 | $("#boardPanel0").addClass("DisplayNone"); 108 | $("#boardPanel1").removeClass("DisplayNone"); 109 | $("#boardPanel1").addClass("DisplayBlock"); 110 | // setBackgroundImg(2); 111 | } else if( arrCurStep[nCurrentUserNumber] < 19+16+13){ 112 | $("#boardPanel1").removeClass("DisplayBlock"); 113 | $("#boardPanel1").addClass("DisplayNone"); 114 | $("#boardPanel2").removeClass("DisplayNone"); 115 | $("#boardPanel2").addClass("DisplayBlock"); 116 | // setBackgroundImg(3); 117 | } else { 118 | $("#boardPanel2").removeClass("DisplayBlock"); 119 | $("#boardPanel2").addClass("DisplayNone"); 120 | $("#boardPanel3").removeClass("DisplayNone"); 121 | $("#boardPanel3").addClass("DisplayBlock"); 122 | // setBackgroundImg(4); 123 | } 124 | setBackgroundImg( getUserPanelStep(arrCurStep[nCurrentUserNumber])); 125 | } 126 | if(arrCurStep[nCurrentUserNumber] >= nAllCardCount){ 127 | arrCurStep[nCurrentUserNumber] = nAllCardCount; 128 | $(".ani-gif").removeClass("HideItem"); 129 | $(".ani-gif").addClass("ShowItem"); 130 | setTimeout(function(){ 131 | $(".ani-gif").removeClass("ShowItem"); 132 | $(".ani-gif").addClass("HideItem"); 133 | }, 5000); 134 | var audio = $("audio")[1]; 135 | try{ 136 | audio.pause(); 137 | audio.currentTime = 0; 138 | audio.play(); 139 | } catch(e){ 140 | console.log(e); 141 | } 142 | } 143 | for( i = 0; i < nAllUserCount; i++){ 144 | if( getUserPanelStep(arrCurStep[myNumber]) != getUserPanelStep(arrCurStep[i])){ 145 | arrCars[i].removeClass("ShowItem"); 146 | arrCars[i].addClass("HideItem"); 147 | } else { 148 | arrCars[i].removeClass("HideItem"); 149 | arrCars[i].addClass("ShowItem"); 150 | } 151 | } 152 | var car = arrCars[nCurrentUserNumber]; 153 | if( arrCurStep[nCurrentUserNumber] != 0 && arrCurStep[nCurrentUserNumber]!= nAllCardCount){ 154 | var curCardElem = $("#cardContainer"+arrCurStep[nCurrentUserNumber]); 155 | curCardElem.toggleClass('hover'); 156 | } 157 | var carPos = calcCarPosition(nCurrentUserNumber, arrCurStep[nCurrentUserNumber], true); 158 | var nleft = carPos.left; 159 | var ntop = carPos.top; 160 | car.css({top:ntop, left:nleft, position:'absolute'}); 161 | // if(number == 0)return; 162 | for( i = 0; i < nAllUserCount; i++){ 163 | if( (arrCurStep[i] == prevStep) && (arrCurStep[i] < nAllCardCount+1)){ 164 | // if( (arrCurStep[i] == prevStep) && (arrCurStep[i] < nAllCardCount+1)){ 165 | car = arrCars[i]; 166 | arrCarPosInCard[i]--; 167 | carPos = calcCarPosition(i, arrCurStep[i], false); 168 | car.css({top:carPos.top, left:carPos.left, position:'absolute'}); 169 | } else{ 170 | car = arrCars[i]; 171 | // arrCarPosInCard[i]--; 172 | carPos = calcCarPosition(i, arrCurStep[i], false); 173 | car.css({top:carPos.top, left:carPos.left, position:'absolute'}); 174 | } 175 | } 176 | setProgress(); 177 | return arrCurStep[nCurrentUserNumber]; 178 | } 179 | for( var _i = 0; _i < nAllUserCount; _i ++){ 180 | gotoStep(arrPlayerNames[_i], 1); 181 | } 182 | isCanPlay = (arrPlayerNames[0] == userName) ? true : false; 183 | function rolledDice(number){ 184 | var stepNumber = gotoStep(userName, number); 185 | console.log("Rolled Number : "+stepNumber); 186 | var question = $("#cardContainer"+stepNumber).find(".questionTxt").html(); 187 | var strHtml = 'Q:' + question +'
'; 188 | $(".answerList").append(strHtml); 189 | sendMyDiceNumber(number); 190 | } 191 | function rolledDiceNameNumber(_name,_number){ 192 | nCurrentUserNumber++; 193 | nCurrentUserNumber %= nCurPlayingCount; 194 | var stepNumber = gotoStep(_name, _number); 195 | var question = $("#cardContainer"+stepNumber).find(".questionTxt").html(); 196 | var strHtml = '' + question +'
'; 197 | $(".answerList").append(strHtml); 198 | } 199 | function calcCarPosition( nCurrentUser, nCardNumber, isNew){ 200 | if( nCardNumber < 0) return {left:0,top:0}; 201 | var nleft; 202 | var ntop; 203 | var samePosCount = -1; 204 | for ( i = 0; i < nAllUserCount; i++){ 205 | if(arrCurStep[i] == nCardNumber){ 206 | samePosCount++; 207 | } 208 | } 209 | if( isNew) 210 | arrCarPosInCard[nCurrentUser] = samePosCount; 211 | var cardElem = $("#cardContainer"+nCardNumber); 212 | var position = cardElem.position(); 213 | console.log(nCardNumber); 214 | nleft = position.left;// - 500; 215 | ntop = position.top; 216 | 217 | col = cardElem.parent().parent().children().index(cardElem.parent()); 218 | if( col == 0){ 219 | nleft -= 60; 220 | ntop -= 50 * parseInt( arrCarPosInCard[nCurrentUser] / 2); 221 | nleft -= 50 * parseInt(arrCarPosInCard[nCurrentUser] % 2); 222 | } else if( col == 6){ 223 | nleft += 150; 224 | ntop -= 50 * parseInt( arrCarPosInCard[nCurrentUser] / 2); 225 | nleft += 50 * parseInt(arrCarPosInCard[nCurrentUser] % 2); 226 | } else { 227 | ntop -= 50; 228 | ntop += 50 * parseInt( arrCarPosInCard[nCurrentUser] / 2); 229 | nleft += 50 * parseInt(arrCarPosInCard[nCurrentUser] % 2); 230 | } 231 | return {left:nleft, top:ntop}; 232 | } 233 | function fillImageCards(){ 234 | for ( i = 0; i < nAllCardCount+1; i++){ 235 | $("#cardContainer"+i).find(".front").css('background-image', 'url("assets/img/card-img/card-img-0'+(i % 6+ 1)+'.png")'); 236 | } 237 | $("#cardContainer0").find(".front").html('Start'); 238 | $("#cardContainer"+nAllCardCount).find(".front").html('Finish'); 239 | } 240 | fillImageCards(); 241 | 242 | function initAllCurrentUsers(){ 243 | $("#playingUsers").html(""); 244 | arrPlayerNames = []; 245 | nCurPlayingCount = 0; 246 | if( userName != "") 247 | addUser(userName); 248 | else 249 | addUser("ME"); 250 | } 251 | function userAccepted(_userName) { 252 | addUser(_userName); 253 | } 254 | $(".exit_Btn").on('click', function(){ 255 | if( gameState == false)return; 256 | gameState = false; 257 | isPlaying = false; 258 | __user_obj = {'type':'g_exit_game', 'gameCode': gameCode, 'masterName':masterUserName, 'userName':userName}; 259 | socket.emit('sentence message', JSON.stringify(__user_obj)); 260 | $("#playingUsers").html(""); 261 | $(".answerList").html(""); 262 | nAllUserCount = 0; 263 | nCurPlayingCount = 0; 264 | arrPlayerNames = []; 265 | arrCarPosInCard = []; 266 | arrCurStep = []; 267 | }) 268 | function setUserTurn(_name, _answer){ 269 | if(isMaster == false){ 270 | __user_obj = {'type':'g_user_Turn_Slave', 'gameCode': gameCode, 'masterName':masterUserName, 'curUserName': userName,'answer':_answer}; 271 | socket.emit('sentence message', JSON.stringify(__user_obj)); 272 | return; 273 | } 274 | __user_obj = {'type':'g_user_Turn', 'gameCode': gameCode, 'masterName':userName, 'nextUserName':_name, 'answer':_answer}; 275 | socket.emit('sentence message', JSON.stringify(__user_obj)); 276 | } 277 | function sendMyDiceNumber(_number){ 278 | if( gameState == false)return; 279 | __user_obj = {'type':'g_dice_Number', 'gameCode': gameCode, 'masterName':masterUserName, 'curUserName': userName, 'diceNumber': _number}; 280 | socket.emit('sentence message', JSON.stringify(__user_obj)); 281 | } 282 | function checkHandle(checkboxElem){ 283 | if( checkboxElem.checked){ 284 | document.getElementById("myAnswer").disabled=false; 285 | } else { 286 | document.getElementById("myAnswer").disabled=true; 287 | } 288 | } -------------------------------------------------------------------------------- /assets/js/socket.io-1.2.0.js: -------------------------------------------------------------------------------- 1 | !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.io=e()}}(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o