Zum Forum springen
Benachrichtigungen
Alles löschen

Sudokugenerator

3 Beiträge
2 Benutzer
2 Reactions
493 Ansichten
swizz
Beigetreten: 02.03.2006

Hallo,
ich versuche gerade einen Generator für Sudokus zu erstellen, mit dem Sudoku in verschiedener Schwierigkeit erstellt werden können.

Ich bin bisher so vorgegangen:

1. Gültiges Sudoku erstellen
Ich nehme ein gültiges Sudoku und tausche nach dem hier beschriebenen System Zeilen, Spalten und Blöcke.

2. Unausgefüllt Sudokus erstellen
Ich streiche die gleichen Felder weg, wie bei verschiedenen vorgegeben Sudokus in unterschiedlichen Schwierigkeiten. In Kombination mit unterschiedlichen Vorlagen entstehen dann verschiedene Sudokus.

Dazu hätte ich jetzt zwei Fragen.

1) Ist ein Sudoku bei dem am Anfang die gleichen Felder leer sind, immer lösbar, unabhängig wie die Zahlen verteilt sind?

2) Ist ein Sudoku bei dem am Anfang die gleichen Felder leer sind, immer ähnlich kompliziert zu lösen?

Ich würde intuitiv vermuten, dass beides gilt, kann es aber nicht begründen.

Kann mir da jemand helfen?
Viele Grüße und vielen Dank im Voraus
Swizz


Antwort
Zitat
2 Antworten
Plastichamer
Beigetreten: 04.11.2009

Ich würde intuitiv vermuten, dass beides nicht gilt, kann es aber nicht begründen.

Als denkanstoß hast du warscheinlich auch noch zwei weitere Bedingungen. Erstens dass die Sudokus nur eine Lösung haben und zweitens durch einen Menschen lösbar sind.


Antwort
Zitat
swizz
Beigetreten: 02.03.2006

Mit deinen beiden Bedingungen hast du natürlich recht.

Ich habe irgendwo was zu einem Ansatz gelesen, dass Sudokus erstellt werden, indem bei einem gefüllten Sudoku nach und nach Felder gestrichen werden.

Falls meine Idee nicht stimmt, würde es mich interessieren, wie man es mit vertretbarem Aufwand anders lösen könnte.

Hier ist mal mein Code, wie ich das bisher generiere. Ist nicht besonders schön, aber man sollte verstehen, was ich da mache.

