Jump to content

SuDoku Solver


Manjish
 Share

Recommended Posts

Guys i am trying to make a Su Doku Solver.. (For those who don't know about Su-Doku, please go here.)

Already made the GUI..

#include <GUIConstants.au3>
#include<WindowsConstants.au3>
#include<EditConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 381, 359, 193, 125, BitOR($WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_BORDER,$WS_CLIPSIBLINGS))
$1_7 = GUICtrlCreateInput("", 256, 48, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$2_7= GUICtrlCreateInput("", 256, 72, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$1_8 = GUICtrlCreateInput("", 288, 48, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$2_8 = GUICtrlCreateInput("", 288, 72, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$1_9 = GUICtrlCreateInput("", 320, 48, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$2_9 = GUICtrlCreateInput("", 320, 72, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$3_7 = GUICtrlCreateInput("", 256, 96, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$3_8 = GUICtrlCreateInput("", 288, 96, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$3_9 = GUICtrlCreateInput("", 320, 96, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$1_4 = GUICtrlCreateInput("", 144, 48, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$2_4 = GUICtrlCreateInput("", 144, 72, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$1_5 = GUICtrlCreateInput("", 176, 48, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$2_5 = GUICtrlCreateInput("", 176, 72, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$1_6 = GUICtrlCreateInput("", 208, 48, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$2_6 = GUICtrlCreateInput("", 208, 72, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$3_4 = GUICtrlCreateInput("", 144, 96, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$3_5 = GUICtrlCreateInput("", 176, 96, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$3_6 = GUICtrlCreateInput("", 208, 96, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$1_1= GUICtrlCreateInput("", 32, 48, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$2_1 = GUICtrlCreateInput("", 32, 72, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$1_2 = GUICtrlCreateInput("", 64, 48, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$2_2 = GUICtrlCreateInput("", 64, 72, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$1_3 = GUICtrlCreateInput("", 96, 48, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$2_3 = GUICtrlCreateInput("", 96, 72, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$3_1 = GUICtrlCreateInput("", 32, 96, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$3_2 = GUICtrlCreateInput("", 64, 96, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$3_3 = GUICtrlCreateInput("", 96, 96, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$4_1 = GUICtrlCreateInput("", 32, 136, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$5_1 = GUICtrlCreateInput("", 32, 160, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$4_2 = GUICtrlCreateInput("", 64, 136, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$5_2 = GUICtrlCreateInput("", 64, 160, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$4_3 = GUICtrlCreateInput("", 96, 136, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$5_3 = GUICtrlCreateInput("", 96, 160, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$6_1 = GUICtrlCreateInput("", 32, 184, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$6_2 = GUICtrlCreateInput("", 64, 184, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$6_3 = GUICtrlCreateInput("", 96, 184, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$4_4 = GUICtrlCreateInput("", 144, 136, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$5_4 = GUICtrlCreateInput("", 144, 160, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$4_5 = GUICtrlCreateInput("", 176, 136, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$5_5 = GUICtrlCreateInput("", 176, 160, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$4_6 = GUICtrlCreateInput("", 208, 136, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$5_6 = GUICtrlCreateInput("", 208, 160, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$6_4 = GUICtrlCreateInput("", 144, 184, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$6_5 = GUICtrlCreateInput("", 176, 184, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$6_6 = GUICtrlCreateInput("", 208, 184, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$4_7 = GUICtrlCreateInput("", 256, 136, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$5_7 = GUICtrlCreateInput("", 256, 160, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$4_8 = GUICtrlCreateInput("", 288, 136, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$5_8 = GUICtrlCreateInput("", 288, 160, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$4_9 = GUICtrlCreateInput("", 320, 136, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$5_9 = GUICtrlCreateInput("", 320, 160, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$6_7 = GUICtrlCreateInput("", 256, 184, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$6_8 = GUICtrlCreateInput("", 288, 184, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$6_9 = GUICtrlCreateInput("", 320, 184, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$7_1 = GUICtrlCreateInput("", 32, 224, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$8_1 = GUICtrlCreateInput("", 32, 248, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$7_2 = GUICtrlCreateInput("", 64, 224, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$8_2 = GUICtrlCreateInput("", 64, 248, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$7_3 = GUICtrlCreateInput("", 96, 224, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$8_3 = GUICtrlCreateInput("", 96, 248, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$9_1 = GUICtrlCreateInput("", 32, 272, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$9_2 = GUICtrlCreateInput("", 64, 272, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$9_3 = GUICtrlCreateInput("", 96, 272, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$7_4 = GUICtrlCreateInput("", 144, 224, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$8_4 = GUICtrlCreateInput("", 144, 248, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$7_5 = GUICtrlCreateInput("", 176, 224, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$8_5 = GUICtrlCreateInput("", 176, 248, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$7_6 = GUICtrlCreateInput("", 208, 224, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$8_6 = GUICtrlCreateInput("", 208, 248, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$9_4 = GUICtrlCreateInput("", 144, 272, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$9_5 = GUICtrlCreateInput("", 176, 272, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$9_6 = GUICtrlCreateInput("", 208, 272, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$7_7 = GUICtrlCreateInput("", 256, 224, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$8_7 = GUICtrlCreateInput("", 256, 248, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$7_8 = GUICtrlCreateInput("", 288, 224, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$8_8 = GUICtrlCreateInput("", 288, 248, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$7_9 = GUICtrlCreateInput("", 320, 224, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$8_9 = GUICtrlCreateInput("", 320, 248, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$9_7 = GUICtrlCreateInput("", 256, 272, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$9_8 = GUICtrlCreateInput("", 288, 272, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$9_9 = GUICtrlCreateInput("", 320, 272, 25, 21,BitOR($ES_AUTOHSCROLL,$ES_NUMBER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
GUICtrlSetLimit(-1,1)
$Label1 = GUICtrlCreateLabel("Please Fill Up Known Numbers, For solving the SuDoku. ", 48, 8, 272, 17)
$Label2 = GUICtrlCreateLabel("Click on OK button to see the solution", 80, 24, 182, 17)
$Button1 = GUICtrlCreateButton("OK", 88, 312, 185, 33, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

EndSwitch
WEnd
GUICtrlSetLimit($input1,1)

Now i need the logc behind this.. Any ideas??

[font="Garamond"]Manjish Naik[/font]Engineer, Global Services - QPSHoneywell Automation India LimitedE-mail - Manjish.Naik@honeywell.com
Link to comment
Share on other sites

  • Developers

Sure... its done and posted before so you should be able to find a working script...

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...