| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- WordFighter.notify_dual = function() {
- $.ajax({
- url: '/wordFighter/levelChoice',
- data: { level: WordFighter.level },
- success: function(data){
- $("#waitingGame").load('/wordFighter/ready', function() {
- console.log( "Current opponent : " + WordFighter.opponentLevel );
- console.log( data );
- $("#fighter1portrait").addClass( WordFighter.level );
- $("#fighter1portrait").css( "visibility", "visible");
- addFighter( WordFighter.get_fighter( WordFighter.level) );
- if( data.opponentLevel != "undefined" ) {
- WordFighter.opponentLevel = data.opponentLevel;
- }
- WordFighter.set_opponent();
- });
- }
- });
- }
- WordFighter.new_word = function() {
-
- if( WordFighter.started ) {
- return false;
- }
-
- WordFighter.combo = 0;
- $.ajax({
- url: '/wordFighter/newEnigma',
- data: {level: WordFighter.level, mode: WordFighter.mode },
- success: function(data){
- WordFighter.letters = data.letters;
-
- for( i = 1; i < WordFighter.letters.length + 1; i++ )
- {
- WordFighter.setLetter( i, data.letters[ i - 1 ] )
- }
-
- WordFighter.answers = data.words;
- var rest = 0;
- var total = 0;
- for( var i = 3; i < 8; i++ ) {
- total += $( "#valid" + i).length;
- rest += $( "#valid" + i).find( ":empty" ).length;
- }
-
- console.log( data.remaining_time + " seconds" );
- COUNTDOWN.setTime( data.remaining_time);
-
- for( i = data.minLength; i < data.maxLength +1; i++ )
- {
- $( "#valid" + i ).empty();
- var obj = data.words[i];
- var count = 0;
- if( obj != undefined ) {
- if( WordFighter.mode == "offline" )
- count = obj.length;
- else
- count = obj;
- }
- for( j = 0; j < count; j++ )
- {
- $( "#valid" + i ).append( "<li id=\"valid" + i + "-" + j + "\" style=\"background-color:yellow\"></li>");
- }
- }
-
- WordFighter.started = true;
- if( WordFighter.first ) {
- WordFighter.startDate = new Date();
- COUNTDOWN.start();
-
- display_text( game_start );
- setTimeout( function() {
- hide_text();
- }, 1500);
- WordFighter.first = false;
- }
- }
- });
- }
- WordFighter.check_word = function() {
- $.ajax({
- type: "POST",
- url: '/wordFighter/check',
- data: {suggested: WordFighter.word },
- success: function(data){
- if( data.valid )
- {
- WordFighter.combo++;
- if( ( WordFighter.combo % 3 ) == 0 )
- fighter1.kick();
- else
- fighter1.punch();
-
- WordFighter.activeKeypress = true;
- $("#valid" + WordFighter.word.length + "-" + data.position).append( WordFighter.word );
-
- WordFighter.change_score( data.score );
- fighter1.punch();
- WordFighter.hit_opponent(WordFighter.word.length );
-
- while(WordFighter.erase());
- WordFighter.activeKeypress = false;
-
- WordFighter.check_validated();
- } else {
- WordFighter.combo = 0;
- WordFighter.activeKeypress = true;
- while(WordFighter.erase());
- WordFighter.activeKeypress = false;
- }
-
- fighter1.health = data.fighter1;
- fighter2.health = data.fighter2;
-
- if( fighter1.health == 0 || fighter2.health == 0 )
- WordFighter.game_over();
-
- if( data.remaining_time )
- COUNTDOWN.setTime( data.remaining_time );
- }
- });
- }
- WordFighter.game_over = function() {
- COUNTDOWN.stop();
- WordFighter.activeKeypress = true;
- var highscore = true;
- var win = WordFighter.score > 0;
-
- $.ajax({
- url: '/wordFighter/answers',
- data: {action: "answers"},
- success: function(data){
- $("#modalDialog").prepend(data.modal).modal({backdrop: false, show: true});
-
- $(".replayButton").bind( "click", function() {
- if( WordFighter.mode!="dual")
- window.location.href = "/wordFighter/game";
- else
- window.location.href = "/wordFighter/invite/" + opponent;
- } );
-
- for( i = data.minLength; i < data.maxLength +1; i++ )
- {
- var words = data.answers[i];
- if( words != undefined )
- {
- for( j = 0; j < words.length; j++ )
- {
- var id = "#valid" + ( words[ j ].length ) + "-" + j;
- $( id ).empty();
- $( id ).append( words[ j ] );
- }
- }
- }
-
-
- WordFighter.answers = null;
- fighter1.health = data.fighter1;
- fighter2.health = data.fighter2;
- console.log( fighter1.health + " vs " + fighter2.health );
- switch( data.state ) {
- case "win" :
- fighter1.victory();
- fighter2.loose();
- display_text( game_win );
- break;
- case "loose" :
- fighter1.loose();
- fighter2.victory();
- display_text( game_loose );
- break;
- default :
- display_text( game_draw );
- }
- }
- });
-
- WordFighter.started = false;
- }
- WordFighter.callback = function(data) {
- if( data.id != WordFighter.id && data.action != "replay" )
- return;
-
- if( data.action != undefined ) {
- if( data.fighter1 != undefined )
- fighter1.health = data.fighter1;
- if( data.fighter2 != undefined )
- fighter2.health = data.fighter2;
- switch( data.action ) {
- case "start" :
- addHealthBars();
- $("#waitingGame").show();
- WordFighter.start_game();
- break;
- case "join" :
- break;
- case "opponentLevel" :
- WordFighter.opponentLevel = data.level;
- WordFighter.set_opponent();
- break;
- case "hit" :
- case "beat" :
- WordFighter.opponentCombo++;
- if( (WordFighter.opponentCombo % 3 ) == 0 )
- fighter2.kick();
- else
- fighter2.punch();
- fighter1.ouch();
- if( data.action == "beat" )
- WordFighter.game_over();
- break;
- case "timeout" :
- if( WordFighter.started ) {
- var endDate = new Date();
- console.log( WordFighter.startDate.toTimeString() + " - " + endDate.toTimeString() + " = Timeout in " + ( (endDate.getSeconds() - WordFighter.startDate.getSeconds())) + " / " + (endDate.getTime() - WordFighter.startDate.getTime()));
- WordFighter.game_over();
- }
- break;
- case "replay" :
- $(".replayButton").bind( "click", function() {
- window.location.href = '/wordFighter/game/' + data.id;
- })
- break;
- }
- }
- }
|