Spoiler

	function sudoku(mode,level)
		local mode = mode or 1
		local level = level or 3
		%Variablen indizieren%//
		local matrix1={}
		local matrix2={}
		local matrix3={}
		local matrix4={}
		local matrix5={}
		local loesung={}
			%Sudoku generieren%//
				%Variablen indizieren%//
				local order1={1,2,3}
				local order2={4,5,6}
				local order3={7,8,9}
				%\\
				%Zeilen mischen%//
					matrix1={%//
						1,2,3,4,5,6,7,8,9,
						4,5,6,7,8,9,1,2,3,
						7,8,9,1,2,3,4,5,6,
						9,1,2,3,4,5,6,7,8,
						6,7,8,9,1,2,3,4,5,
						3,4,5,6,7,8,9,1,2,
						8,9,1,2,3,4,5,6,7,
						5,6,7,8,9,1,2,3,4,
						2,3,4,5,6,7,8,9,1
					}%\\

					order1=table.shuffle(order1)
					order2=table.shuffle(order2)
					order3=table.shuffle(order3)

					local zeile1= {}
					local zeile2= {}
					local zeile3= {}
					local zeile4= {}
					local zeile5= {}
					local zeile6= {}
					local zeile7= {}
					local zeile8= {}
					local zeile9= {}
					local matrix_zeilen={}
					local matrix_spalten={}
	
					for i = 1,9,1 do
						table.insert(zeile1,matrix1[i])
						table.insert(zeile2,matrix1[i+9])
						table.insert(zeile3,matrix1[i+18])
						table.insert(zeile4,matrix1[i+27])
						table.insert(zeile5,matrix1[i+36])
						table.insert(zeile6,matrix1[i+45])
						table.insert(zeile7,matrix1[i+54])
						table.insert(zeile8,matrix1[i+63])
						table.insert(zeile9,matrix1[i+72])
					end

					matrix_zeilen = {zeile1,zeile2,zeile3,zeile4,zeile5,zeile6,zeile7,zeile8,zeile9}

					matrix_zeilen[1],matrix_zeilen[2],matrix_zeilen[3]=matrix_zeilen[order1[1]],matrix_zeilen[order1[2]],matrix_zeilen[order1[3]]
					matrix_zeilen[4],matrix_zeilen[5],matrix_zeilen[6]=matrix_zeilen[order2[1]],matrix_zeilen[order2[2]],matrix_zeilen[order2[3]]
					matrix_zeilen[7],matrix_zeilen[8],matrix_zeilen[9]=matrix_zeilen[order3[1]],matrix_zeilen[order3[2]],matrix_zeilen[order3[3]]


					zeile1=matrix_zeilen[1]
					zeile2=matrix_zeilen[2]
					zeile3=matrix_zeilen[3]
					zeile4=matrix_zeilen[4]
					zeile5=matrix_zeilen[5]
					zeile6=matrix_zeilen[6]
					zeile7=matrix_zeilen[7]
					zeile8=matrix_zeilen[8]
					zeile9=matrix_zeilen[9]
				%\\
				%Spalten mischen%//
					for i = 1,9,1 do
					 	table.insert(matrix2,zeile1[i])
					end
					for i = 1,9,1 do
					 	table.insert(matrix2,zeile2[i])
					end
					for i = 1,9,1 do
						table.insert(matrix2,zeile3[i])
					end
					for i = 1,9,1 do
						table.insert(matrix2,zeile4[i])
					end
					for i = 1,9,1 do
						table.insert(matrix2,zeile5[i])
					end
					for i = 1,9,1 do
						table.insert(matrix2,zeile6[i])
					end
					for i = 1,9,1 do
						table.insert(matrix2,zeile7[i])
					end
					for i = 1,9,1 do
						table.insert(matrix2,zeile8[i])
					end
					for i = 1,9,1 do
						table.insert(matrix2,zeile9[i])
					end

					order1=table.shuffle(order1)
					order2=table.shuffle(order2)
					order3=table.shuffle(order3)
					spalte1={}
					spalte2={}
					spalte3={}
					spalte4={}
					spalte5={}
					spalte6={}
					spalte7={}
					spalte8={}
					spalte9={}
					for i = 1,73,9 do
						table.insert(spalte1,matrix2[i])
						table.insert(spalte2,matrix2[i+1])
						table.insert(spalte3,matrix2[i+2])
						table.insert(spalte4,matrix2[i+3])
						table.insert(spalte5,matrix2[i+4])
						table.insert(spalte6,matrix2[i+5])
						table.insert(spalte7,matrix2[i+6])
						table.insert(spalte8,matrix2[i+7])
						table.insert(spalte9,matrix2[i+8])
					end

				matrix_spalten = {spalte1,spalte2,spalte3,spalte4,spalte5,spalte6,spalte7,spalte8,spalte9}
						
				matrix_spalten[1],matrix_spalten[2],matrix_spalten[3]=matrix_spalten[order1[1]],matrix_spalten[order1[2]],matrix_spalten[order1[3]]
				matrix_spalten[4],matrix_spalten[5],matrix_spalten[6]=matrix_spalten[order2[1]],matrix_spalten[order2[2]],matrix_spalten[order2[3]]
				matrix_spalten[7],matrix_spalten[8],matrix_spalten[9]=matrix_spalten[order3[1]],matrix_spalten[order3[2]],matrix_spalten[order3[3]]
			
				spalte1= matrix_spalten[1]
				spalte2= matrix_spalten[2]
				spalte3= matrix_spalten[3]
				spalte4= matrix_spalten[4]
				spalte5= matrix_spalten[5]
				spalte6= matrix_spalten[6]
				spalte7= matrix_spalten[7]
				spalte8= matrix_spalten[8]
				spalte9= matrix_spalten[9]
				%\\
				%Quadrate mischen (horizontal)%//
				for i = 1,9,1 do
					table.insert(matrix3,spalte1[i])
					table.insert(matrix3,spalte2[i])
				 	table.insert(matrix3,spalte3[i])
				 	table.insert(matrix3,spalte4[i])
				 	table.insert(matrix3,spalte5[i])
				 	table.insert(matrix3,spalte6[i])
				 	table.insert(matrix3,spalte7[i])
				 	table.insert(matrix3,spalte8[i])
				 	table.insert(matrix3,spalte9[i])
				end

				order1=table.shuffle(order1)

				local quadrath1={}
				local quadrath2={}
				local quadrath3={}

				for i = 1,82,9 do
					table.insert(quadrath1,matrix3[i])
					table.insert(quadrath1,matrix3[i+1])
					table.insert(quadrath1,matrix3[i+2])
					table.insert(quadrath2,matrix3[i+3])
					table.insert(quadrath2,matrix3[i+4])
					table.insert(quadrath2,matrix3[i+5])
					table.insert(quadrath3,matrix3[i+6])
					table.insert(quadrath3,matrix3[i+7])
					table.insert(quadrath3,matrix3[i+8])
				end
				matrix_quadrateh = {quadrath1,quadrath2,quadrath3}
				%
				matrix_quadrateh[1],matrix_quadrateh[2],matrix_quadrateh[3]=matrix_quadrateh[order1[1]],matrix_quadrateh[order1[2]],matrix_quadrateh[order1[3]]
				%
				quadrath1= matrix_quadrateh[1]
				quadrath2= matrix_quadrateh[2]
				quadrath3= matrix_quadrateh[3]
				%\\
				%Quadrate mischen (vertikal)%//
				 	for i = 1,26,3 do
				 		table.insert(matrix4,quadrath1[i])
				 		table.insert(matrix4,quadrath1[i+1])
				 	 	table.insert(matrix4,quadrath1[i+2])
				 		table.insert(matrix4,quadrath2[i])
				 		table.insert(matrix4,quadrath2[i+1])
				 	 	table.insert(matrix4,quadrath2[i+2])
				 		table.insert(matrix4,quadrath3[i])
				 		table.insert(matrix4,quadrath3[i+1])
				 	 	table.insert(matrix4,quadrath3[i+2])
				 	end
			
				 	order1=table.shuffle(order1)
			
					local quadratv1={}
					local quadratv2={}
					local quadratv3={}
			
					for i = 1,27,1 do
					 	table.insert(quadratv1,matrix4[i])
				 	 	table.insert(quadratv2,matrix4[i+27])
				 	 	table.insert(quadratv3,matrix4[i+54])
					end
					local matrix_quadratev = {quadratv1,quadratv2,quadratv3}
					matrix_quadratev[1],matrix_quadratev[2],matrix_quadratev[3]=matrix_quadratev[order1[1]],matrix_quadratev[order1[2]],matrix_quadratev[order1[3]]
					quadratv1= matrix_quadratev[1]
				  	quadratv2= matrix_quadratev[2]
				  	quadratv3= matrix_quadratev[3]
				 	for i = 1,27,1 do
				 		table.insert(matrix5,quadratv1[i])
				 	end
				 	for i = 1,27,1 do
				 		table.insert(matrix5,quadratv2[i])
				 	end
				 	for i = 1,27,1 do
				 		table.insert(matrix5,quadratv3[i])
				 	end
				%\\
			%\\
			%Leere Quadrate generieren%//
				if level == 1 then
					%Sehr einfach 5 
					local sehreinfach={%//
						{%//
							0,1,1,1,1,1,1,0,1,
							1,0,1,1,1,0,1,1,1,
							0,1,1,1,0,1,1,1,0,
							1,1,0,1,1,1,1,0,1,
							1,0,1,1,1,0,1,1,1,
							1,1,1,1,1,1,0,1,1,
							1,1,1,0,1,1,1,1,1,
							0,1,1,1,1,1,1,0,1,
							1,1,1,1,0,1,1,1,1
						},%\\
						{%//
							1,0,1,1,1,1,0,1,0,
							1,1,1,1,0,1,1,0,1,
							1,1,1,1,1,0,1,1,1,
							1,1,0,1,1,1,1,1,1,
							0,1,1,1,1,1,0,1,1,
							1,1,1,1,0,1,1,0,1,
							1,1,1,0,1,1,1,1,1,
							1,0,1,1,1,0,1,1,0,
							1,1,1,1,1,1,0,1,1
						},%\\
						{%//
							1,1,1,1,0,1,1,1,1,
							1,0,1,1,1,1,1,1,0,
							1,1,1,1,1,0,1,1,1,
							1,1,1,0,1,1,1,0,1,
							1,0,1,1,1,1,0,1,1,
							0,1,1,1,0,1,1,1,0,
							1,1,1,0,1,1,1,0,1,
							1,0,1,1,1,1,1,1,0
						},%\\
						{%//
							1,1,0,1,1,1,1,1,1,
							0,1,1,0,1,1,1,0,1,
							1,1,1,1,1,0,1,1,1,
							1,0,1,1,0,1,1,1,1,
							1,1,0,1,1,1,1,1,0,
							1,1,1,1,1,1,0,1,1,
							1,1,1,0,1,1,1,1,1,
							1,0,1,1,0,1,1,1,1,
							0,1,0,1,1,1,1,0,1
						},%\\
					}%\\
					loesung=sehreinfach[math.random(4)]
				end
				if level == 2 then
					% Einfach 7/8
					local einfach={%//
						{%//
							1,0,0,1,0,1,0,1,1,
							1,0,1,0,1,1,1,0,1,
							0,1,1,1,1,0,1,1,0,
							0,1,1,0,1,1,1,0,1,
							1,1,0,1,1,0,0,1,1,
							1,0,1,0,0,1,1,1,0,
							0,1,1,0,1,1,1,1,0,
							0,1,1,1,1,0,1,0,1,
							1,1,0,1,0,1,0,0,1
						},%\\
						{%//
							1,0,0,1,0,0,0,1,1,
							1,1,1,0,1,1,1,0,0,
							0,1,1,1,0,1,1,1,0,
							1,1,0,0,1,0,1,0,1,
							0,1,1,0,1,1,1,1,0,
							1,0,1,1,0,1,0,1,1,
							0,1,1,1,0,1,1,1,0,
							0,0,1,1,1,0,1,0,1,
							1,1,0,0,1,1,0,1,1
						},%\\
						{%//
							1,0,0,1,0,1,0,1,1,
							1,0,1,0,1,1,1,1,0,
							0,1,1,1,1,0,1,1,0,
							0,1,1,1,0,0,1,0,1,
							1,1,0,0,1,1,0,1,1,
							1,0,1,1,1,0,1,1,0,
							0,1,1,0,1,1,1,1,0,
							1,0,1,1,1,0,1,0,1,
							1,1,0,1,0,1,0,0,1
						},%\\
						{%//
							1,1,0,1,1,0,0,1,1,
							1,0,1,0,1,1,1,0,0,
							0,1,1,1,0,1,1,1,0,
							1,1,0,1,0,1,1,0,1,
							0,1,1,1,1,0,1,1,0,
							1,0,1,0,1,0,0,1,1,
							0,1,1,1,0,1,1,1,0,
							0,0,1,1,1,0,1,1,1,
							1,1,0,0,1,1,0,0,1
						},%\\
						{%//
							1,1,0,1,1,0,0,1,1,
							1,0,1,1,1,0,1,0,1,
							1,1,0,0,1,1,1,0,1,
							0,1,1,1,0,1,1,1,0,
							1,1,0,0,1,1,0,1,1,
							0,1,1,1,0,1,1,1,0,
							1,1,0,1,1,0,1,1,0,
							1,0,1,1,0,1,1,0,1,
							1,1,1,0,1,1,0,1,1
						},%\\
						{%//
							1,1,1,0,1,0,1,1,1,
							1,0,1,1,1,1,1,0,1,
							1,1,0,1,0,1,0,1,0,
							0,1,1,1,0,1,0,1,1,
							1,0,1,0,1,0,1,1,1,
							1,1,0,1,1,1,1,0,0,
							0,1,1,1,0,1,1,1,0,
							1,0,1,1,1,1,0,0,1,
							1,1,0,0,1,0,1,1,1
						},%\\
						{%//
							1,1,0,1,1,0,1,1,1,
							1,0,1,1,0,1,1,0,1,
							0,1,1,0,1,1,0,1,1,
							0,1,1,1,0,1,1,1,0,
							1,1,0,1,1,0,0,1,1,
							0,1,1,1,0,1,1,1,0,
							1,0,1,1,1,0,0,1,1,
							1,0,1,0,1,1,1,0,1,
							1,1,0,0,1,1,0,1,1
						},%\\
						{%//
							1,1,1,0,1,0,0,1,1,
							1,0,0,1,1,1,1,0,1,
							0,1,1,1,0,1,1,1,0,
							0,0,1,1,1,1,0,1,1,
							1,1,1,0,1,0,1,0,1,
							1,1,0,1,0,1,1,1,0,
							0,1,0,1,0,1,0,1,1,
							1,0,1,1,1,1,1,0,1,
							1,1,1,0,1,0,1,1,1
						},%\\						
					}%\\
					loesung=einfach[math.random(8)]
				end
				if level == 3 then
					% Mittel 9/10
					local mittel={%//
						{%//
							0,1,1,1,0,1,1,0,0,
							1,0,1,1,0,1,1,1,0,
							1,0,0,0,1,1,1,0,1,
							1,0,1,1,1,0,1,0,0,
							1,0,1,0,1,1,0,1,1,
							1,0,1,1,1,0,1,1,1,
							1,0,1,1,1,0,1,0,1,
							0,1,1,1,0,1,1,1,0,
							0,1,1,1,0,1,1,1,0
						},%\\
						{%//
							0,0,1,1,1,1,1,1,0,
							1,1,0,0,0,0,0,0,1,
							1,1,1,1,1,1,0,1,1,
							1,1,1,1,0,1,0,1,1,
							0,0,1,1,1,1,1,0,0,
							1,1,0,0,1,0,1,1,1,
							1,1,1,1,0,1,1,1,1,
							1,1,0,1,1,0,0,1,0,
							0,0,1,1,1,0,1,0,0
						},%\\
						{%//
							0,1,1,1,0,1,1,1,0,
							0,1,1,1,0,1,1,1,0,
							1,0,1,0,1,1,1,0,1,
							1,1,1,0,1,1,1,0,1,
							1,1,0,1,1,0,1,0,1,
							0,0,1,0,1,1,1,0,1,
							1,0,1,1,1,0,0,0,1,
							0,1,1,1,0,1,1,0,1,
							0,0,1,1,0,1,1,1,0
						},%\\
						{%//
							0,0,1,0,1,1,1,0,0,
							0,1,0,0,1,1,0,1,1,
							1,1,1,1,0,1,1,1,1,
							1,1,1,0,1,0,0,1,1,
							0,0,1,1,1,1,1,0,0,
							1,1,0,1,0,1,1,1,1,
							1,1,0,1,1,1,1,1,1,
							1,0,0,0,0,0,0,1,1,
							0,1,1,1,1,1,1,0,0
						},%\\
						{%//
							1,0,1,0,1,1,1,0,1,
							1,1,0,1,0,1,0,0,1,
							0,1,1,0,1,1,1,1,0,
							1,0,1,0,0,1,1,1,0,
							1,1,0,1,1,0,0,1,1,
							0,1,1,1,0,0,1,0,0,
							0,1,1,1,1,0,0,1,1,
							1,0,1,1,0,1,1,1,0,
							1,0,1,1,1,1,1,0,1
						},%\\
						{%//
							1,1,0,0,1,1,0,1,1,
							0,0,1,1,1,0,1,1,0,
							1,1,1,1,0,1,1,0,1,
							1,1,1,1,1,0,0,1,0,
							1,0,1,0,1,0,1,0,1,
							1,1,0,0,0,1,1,1,1,
							1,1,0,1,0,1,1,0,1,
							0,1,1,0,1,1,1,0,0,
							1,0,1,0,1,0,0,1,1
						},%\\
						{%//
							1,0,1,1,1,1,1,0,1,
							0,1,1,1,0,1,1,0,1,
							1,1,0,0,1,1,1,1,0,
							0,0,1,0,0,1,1,1,0,
							1,1,0,0,1,1,0,1,1,
							0,1,1,1,0,0,1,0,1,
							0,1,1,1,1,0,1,1,0,
							1,0,0,1,0,1,0,1,1,
							1,0,1,1,1,0,1,0,1
						},%\\
						{%//
							1,1,0,0,1,0,1,0,1,
							0,0,1,1,1,0,1,1,0,
							1,0,1,1,0,1,0,1,1,
							1,1,1,1,0,0,0,1,1,
							1,0,1,0,1,0,1,0,1,
							0,1,0,0,1,1,1,1,1,
							1,0,1,1,0,1,1,1,1,
							0,1,1,0,1,1,1,0,0,
							1,1,0,1,1,0,0,1,1
						},%\\
					}%\\
					loesung=mittel[math.random(8)]
				end
				if level == 4 then
					% schwer 9/10
					local schwer={%//
						{%//
							1,0,0,0,1,0,1,1,0,
							1,0,1,1,0,0,0,0,1,
							1,0,0,0,0,1,0,0,1,
							0,0,1,0,1,0,1,0,0,
							1,0,1,1,0,0,1,1,1,
							0,1,0,0,0,1,0,0,0,
							1,1,0,1,0,0,0,1,1,
							0,0,0,0,1,0,0,1,0,
							0,0,0,1,0,0,0,1,0
						},%\\
						{%//
							0,0,1,0,1,0,1,1,1,
							0,0,1,1,0,0,0,0,0,
							0,0,0,0,1,1,0,1,0,
							1,0,1,0,1,0,0,1,0,
							0,1,0,0,0,1,0,0,1,
							0,0,0,1,0,0,1,0,0,
							0,0,0,0,1,1,0,0,1,
							1,1,1,0,1,0,0,0,1,
							0,0,1,0,1,0,1,1,0
						},%\\
						{%//
							0,1,0,0,0,1,0,0,0,
							0,1,0,0,1,0,0,0,0,
							1,1,0,0,0,1,0,1,1,
							0,0,0,1,0,0,0,1,0,
							1,1,1,0,0,1,1,0,1,
							0,0,1,0,1,0,1,0,0,
							1,0,0,1,0,0,0,0,1,
							1,0,0,0,0,1,1,0,1,
							0,1,1,0,1,0,0,0,1
						},%\\
						{%//
							0,1,1,0,1,0,1,0,0,
							1,0,0,0,1,0,1,1,1,
							1,0,0,1,1,0,0,0,0,
							0,0,1,0,0,1,0,0,0,
							1,0,0,1,0,0,0,1,0,
							0,1,0,0,1,0,1,0,1,
							0,1,0,1,1,0,0,0,0,
							0,0,0,0,0,1,1,0,0,
							1,1,1,0,1,0,1,0,0
						},%\\
						{%//
							1,0,1,1,1,0,0,0,0,
							0,0,1,0,1,0,0,1,0,
							0,0,0,0,0,0,1,0,1,
							0,0,1,1,0,0,0,0,1,
							1,0,0,0,0,0,1,0,1,
							1,1,0,1,0,1,0,0,0,
							1,0,0,1,0,0,0,1,1,
							1,0,0,0,0,0,1,0,0,
							0,1,1,1,0,0,0,1,0
						},%\\
						{%//
							0,1,1,1,1,0,0,0,1,
							1,0,0,1,0,0,0,0,0,
							1,0,0,0,0,1,0,1,1,
							1,0,1,1,0,1,0,0,1,
							0,0,0,0,0,0,0,1,1,
							0,0,0,1,0,0,0,0,0,
							0,1,0,0,1,0,1,0,0,
							1,0,1,0,0,0,0,1,0,
							0,0,1,0,1,1,1,0,0
						},%\\
						{%//
							0,1,0,0,0,1,1,1,0,
							0,0,1,0,0,0,0,0,1,
							1,1,0,0,0,1,0,0,1,
							0,0,0,1,0,1,0,1,1,
							1,0,1,0,0,0,0,0,1,
							1,0,0,0,0,1,1,0,0,
							1,0,1,0,0,0,0,0,0,
							0,1,0,0,1,0,1,0,0,
							0,0,0,0,1,1,1,0,1
						},%\\
						{%//
							0,0,1,1,1,0,1,0,0,
							0,1,0,0,0,0,1,0,1,
							0,0,1,0,1,0,0,1,0,
							0,0,0,0,0,1,0,0,0,
							1,1,0,0,0,0,0,0,0,
							1,0,0,1,0,1,1,0,1,
							1,1,0,1,0,0,0,0,1,
							0,0,0,0,0,1,0,0,1,
							1,0,0,0,1,1,1,1,0
						},%\\
					}%\\
					loesung=schwer[math.random(8)]
				end
				if level == 5 then
					%Sehr einfach 5 
					local sehrschwer={%//
						{%//
							0,0,0,1,1,0,1,0,0,
							1,0,0,0,0,1,0,0,0,
							0,0,1,0,1,1,0,0,1,
							0,0,1,0,0,0,1,0,1,
							0,0,1,1,1,0,1,0,1,
							1,0,1,1,0,0,0,0,0,
							1,0,1,1,0,0,1,0,0,
							1,1,0,0,0,1,0,0,0,
							0,0,1,0,0,0,1,1,0
						},%\\
						{%//
							0,1,1,1,0,0,0,1,0,
							0,1,0,0,0,0,0,0,0,
							1,0,1,1,1,1,1,0,0,
							0,0,1,1,1,0,0,0,1,
							0,0,0,0,1,0,1,0,1,
							0,1,0,0,0,0,1,1,0,
							1,0,1,0,1,1,0,0,1,
							1,0,0,0,0,0,0,0,0,
							0,0,0,0,1,1,1,0,0
						},%\\
						{%//
							0,1,1,0,0,0,1,0,0,
							0,0,0,1,0,0,0,1,1,
							0,0,1,0,0,1,1,0,1,
							0,0,0,0,0,1,1,0,1,
							1,0,1,0,1,1,1,0,0,
							1,0,1,0,0,0,1,0,0,
							1,0,0,1,1,0,1,0,0,
							0,0,0,1,0,0,0,0,1,
							0,0,1,0,1,1,0,0,0
						},%\\
						{%//
							0,0,1,1,1,0,0,0,0,
							0,0,0,0,0,0,0,0,1,
							1,0,0,1,1,0,1,0,1,
							0,1,1,0,0,0,0,1,0,
							1,0,1,0,1,0,0,0,0,
							0,0,1,1,1,1,1,0,1,
							0,0,0,0,0,0,0,1,0,
							0,1,0,0,0,1,1,1,0
						},%\\
					}%\\
					loesung=sehrschwer[math.random(4)]
				end
			%\\
		local rv = {matrix5,loesung}
		return rv
	end


Antwort
Zitat