Sudoku er en morsom og populær puslespillet utviklet i Japan . Det er basert på kravet om at hver rad og kolonne har en av hver fra en bestemt gruppe nummer . For eksempel krever en 9x9 Sudoku vanligvis at hver rad og kolonne har nummer en til ni . Siden Sudoku er basert på en ensartet rutenett , er det ganske lett å designe en datastyrt representasjon i styret . Instruksjoner
en
Definer en prosedyre for å konstruere en representasjon i styret
I Scheme (forutsatt 9x9 bord) : .
"( Define ( make- Sudoku )
( liste (liste ' ( ) ) ( listen' ( ) ) ( listen ' ( ) ) ( listen' ( ) ) ( listen ' ( ) ) ( listen' ( ) ) ( listen ' ( ) ) ( listen ' ( ) ) ( listen' ( ) ) ) )
"
Python : en
"
def make_Sudoku ( ) :
retur [ [ ] , [ ] , [ ] , [ ] , [ ] , [ ] , [ ] , [ ] , [ ] ] "
2
Definer prosedyrer for å få tilgang til hver av rutene på brettet
i Scheme: .
"
( define ( get- kvadrat Sudoku rad kolonne )
( liste -ref (liste -ref Sudoku rad ) kolonne) ) "
Python : en
"
def get_square ( Sudoku , rad, kolonne ) : en
retur Sudoku [ ,"rad ] [ kolonne ] "
3
Definer prosedyrer for å sette hver av rutene på brettet
i Scheme: .
"
( define ( set-square! Sudoku rad kolonne verdi)
( list-set! ( liste -ref Sudoku rad ) kolonneverdi ) ) "
Python :
"
def set_square ( Sudoku , rad , col , val ) : en
Sudoku [ rad ] [ kol ] = val "
4
Åpne spillet bruker språk tolk . Alternativt kan du har skrevet alle dine prosedyre definisjoner direkte inn i tolk.