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 591
                 }
593 592
             }
594 593
 
594
+            // Valida las palabras nuevas obtenidas
595
+            compute_words()
596
+
595 597
             // Habilita la siguiente línea o termina el juego
596 598
             if (e.nextSibling != null) {
597 599
                 if (e.nextSibling.childNodes.length == 1) {
... ...
@@ -622,31 +624,43 @@ var foo = (function() {
622 624
     }
623 625
 
624 626
     // Analiza todo lo relativo a las palabras
625
-    function compute_words () {
627
+    function compute_words (final = false) {
626 628
         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
629
+            lis_words = game_opt.data.words,
630
+            cur_words = game_opt.words,
631
+            cur_line  = game_opt.line_correct.split(' ').capitalize()
632
+
633
+console.log(cur_words, cur_line)
632 634
 
633
-        if (typeof lis_words !== 'undefined') {
635
+/*
636
+        sav_words.total   = lis_words.length
637
+
638
+        if (final) {
639
+            var new_words = sav_words.words.diff(game_opt.words).uniq(),    // Palabras nuevas
640
+                fin_words = sav_words.words.concat(new_words).unit().uniq() // Palabras antiguas + nuevas
641
+console.log(sav_words.words.concat(new_words))
642
+console.log(sav_words.words.concat(new_words).unit())
643
+console.log(sav_words.words.concat(new_words).unit().uniq())
634 644
             // Se fijan variables
635 645
             game_opt.new_words = new_words.slice()
636 646
             foo.data.new_words = new Array
637 647
             foo.data.new_words = game_opt.new_words.slice()
638 648
 
639 649
             // Añade los nuevos valores
640
-            sav_words.total   = lis_words.length
641 650
             sav_words.current = fin_words.length
642 651
             sav_words.words   = fin_words.slice()
652
+        } else {
653
+            if (typeof game_opt.words != undefined && game_opt.words != null)
654
+                sav_words.words   = sav_words.words.concat(game_opt.words)
655
+        }
643 656
 
644
-            // Guarda las palabras
645
-            localStorage.setItem(game_opt.type + '_words_' + game_opt.lang, JSON.stringify(sav_words))
657
+console.log('1:', localStorage.getItem(game_opt.type + '_words_' + game_opt.lang))
646 658
 
647
-            // Se eliminan las palabras
648
-            game_opt.words = null
649
-        }
659
+        // Guarda las palabras
660
+        localStorage.setItem(game_opt.type + '_words_' + game_opt.lang, JSON.stringify(sav_words))
661
+
662
+console.log('2:', localStorage.getItem(game_opt.type + '_words_' + game_opt.lang))
663
+*/
650 664
     }
651 665
 
652 666
     // Analiza si hay nuevos récords
... ...
@@ -720,8 +734,7 @@ var foo = (function() {
720 734
             foo.disable()
721 735
 
722 736
             // Valida las palabras nuevas obtenidas
723
-            if (typeof game_opt.words !== 'undefined' && game_opt.words != null)
724
-                compute_words()
737
+            compute_words(true)
725 738
 
726 739
             // Corre función cuando se completa el juego satisfactoriamente
727 740
             exec_fn(game_opt.on_win)
... ...
@@ -1534,15 +1547,11 @@ var foo = (function() {
1534 1547
 
1535 1548
             // Obtiene los elementos generales del juego
1536 1549
             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 1550
                 json_game = {
1541 1551
                     type          : game_opt.type,
1542 1552
                     score         : parseInt(game_opt.score),
1543 1553
                     timer         : parseInt(game_opt.time),
1544 1554
                     words         : game_opt.data.words,
1545
-                    current_words : words3,
1546 1555
                     content       : []
1547 1556
                 }
1548 1557