Sudoku er en sjov og populær puzzle spil udviklet i Japan. Det er baseret på kravet om, at hver række og kolonne har en af hver fra et fast sæt af numre . For eksempel , som regel en 9x9 Sudoku kræver, at hver række og kolonne har numrene et til ni . Da Sudoku er baseret på en ensartet gitter , er det temmelig nemt at designe et edb repræsentation af bestyrelsen. Instruktioner
1
Definer en procedure til at konstruere en repræsentation af bestyrelsen
Scheme (forudsat 9x9 bord): .
"( Define ( make- Sudoku )
(liste ( liste « ( )) ( liste« ( )) ( liste « ( )) ( liste« ( )) ( liste « ( )) ( liste« ( )) ( liste « () ) ( liste « ( )) ( liste« ( ))))
"
Python : Hej
"
def make_Sudoku (): < br >
afkast [[ ], [] , [], [], [ ], [] , [], [], [ ]] "
2
Definer procedurer for at få adgang til hver af de felter på brættet
i skema : .
"
( define ( få -square Sudoku række kolonne)
(liste -ref (liste -ref Sudoku række) kolonne) ) "
Python : Hej
"
def get_square ( Sudoku, række, kolonne ) : Hej
retur Sudoku [ ,"rækken] [ kolonne ] "
3
Definer procedurer for at indstille hver enkelt af de felter på brættet
ordning: .
"
( define ( set-square! Sudoku rækken kolonne værdi)
( list-set! (liste -ref Sudoku række) kolonne værdi) ) "
Python : Hej
"
def set_square ( Sudoku, række, col , val ) : Hej
Sudoku [række ] [ col ] = val"
4
Åbn spil ved hjælp af din sprog tolk. Alternativt kan du har skrevet alle dine procedure definitioner direkte ind i fortolkeren.