SmtC: Show me the Code
Ole Peter Smith
Instituto de Matemática e Estatística
Universidade Federal de Goiás
http://www.olesmith.com.br

Visualize
Quando eu dou de comer aos pobres
Me chamam de santo
Quando eu pergunto por que eles são pobres
Me chamam de comunista
Dom Helder Câmera
Solve with JS
??Solve.js Listing: Solve.js.
"use strict";


function Sudoku_Solve()
{
    let max=200;
    let carousel_ids=[];

    let iteration=1;

    while (iteration0)
        {
            let clss=update[3];
            
            Sudoku_Solve_Operation(iteration,update,clss);

            let div_id="DIV_"+iteration;
            let legend_id="Legend_"+iteration;

            //Add to carousels
            carousel_ids.push([div_id,legend_id]);
            iteration++;
        }
    }

    Carousel_Element_IDs("Iterations_Form",carousel_ids);
}


function Sudoku_Solve_Operation(iteration,update,clss)
{           
    let r=update[0];
    let s=update[1];
    let value=update[2];
    
    //Copy old form
    let form=Game_Info[ "Form" ];
    let rform_id="Game_"+iteration;
    let div_id="DIV_"+iteration;
    let legend_id="Legend_"+iteration;

    
    //table=form
    let rform=Sudoku_Solve_Form_Clone(form,rform_id);
    
    let title=
        "Iteration "+iteration
        +
        " "+clss+
        ": "+(r+1)+","+(s+1)+"="+value;
    
    let insert_ol = document.getElementById("Iterations_Info"); 
    let li = document.createElement("li");
    li.innerHTML=title;
    
    insert_ol.append(li);
    
    let h = document.createElement("h3");
    h.innerHTML=title;
    
    h.setAttribute
    (
        "onclick",
        "Sudoku_Form_Inputs_Titles_Show(this,'"+rform_id+"');"
    );
    
    let div = document.createElement("div");
    div.append(rform);
    div.append(h);

    
    div.style.display='none';
    div.className="Sudokus";
    div.id=div_id;

    
    let insert=document.getElementById("Iterations_Form");  
    insert.append(div);

    Sudoku_Solve_Update(rform_id,iteration,r,s,value,clss);

    //Reread, then update
    let res=Sudoku_Init(iteration,rform_id,"Iterations_Legend",legend_id,'none');        
}


function Sudoku_Solve_First(iteration)
{
    let update=Sudoku_Unique_First(iteration);
    
    if (update.length==0)
    {
        update=Sudoku_Incidence_First(iteration);
    }

    return update;
}

function Sudoku_Solve_Update(form_id,iteration,r,s,value,clss)
{
    let element=Sudoku_Input_Form_Field(form_id,Sudoku_Input(r,s));
    
    element.value=value;
    element.classList.add(clss);
    element.title=clss+": "+iteration;
}

function Sudoku_Solve_Form_Clone(form,rform_id)
{
    let rform=form.cloneNode(false);
    rform.id=rform_id;

    let table=form.getElementsByTagName("table");
    table=table[0];
    
    let trs=table.getElementsByTagName("tr");
    let rtable=document.createElement("table");
    
    for (let n=0;n
Messages:
0 secs.