User Tag List

Hiện kết quả từ 1 tới 4 của 4
Chủ đề: Phần mềm giải Sudoku - chia sẻ mã nguồn (Pascal)
Quét Mã QR
http://thegioitinhoc.vn/showthread.php?t=39492
  1. #1
    conghoang9x đang offline Gà con
    Tham gia ngày
    09-12-2009
    Bài gửi
    116
    Cảm ơn
    18
    Được cảm ơn 68 lần trong 30 bài

    Thumbs up Phần mềm giải Sudoku - chia sẻ mã nguồn (Pascal)

    H Sudoku Solver – Phần mềm giải Sudoku cực nhanh.

    • Phần mềm viết bằng ngôn ngữ Pascal, dịch bằng Turbo Pascal 7.0 vì vậy nó chạy tốt trên nhiều hệ điều hành từ Dos cho đến Windows (x86) (muốn chạy trên Windows 7 x64 bạn cần dùng DosBox)
    • Cực kì gọn nhẹ, chỉ 38.1KB.
    • Hoàn toàn miễn phí.
    • Giải được tất cả các Sudoku, Sudoku X, Disjointed Sudoku, Jigsaw Sudoku, Brick Wall Sudoku từ dễ đến khó chỉ trong chưa đầy 1 giây.
    • Lưu sudoku vào file chỉ tốn 40 byte (Sudoku, Sudoku X) hoặc 76 byte (biến thể).
    • Sử dụng: cực kì đơn giản, có hướng dẫn ngay khung phía trên của chương trình.










    Mã nguồn:

    Mã:
    {
    Phan mem giai sudoku tu dong - HSudoku Solover 3.0
    Tac gia: Nguyen Cong Hoang
    Email: conghoang9x@gmail.com
    }
    
    PROGRAM Sudoku_solver;
    USES crt,dos,drivers;
    TYPE
        x9=1..9;
        x10=0..9;
        Tcell = RECORD
            kq: 0..9;
            findout:BOOLEAN;
        area: x9;
        END;
        setof9 = SET OF x9;
    
        XCell = RECORD
        x,y,a:ARRAY[1..9] OF setof9;
        x1,x2: setof9;
        arr:ARRAY[1..9,1..9] OF Tcell;
        END;
    
        xy=RECORD a,b:x9; END;
    
    VAR Cell:Xcell;
        Cellbak:ARRAY[1..81] OF xcell;
        sumbak:ARRAY[1..81] OF 0..81;
        Xarea:ARRAY[1..9,1..9] OF xy;
        sum:0..81;
        finddone:BOOLEAN;
        xc,yc:x9;
        key:CHAR;
        sudokutype:1..3;
        fileN:STRING;
        step:1..3;
        setofc:setof9;
        xd,yd,ad,xb,yb,ab:setof9;
        xx1,xx2,xx1b,xx2b:BOOLEAN;
        time:LONGINT ABSOLUTE $0:$046C;
    CONST Number: ARRAY[0..9] OF BYTE = (219,192,193,194,195,196,197,202,203,206);
          color: ARRAY[1..9] OF BYTE = (12,14,9,13,10,11,2,5,6);
    
    PROCEDURE writecell; FORWARD;
    PROCEDURE reset_area; FORWARD;
    PROCEDURE setarea; FORWARD;
    PROCEDURE clear; FORWARD;
    PROCEDURE main_program; FORWARD;
    PROCEDURE end_program; FORWARD;
    FUNCTION confirmExit:BOOLEAN; FORWARD;
    PROCEDURE filter(x,y: x9; VAR setout:setof9); FORWARD;
    PROCEDURE filterx(x,y: x9; VAR setout:setof9); FORWARD;
    
    PROCEDURE font;EXTERNAL;{$L VietFont.obj}
    PROCEDURE LoadFont;
    VAR regs:Registers; i:BYTE; show_inf:BOOLEAN;
    BEGIN
    ASM mov ax,$13; int $10 END;
    ASM mov ax,$3;int $10 END;
    WITH regs DO BEGIN ax:=$1100;bx:=$1000;bp:=ofs(font);es:=seg(font);cx:=256;dx:=0;intr($10,regs);END;
    END;
    
    PROCEDURE UnLoadFont;
    VAR regs:Registers;
    BEGIN WITH regs DO BEGIN ax:=$1104;bx:=0;intr($10,regs);END; END;
    
    
    PROCEDURE hide;
    BEGIN
    textcolor(0);
    textbackground(0);
    gotoxy(1,1);write(' ');gotoxy(1,1);
    END;
    
    PROCEDURE writec(c1:BYTE;s:STRING);
    BEGIN
    textcolor(c1);
    write(s);
    END;
    
    PROCEDURE writexy(x,y:BYTE; s:STRING);
    BEGIN
    gotoxy(x,y);
    write(S)
    END;
    
    PROCEDURE writetype;
    BEGIN
    textbackground(0);
    textcolor(10);
    CASE sudokutype OF
    1: writexy(45,12,'Sudoku  ');
    2: writexy(45,12,'Sudoku X');
    3: writexy(45,12,'BiÕn thÓ');
    END;
    END;
    
    PROCEDURE writefileN;
    VAR str:STRING; i:BYTE;
    BEGIN
    IF filen='' THEN
    BEGIN
    textbackground(0);
    textcolor(1);
    writexy(55,12,'SDK míi     ');
    END
    ELSE
    BEGIN
    str:='';
    i:=length(filen);
    WHILE (filen[i]<>'\') AND (i>0) DO BEGIN
    str:=filen[i]+str;
    i:=i-1;
    END;
    textbackground(0);
    textcolor(1);
    writexy(55,12,str);
    IF length(str)<12 THEN FOR i:=12-length(str) DOWNTO 1 DO write(' ');
    END;
    END;
    
    PROCEDURE writesum;
    BEGIN
    textbackground(0);
    textcolor(yellow);
    gotoxy(70,10);
    write(sum,' ')
    END;
    
    PROCEDURE writemenu;
    BEGIN
    textbackground(0);
    textcolor(15);
    writexy(2,23,'º'); writexy(79,23,'º');
    textbackground(15);
    textcolor(0);
    writexy(3,23,'   ');
    IF step=3 THEN writec(4,'F2') ELSE writec(8,'F2');
    writec(0,' L¥u   ');
    IF step=3 THEN writec(4,'Shift+F2') ELSE writec(8,'Shift+F2');
    writec(0,' L¥u khªc...   ');
    writec(4,'F3');
    writec(0,' Më   ');
    writec(4,'F4');
    writec(0, ' SDK míi   ');
    writec(4,'Esc');
    writec(0,' Thoªt           ');
    hide;
    END;
    
    PROCEDURE writehelp;
    BEGIN
    textbackground(0);
    textcolor(10);
        CASE step OF
        1:BEGIN
        writexy(3,3,' B¥íc 1: Lùa chän kiÓu sudoku, b«n cã thÓ më sudoku ¦© l¥u (F3)             ');
        writexy(3,4,'  Sudoku: lo«i sudoku chu·n 3x3x9.                                          ');
        writexy(3,5,'  Sudoku X: cªc sè trong mçi ¦¥êng chÐo kh£ng ¦¥îc trïng lµp nhau.          ');
        writexy(3,6,'  BiÕn thÓ: mét sè lo«i Sudoku khªc nh¥: Disjointed, Brick Wall, Jigsaw...  ');
          END;
        2:BEGIN
        writexy(3,3,' B¥íc 2: S¯p ¦µt l«i ph¡n vïng cho Sudoku biÕn thÓ.                         ');
        writexy(3,4,'  PhÝm mòi t¢n ¦Ó di chuyÓn, kÕt hîp víi phÝm Shift ¦Ó më réng ph¡n vïng.   ');
        writexy(3,5,'  B«n cã thÓ chän ph¶n vïng cho £ hiÖn t«i b¬ng cªch nh½n phÝm sè t¥¤ng øng.');
        writexy(3,6,'  PhÝm Enter ¦Ó chuyÓn ¦Õn b¥íc 3, BackSpace ¦Ó quay l«i b¥íc 1.            ');
          END;
        3:BEGIN
        writexy(3,3,' B¥íc 3: Nh¾p sè cho cªc £.                                                 ');
        writexy(3,4,'  Sè nh¾p v§o ph¨i l§ mét trong cªc sè gîi ý, xãa: sè 0 hoµc phÝm Delete.   ');
        writexy(3,5,'  PhÝm F9 ¦Ó b¯t ¦¶u gi¨i, ch¥¤ng tr×nh sÏ kh£ng gi¨i nÕu d÷ liÖu v§o sai.  ');
        writexy(3,6,'  PhÝm BackSpace ¦Ó quay l«i.                                               ');
          END;
        END
    END;
    ...
    Tải về H Sudoku Solver và mã nguồn: Bạn phải đăng ký để thấy được link

    Mã nguồn viết bằng ngôn ngữ Pascal, chỉ dịch được bằng Turbo Pascal.
    Tải về phần mềm Turbo Pascal: Bạn phải đăng ký để thấy được link

    Chủ đề tương tự:
    Lần sửa cuối bởi conghoang9x; 05-11-2010 lúc 11:16 AM

  2. Có 4 người đã cảm ơn conghoang9x vì bài viết này rất hữu ích:

    Phuc Nguyen (05-11-2010),nghethuat5755 (08-11-2011),papa1210 (05-12-2010),vanha (06-12-2010)

  3. # ADS
    Quảng cáo Liên hệ: 0906.26.26.26
    Tham gia ngày
    Always
    Bài gửi
    Many


     
  4. #2
    Avatar của kingofheaven
    kingofheaven đang offline Gà công nghiệp
    Tham gia ngày
    14-01-2010
    Đến từ
    Real Madrid C.F
    Bài gửi
    1.142
    Cảm ơn
    59
    Được cảm ơn 998 lần trong 386 bài

    Mặc định

    Wa bờ rồ, phúc sát đất , tui mới học 11 thấy pascal rất khó, chẳng bít cái j cả, bạn thật là siêu.....







    ......













  5. #3
    Avatar của ccgf.ok.001
    ccgf.ok.001 đang offline Gà con
    Tham gia ngày
    27-03-2010
    Đến từ
    Thành phố Hồ Chí Minh, Hồ Chí Minh, Vietnam, Vietnam
    Bài gửi
    151
    Cảm ơn
    59
    Được cảm ơn 78 lần trong 54 bài

    Mặc định

    Cho mình hỏi, để gõ Tiếng Việt trong pascal, bạn cần dùng phần mềm nào?
    Thanks trước

    001
    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

    Mail liên hệ:
    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

    Facebook:
    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



  6. #4
    vanha đang offline Trứng gà
    Tham gia ngày
    01-12-2009
    Bài gửi
    21
    Cảm ơn
    116
    Được cảm ơn 17 lần trong 11 bài

    Mặc định

    Theo mình thấy thì trong chương trình trên có thể bạn Hoàng đã dùng VietRes for DOS để nhập tiếng Việt. Để xem và in trong Windows bạn có thể dùng font "Vietsea Sample Font".


Người dùng tìm thấy trang này bằng các từ khóa

http:thegioitinhoc.vnphan-mem-viet39492-phan-mem-giai-sudoku-chia-se-ma-nguon-pascal.html

cách giải mã sudoku

hsudoku solver 3.0

game sudoku code pascla

giai ma sudoku

mã nguồn sudoku

sudoku pascal

chương trình pascal sodoku

game sudoku bang pascal

code pascal sudoku

cach chuyen font chu vietsea semple font

tải vietsea sample font

WRITEmenu turbo pascal

tải sudoku solver cho galaxy y

ma nguon mo phan mem giai sudoku

code game sudoku trên pascal

code sudoku bang pascal 7.0ma nguon ngon ngu pascaltro choi sudoku viet bang ngon ngu gimã nguồn game sudokucode sudoku trên pascalcách viết code game soduku javacode sudoku pascal haycode pascal sudoku haycode game sudoku bằng java

Đánh dấu

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •