Browse code

No funciona 'foo.data.words', 'foo.data.new_words'ni 'localStorage.type_words_lang': se requiere otra aproximación

NikaZhenya authored on 14/09/2018 19:08:19
Showing 1 changed files
... ...
@@ -561,16 +561,15 @@ var foo = (function() {
561 561
                 if (line_completed) {
562 562
                     // Limpia las palabras
563 563
                     line_text = line_text.trim().split(' ')
564
-
564
+/*
565 565
                     // Se fijan las variables
566 566
                     game_opt.words = (foo.data.words.join('¤') + '¤' + line_text.join('¤'))      // Une los elementos pasados con los nuevos
567 567
                                                     .replace(/^¤/, '')                           // Elimina para evitar un elemento vacío
568
-                                                    .replace(/[^A-Za-z0-9ÁÉÍÓÚÜÑáéíóúüñ¤\-]/,'') // Elimina todo lo que no sea alfanumérico, guion o ¤
569 568
                                                     .split('¤')                                  // Crea de nuevo un conjunto
570 569
                                                     .unit()                                      // Junta palabras separadas por guion
571 570
                     foo.data.words = new Array
572 571
                     foo.data.words = game_opt.words.slice()
573
-
572
+*/
574 573
                     // Si se trata del modo arcade, además agrega unos segundos
575 574
                     if (game_opt.type == 'arcade')
576 575
                         new_time(score)
... ...
@@ -592,6 +591,9 @@ var foo = (function() {
592 592
                 }
593 593
             }
594 594
 
595
+            // Valida las palabras nuevas obtenidas
596
+            compute_words()
597
+
595 598
             // Habilita la siguiente línea o termina el juego
596 599
             if (e.nextSibling != null) {
597 600
                 if (e.nextSibling.childNodes.length == 1) {
... ...
@@ -622,31 +624,43 @@ var foo = (function() {
622 622
     }
623 623
 
624 624
     // Analiza todo lo relativo a las palabras
625
-    function compute_words () {
625
+    function compute_words (final = false) {
626 626
         var sav_words = localStorage.getItem(game_opt.type + '_words_' + game_opt.lang) != null ? JSON.parse(localStorage.getItem(game_opt.type + '_words_' + game_opt.lang)) : {total: 0, current: 0, words: []},
627
-            lis_words = game_opt.data.words,                                                                        // Todas las palabras de la modalidad
628
-            s_c_words = typeof game_opt.data.current_words != 'undefined' ? game_opt.data.current_words.unit() : [] // Palabras únicas encontradas previamente
629
-            cur_words = typeof s_c_words != 'undefined' ? s_c_words.concat(game_opt.words) : game_opt.words,        // Palabras únicas encontradas
630
-            new_words = sav_words.words.diff(cur_words.unit()),                                                     // Palabras nuevas
631
-            fin_words = sav_words.words.concat(new_words).uniq()                                                    // Palabras antiguas + nuevas
627
+            lis_words = game_opt.data.words,
628
+            cur_words = game_opt.words,
629
+            cur_line  = game_opt.line_correct.split(' ').capitalize()
630
+
631
+console.log(cur_words, cur_line)
632 632
 
633
-        if (typeof lis_words !== 'undefined') {
633
+/*
634
+        sav_words.total   = lis_words.length
635
+
636
+        if (final) {
637
+            var new_words = sav_words.words.diff(game_opt.words).uniq(),    // Palabras nuevas
638
+                fin_words = sav_words.words.concat(new_words).unit().uniq() // Palabras antiguas + nuevas
639
+console.log(sav_words.words.concat(new_words))
640
+console.log(sav_words.words.concat(new_words).unit())
641
+console.log(sav_words.words.concat(new_words).unit().uniq())
634 642
             // Se fijan variables
635 643
             game_opt.new_words = new_words.slice()
636 644
             foo.data.new_words = new Array
637 645
             foo.data.new_words = game_opt.new_words.slice()
638 646
 
639 647
             // Añade los nuevos valores
640
-            sav_words.total   = lis_words.length
641 648
             sav_words.current = fin_words.length
642 649
             sav_words.words   = fin_words.slice()
650
+        } else {
651
+            if (typeof game_opt.words != undefined && game_opt.words != null)
652
+                sav_words.words   = sav_words.words.concat(game_opt.words)
653
+        }
643 654
 
644
-            // Guarda las palabras
645
-            localStorage.setItem(game_opt.type + '_words_' + game_opt.lang, JSON.stringify(sav_words))
655
+console.log('1:', localStorage.getItem(game_opt.type + '_words_' + game_opt.lang))
646 656
 
647
-            // Se eliminan las palabras
648
-            game_opt.words = null
649
-        }
657
+        // Guarda las palabras
658
+        localStorage.setItem(game_opt.type + '_words_' + game_opt.lang, JSON.stringify(sav_words))
659
+
660
+console.log('2:', localStorage.getItem(game_opt.type + '_words_' + game_opt.lang))
661
+*/
650 662
     }
651 663
 
652 664
     // Analiza si hay nuevos récords
... ...
@@ -720,8 +734,7 @@ var foo = (function() {
720 720
             foo.disable()
721 721
 
722 722
             // Valida las palabras nuevas obtenidas
723
-            if (typeof game_opt.words !== 'undefined' && game_opt.words != null)
724
-                compute_words()
723
+            compute_words(true)
725 724
 
726 725
             // Corre función cuando se completa el juego satisfactoriamente
727 726
             exec_fn(game_opt.on_win)
... ...
@@ -1534,15 +1547,11 @@ var foo = (function() {
1534 1534
 
1535 1535
             // Obtiene los elementos generales del juego
1536 1536
             var foo_game  = document.getElementById('foo-game'),
1537
-                words1    = typeof game_opt.words !== 'undefined' && game_opt != null ? game_opt.words : [],
1538
-                words2    = typeof game_opt.data.current_words !== 'undefined' && game_opt.words != null ? game_opt.data.current_words : [],
1539
-                words3    = words2.concat(words1)
1540 1537
                 json_game = {
1541 1538
                     type          : game_opt.type,
1542 1539
                     score         : parseInt(game_opt.score),
1543 1540
                     timer         : parseInt(game_opt.time),
1544 1541
                     words         : game_opt.data.words,
1545
-                    current_words : words3,
1546 1542
                     content       : []
1547 1543
                 }
1548 1544