Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 27 kết quả

Đề tài: Một số mã nguồn hay từ website manguon

  1. #1
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mặc định Một số mã nguồn hay từ website manguon

    Thấy trên mã nguồn có những code hay lắm nhưng mà anh em mình muốn dow thì lại bị giới hạn về nhiều mặt vì thế kidkid chọn lựa 1 số code hay gởi lên , mong có ngày hữu ích với anh em !

    Tiện thể đây nếu anh cần bất kì mã nguồn nào bên đó mà chưa dow được thì có thể liên hệ mình mình giúp được gì thì sẽ cố gắng .

  2. #2
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Báo thông tin ổ đĩa

    C Code:
    1. #include <conio.h>
    2. #include <dos.h>
    3.  
    4. typedef unsigned char BYTE;
    5. typedef unsigned WORD;
    6.  
    7. typedef struct tagdiskinfo {
    8.   char signature;
    9.   WORD skip;
    10.   char vendor[8];
    11.   WORD bytepersector;
    12.   BYTE sectorpercluster;
    13.   WORD reservedsectors;
    14.   BYTE fatcopies;
    15.   WORD rootentries;
    16.   WORD totalsectors;
    17.   BYTE media;
    18.   WORD sectorperfat;
    19.   WORD sectorpertrack;
    20.   WORD heads;
    21.   WORD hiddensectors;
    22.   char loader [482];
    23. } DISKINFO;
    24.  
    25. DISKINFO diskinfo;
    26. void main(int argc, char *argv[])
    27. {
    28.   char disknum;
    29.  
    30.   if (argc < 2)
    31.     printf("\nSu dung :\nDISKINFO <drive>");
    32.   else
    33.   {
    34.     disknum = toupper(argv[1][0]) - 'A';
    35.     if (absread(disknum, 1, 0, &diskinfo)!= 0)
    36.       printf("Khong the doc boot record cua o %c", 'A' + disknum);
    37.     else
    38.     {
    39.       printf("\n\n\nThong tin ve dia %c", 'A' + disknum);
    40.       printf("\nSignature           = %c", diskinfo.signature);
    41.       printf("\nBytes per Sector    = %d", diskinfo.bytepersector);
    42.       printf("\nSectors per Cluster = %d", diskinfo.sectorpercluster);
    43.       printf("\nReserved Sector     = %d", diskinfo.reservedsectors);
    44.       printf("\nNum of FAT          = %d", diskinfo.fatcopies);
    45.       printf("\nRoot Entries        = %d", diskinfo.rootentries);
    46.       printf("\nTotal sectors       = %d", diskinfo.totalsectors);
    47.       printf("\nMedia Descriptor    = %d", diskinfo.media);
    48.       printf("\nSectors per FAT     = %d", diskinfo.sectorperfat);
    49.       printf("\nSectors per Track   = %d", diskinfo.sectorpertrack);
    50.       printf("\nNum of Head         = %d", diskinfo.heads);
    51.       printf("\nHidden sectors      = %d", diskinfo.hiddensectors);
    52.     }
    53.   }
    54.   getch();
    55. }

  3. #3
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mặc định Code bắn xe tăng bằng C

    Code bắn xe tăng viết bằng C
    Attached Files Attached Files

  4. #4
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mặc định Game Dò Mìn viết bằng C

    Game Dò Mìn

    C Code:
    1. //Game: Mines
    2. #include<stdlib.h>
    3. #include<stdio.h>
    4. #include<conio.h>
    5. #include<math.h>
    6. #include<string.h>
    7. #include<process.h>
    8. #include<iostream.h>
    9. #include<dos.h>
    10. #include<graphics.h>
    11. #include<bios.h>
    12. //**********Tao Menu*****************************************/
    13. #define pixTOrc(x) (8*(x-1))
    14. #define INC 5
    15. #define ROW 15
    16. #define COL 8
    17. #define MAXITEM 5
    18. int Start();
    19.  
    20. typedef char option[15];
    21. option mainMenu[]= {
    22.   "NEW GAME.",
    23.   "OPEN GAME.",
    24.  "SAVE",
    25.  "ABOUT ME",
    26.  "CLOSE"
    27. };
    28.  
    29. void normalvideo(int x,int y,char *str)
    30. {
    31.     x=pixTOrc(x);
    32.     y=pixTOrc(y);
    33.     outtextxy(x,y,str);
    34. }
    35.  
    36. void reversevideo(int x,int y,char *str)
    37. {
    38.     x=pixTOrc(x);
    39.     y=pixTOrc(y);
    40.     setcolor(YELLOW);
    41.     sound(400);
    42.     delay(100);
    43.     nosound();
    44.     outtextxy(x,y,str);
    45.     setcolor(WHITE);
    46.     sound(500);
    47.     delay(100);
    48.     nosound();
    49. }
    50.  
    51. char menu()
    52. {
    53.     settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
    54.     setcolor(WHITE);
    55.     int i,done;
    56.     for(i = 1; i < MAXITEM; i++)
    57.       normalvideo(COL, (i*INC)+ROW, mainMenu[i]);
    58.  
    59.     reversevideo(COL,ROW, mainMenu[0]);
    60.     i = done = 0;
    61.     do
    62.     {
    63.  
    64.             setfillstyle(SOLID_FILL,BLUE);
    65.             settextstyle(SMALL_FONT,HORIZ_DIR,5);
    66.             bar(pixTOrc(2),pixTOrc(52.5),pixTOrc(75),pixTOrc(55));
    67.             setcolor(LIGHTCYAN);
    68.             switch(i)
    69.             {
    70.                 case 0 : outtextxy(pixTOrc(5),pixTOrc(52.75),"New --> New game: Snake 7.0, Mine 5.0, Tertriss 1.0, PingPong 2.0...v.v..");
    71.                      break;
    72.                 case 1 : outtextxy(pixTOrc(5),pixTOrc(52.75),"Open --> Chuong trinh gia lap playtion. Hien nay muc nay minh da xoa. ");
    73.                      break;
    74.                 case 2 : outtextxy(pixTOrc(5),pixTOrc(52.75),"Save --> Save file game. Hien nay muc nay minh da xoa.");
    75.                      break;
    76.                 case 3 : outtextxy(pixTOrc(5),pixTOrc(52.75),"About Me --> Nguoi viet: Luu Huynh Chau Pha 03CT1C DH KHTN");
    77.                      break;
    78.                 case 4 : outtextxy(pixTOrc(5),pixTOrc(52.75),"Close the Program --> See you again !!!!!!!!!!!");
    79.                      break;
    80.             }
    81.  
    82.             setcolor(WHITE);
    83.             settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
    84.  
    85.         int key = getch();
    86.         switch (key)
    87.         {
    88.  
    89.             case 00:
    90.                 key = getch();
    91.                 switch (key)
    92.                 {
    93.                     case 72:
    94.                         normalvideo(COL, (i*INC)+ROW, mainMenu[i]);
    95.                         i--;
    96.                         if (i == -1)
    97.                             i = MAXITEM-1;
    98.                         reversevideo(COL,(i*INC)+ROW,mainMenu[i]);
    99.                         break;
    100.                     case 80:
    101.                         normalvideo(COL, (i*INC)+ROW, mainMenu[i]);
    102.                         i++;
    103.                         if (i == MAXITEM)
    104.                             i = 0;
    105.                         reversevideo(COL, (i*INC)+ROW, mainMenu[i]);
    106.                         break;
    107.                 }
    108.                 break;
    109.             case 13:
    110.                 done = 1;
    111.         }
    112.  
    113.     }
    114.     while (!done);
    115.     return(i+49);
    116. }
    117.  
    118. void advertise(){
    119.     setcolor(BLUE);
    120.     outtextxy(pixTOrc(30),pixTOrc(20),"LuuHuynhChauPha 03CT1C");
    121.     outtextxy(pixTOrc(30),pixTOrc(26),"ahp16122311@yahoo.co.uk");
    122.     setcolor(YELLOW);
    123. }
    124.  
    125. int control_menu()
    126. {    int flag=0;
    127.      char choice;
    128.     do
    129.     {
    130.         choice = menu();
    131.         switch (choice)
    132.         {
    133.            case '1':    //New
    134.                 setcolor(BLUE);
    135.                 outtextxy(pixTOrc(40),pixTOrc(15),"...New...");
    136.                 advertise();
    137.                 getch();
    138.                 setfillstyle(SOLID_FILL,LIGHTGRAY);
    139.                 bar(pixTOrc(28),pixTOrc(14),pixTOrc(80),pixTOrc(50));
    140.                 advertise();
    141.                 flag=1;
    142.                 settextstyle(0,0,0);
    143.                 //Start();
    144.                 goto out;
    145.  
    146.  
    147.            case '2':    //Open
    148.                 setcolor(BLUE);
    149.                 outtextxy(pixTOrc(40),pixTOrc(15),"...Open...");
    150.                 advertise();
    151.                 getch();
    152.                 setfillstyle(SOLID_FILL,LIGHTGRAY);
    153.                 bar(pixTOrc(28),pixTOrc(14),pixTOrc(80),pixTOrc(50));
    154.                 advertise();
    155.                 break;
    156.  
    157.            case '3':    //Save
    158.                 setcolor(BLUE);
    159.                 outtextxy(pixTOrc(40),pixTOrc(15),"...Save...");
    160.                 advertise();
    161.  
    162.                 getch();
    163.                 setfillstyle(SOLID_FILL,LIGHTGRAY);
    164.                 bar(pixTOrc(28),pixTOrc(14),pixTOrc(80),pixTOrc(50));
    165.                 advertise();
    166.                 break;
    167.  
    168.            case '4':    //Modify the status of item in inventory
    169.                 setcolor(BLUE);
    170.                 outtextxy(pixTOrc(40),pixTOrc(15),"...About Me...");
    171.                 advertise();
    172.                 getch();
    173.                 setfillstyle(SOLID_FILL,LIGHTGRAY);
    174.                 bar(pixTOrc(28),pixTOrc(14),pixTOrc(80),pixTOrc(50));
    175.                 advertise();
    176.                 settextstyle(0,0,0);
    177.                 flag=3;
    178.                 goto out;
    179.  
    180.            case '5':    //Close the program
    181.                 setcolor(BLUE);
    182.                 outtextxy(pixTOrc(40),pixTOrc(15),"...CLOSE...");
    183.                 advertise();
    184.                 delay(1000);
    185.                 setfillstyle(SOLID_FILL,LIGHTGRAY);
    186.                 bar(pixTOrc(28),pixTOrc(14),pixTOrc(80),pixTOrc(50));
    187.                 advertise();
    188.                 flag=2;
    189.                 cleardevice();
    190.                 outtextxy(getmaxx()/2-70,getmaxy()/2-70,"See you again !!!");
    191.                 delay(2000);
    192.                 goto out;
    193.        }
    194.  
    195.       } while (choice != MAXITEM);
    196.         out:
    197.       return flag;
    198. }
    199.  
    200.  
    201.  
    202. int Menu()
    203. {
    204.     int i,j,k;
    205.     settextjustify(0,2);
    206.     setfillstyle(SOLID_FILL,LIGHTGRAY);
    207.     bar(0,0,640,480);
    208.  
    209.     setcolor(DARKGRAY);
    210.     rectangle(0,0,639,480);
    211.     rectangle(1,1,638,479);
    212.     setcolor(BLACK);
    213.     rectangle(2,1,637,478);
    214.     rectangle(3,1,636,477);
    215.  
    216.     settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
    217.     setcolor(BLUE);
    218.     outtextxy(pixTOrc(8),pixTOrc(2),"MENU -->> Ngay 02, Thang 03, Nam 2004");
    219.     setfillstyle(HATCH_FILL,DARKGRAY);
    220.     for(i=15,j=70;i<40||j>40;i++,j--)
    221.     {
    222.         bar(pixTOrc(8),pixTOrc(7),pixTOrc(i),pixTOrc(7.5));
    223.         delay(10);
    224.         bar(pixTOrc(j),pixTOrc(7),pixTOrc(70),pixTOrc(7.5));
    225.         delay(20);
    226.     }
    227.  
    228.     bar(pixTOrc(7),pixTOrc(14),pixTOrc(25),pixTOrc(50));
    229.     k=control_menu();
    230.     return k;
    231. }
    232.  
    233. //--------Important  Functions----------------------------
    234. void Initgraph()
    235. {   int gdriver=DETECT,gmode,errorcode;
    236.     initgraph(&gdriver,&gmode,"c:/borlandc/bgi");
    237.     errorcode=graphresult();
    238.     if(errorcode!=grOk)
    239.     {   cout<<"Xin chao ban!!! That tiec, ban da khong de dung vi tri\
    240.     tap tin c:/borlandc/bgi/evavga.bgi";
    241.         cout<<"\n\nChuong trinh se thoat ra...Mong ban quay lai...";
    242.         cout<<"\n\nNhan mot phim bat ky de thoat ra....Thank you.";
    243.         getch();
    244.         exit(1);
    245.     }
    246. }
    247. void Closegraph()
    248. {   closegraph();
    249. }
    250. //*********************************************/
    251.  
    252. struct MOUSE
    253. {
    254. int mouse_trang_thai;
    255. int mouse_x;
    256. int mouse_y;
    257. };
    258. int  mouse_reset(void);
    259. void Khoi_dong_mouse(void);
    260. void Thoat_mouse(void);
    261. void Trang_thai_mouse(MOUSE &mouse);
    262. void mouse_horizontal_range(int xmin, int xmax);
    263. void mouse_vertical_range(int ymin, int ymax);
    264. /*----------------------------------------------------------------------*/
    265. int mouse_reset(void)
    266. {
    267.    _AX=0;
    268.    geninterrupt(0x33);
    269.    return(_AX);
    270. }
    271.  
    272. /*----------------------------------------------------------------------*/
    273.  
    274. void Khoi_dong_mouse(void)
    275. {
    276.    _AX=1;
    277.    geninterrupt(0x33);
    278. }
    279.  
    280. /*----------------------------------------------------------------------*/
    281.  
    282. void Thoat_mouse(void)
    283. {
    284.    _AX=2;
    285.    geninterrupt(0x33);
    286. }
    287.  
    288. /*----------------------------------------------------------------------*/
    289.  
    290. void Trang_thai_mouse(MOUSE &mouse)
    291. {
    292.    _AX=3;
    293.    geninterrupt(0x33);
    294.    mouse.mouse_trang_thai=_BX;
    295.    mouse.mouse_x=_CX;
    296.    mouse.mouse_y=_DX;
    297. }   /* Trang_thai_mouse */
    298.  
    299. /*----------------------------------------------------------------------*/
    300.  
    301. void Chieu_doc_mouse(int xmin, int xmax)
    302. {
    303.    _AX=7;
    304.    _CX=xmin;
    305.    _DX=xmax;
    306.    geninterrupt(0x33);
    307. }
    308.  
    309. /*----------------------------------------------------------------------*/
    310.  
    311. void Chieu_ngang_mouse(int ymin, int ymax)
    312. {
    313.    _AX=8;
    314.    _CX=ymin;
    315.    _DX=ymax;
    316.    geninterrupt(0x33);
    317. }   /* Chieu_ngang_mouse */
    318. #define YES 1
    319. #define NO  0
    320.  
    321. #define dx 15       /* X pixels by square */
    322. #define dx 15       /* Y pixels by square */
    323.  
    324. #define DEFI_dong 30    /* Default number of squares */
    325. #define DEFI_cot 28
    326.  
    327. #define MINE 255-'0'    /* So that when it prints, it prints char 0xff */
    328.  
    329. #define STSQUARE struct PHAN_TU
    330.  
    331. STSQUARE {
    332.    unsigned char trang_thai_phantu;     /* Number of mines in the surround squares */
    333.    unsigned char open;  /* Square is open */
    334.    unsigned char press; /* Square is pressed */
    335.    unsigned char mark;  /* Square is marked */
    336. } *phan_tu;
    337.  
    338. #define DEFINE_Trang_thai(x,y)   (phan_tu+(x)*ti.cot_max+(y))->trang_thai_phantu
    339. #define DEFINE_Open(x,y)  (phan_tu+(x)*ti.cot_max+(y))->open
    340. #define DEFINE_Press(x,y) (phan_tu+(x)*ti.cot_max+(y))->press
    341. #define DEFINE_Mark(x,y)  (phan_tu+(x)*ti.cot_max+(y))->mark
    342. struct Ti
    343. {
    344.     int toa_do_x_tren,  /* Offset of first pixel X */
    345.         toa_do_y_tren,
    346.         dong_max,   /* Number of squares in X */
    347.         cot_max,
    348.         so_mine,    /* Mines discovered */
    349.         initmines,  /* Number of initial mines */
    350.         sqclosed,   /* Squares still closed */
    351.         maxy;   /* Max. number of y pixels of the screen */
    352. };
    353. void Graph_init(void);
    354. void Read_(Ti &ti);
    355. void Set_mines(Ti &ti,int nminas);
    356. void Set_square(Ti ti,int x, int y, int status);
    357. void Mouse_set(Ti ti);
    358. void Draw_squares(Ti ti);
    359. int  Do_all(Ti &ti,MOUSE &mouse);
    360. void Blow_up(Ti ti);
    361. void Open_square(Ti ti,int x, int y);
    362. int  Open_near_squares(Ti ti,int x, int y);
    363. /*********************************************************************/
    364. void About_me()
    365. {       cleardevice();
    366.     settextstyle(2,HORIZ_DIR,5);
    367.     outtextxy(100,100,"Tang cac ban 27/03/2004");
    368.     setcolor(12);
    369.     outtextxy(20,200,"Chuong trinh nay, Pha xin tang rieng cho:");
    370.     setcolor(11);
    371.     outtextxy(50,210,"Cac ban tren forum: is-edu.");
    372.     setcolor(12);
    373.     outtextxy(70,220,"Chuc cac ban mot nam moi vui ve.");
    374.     setcolor(15);
    375.     outtextxy(200,300,"Luu Huynh Chau Pha 03CT1C");
    376.     getch();
    377. }
    378. /***************** Main Function. *******************************************************/
    379. void main(void)
    380. {       int flag=0;
    381.     if (!mouse_reset())
    382.     {
    383.     cputs(" ERROR: Minh khong tim thay thiet bi chuot trong may ban.\r\n");
    384.     exit(2);
    385.     }
    386.     Initgraph();
    387.     do
    388.     {
    389.  
    390.     if(flag==1) Start();
    391.     if(flag==3) About_me();
    392.     }while( (flag=Menu())!=2 );
    393.     Closegraph();
    394. }
    395. /******************************************************/
    396. int Start()
    397. {       MOUSE mouse;
    398.     Ti ti;
    399.     Read_(ti);
    400.     Mouse_set(ti);
    401.     do {
    402.         randomize();
    403.         cleardevice();
    404.         Set_mines(ti,ti.so_mine=ti.initmines);
    405.         Khoi_dong_mouse();
    406.         Draw_squares(ti);
    407.     }
    408.    while (Do_all(ti,mouse) != '\x1b');
    409.    delete [] phan_tu;
    410.    return 0;
    411. }
    412.  
    413. /*----------------------------------------------------------------------*/
    414.  
    415. void Read_(Ti &ti)
    416. {
    417.    int x, y, m;
    418.    cleardevice();
    419.    setfillstyle(SOLID_FILL,LIGHTGRAY);
    420.    settextjustify(LEFT_TEXT,CENTER_TEXT);
    421.    x=y=m=0;
    422.    ti.maxy=getmaxy();
    423.    ti.toa_do_x_tren=100;
    424.    ti.dong_max=DEFI_dong;
    425.    if (ti.maxy==479) {
    426.       ti.toa_do_y_tren=30;
    427.       ti.cot_max=DEFI_cot;
    428.    }
    429.    else {
    430.       ti.toa_do_y_tren=25;
    431.       ti.cot_max=20;
    432.    }
    433.    if (x>0 && x<ti.dong_max)
    434.       ti.dong_max=x;
    435.    if (y>0 && y<ti.cot_max) {
    436.       ti.toa_do_y_tren+=((ti.cot_max-y)*dx)>>1;
    437.       ti.cot_max=y;
    438.    }
    439.    ti.initmines= m ? m : ti.dong_max*ti.cot_max*4/25;   /* There are about 16% of mines */
    440.    if ((phan_tu=new PHAN_TU[ti.dong_max*ti.cot_max])==NULL) {
    441.       closegraph();
    442.       cputs("ERROR: Not enought memory");
    443.       exit(3);
    444.    }
    445. }   /* Read_param */
    446.  
    447. /*----------------------------------------------------------------------*/
    448.  
    449. void Set_mines(Ti &ti,int nminas)
    450. {
    451.    STSQUARE *p;
    452.    int i, x, y, a, b;
    453.  
    454.    ti.sqclosed=ti.dong_max*ti.cot_max-nminas;
    455.    p=phan_tu;
    456.    for (i=(ti.dong_max)*(ti.cot_max); i>0; i--, p++)
    457.       p->trang_thai_phantu = p->open = p->press = p->mark = NO;
    458.  
    459.    for (i=nminas; i>0; i--)
    460.    {
    461.       while (DEFINE_Trang_thai(x=random(ti.dong_max), y=random(ti.cot_max)) == MINE);
    462.       DEFINE_Trang_thai(x,y)=MINE;
    463.    }
    464.    for(x=0;x<ti.dong_max;x++)
    465.     for(y=0;y<ti.cot_max;y++)
    466.     {   if(DEFINE_Trang_thai(x,y)==MINE)
    467.         {   a=x-1;
    468.             b=y-1;
    469.             if(a>=0&&b>=0&&a<ti.dong_max&&b<ti.cot_max&&DEFINE_Trang_thai(a,b)!=MINE)
    470.                 DEFINE_Trang_thai(a,b)+=1;
    471.             b=y;
    472.             if(a>=0&&b>=0&&a<ti.dong_max&&b<ti.cot_max&&DEFINE_Trang_thai(a,b)!=MINE)
    473.                 DEFINE_Trang_thai(a,b)+=1;
    474.             b=y+1;
    475.             if(a>=0&&b>=0&&a<ti.dong_max&&b<ti.cot_max&&DEFINE_Trang_thai(a,b)!=MINE)
    476.                 DEFINE_Trang_thai(a,b)+=1;
    477.             a=x;
    478.             b=y-1;
    479.             if(a>=0&&b>=0&&a<ti.dong_max&&b<ti.cot_max&&DEFINE_Trang_thai(a,b)!=MINE)
    480.                 DEFINE_Trang_thai(a,b)+=1;
    481.             a=x;
    482.             b=y+1;
    483.             if(a>=0&&b>=0&&a<ti.dong_max&&b<ti.cot_max&&DEFINE_Trang_thai(a,b)!=MINE)
    484.                 DEFINE_Trang_thai(a,b)+=1;
    485.             a=x+1;
    486.             b=y-1;
    487.             if(a>=0&&b>=0&&a<ti.dong_max&&b<ti.cot_max&&DEFINE_Trang_thai(a,b)!=MINE)
    488.                 DEFINE_Trang_thai(a,b)+=1;
    489.             b=y;
    490.             if(a>=0&&b>=0&&a<ti.dong_max&&b<ti.cot_max&&DEFINE_Trang_thai(a,b)!=MINE)
    491.                 DEFINE_Trang_thai(a,b)+=1;
    492.             b=y+1;
    493.             if(a>=0&&b>=0&&a<ti.dong_max&&b<ti.cot_max&&DEFINE_Trang_thai(a,b)!=MINE)
    494.                 DEFINE_Trang_thai(a,b)+=1;
    495.         }
    496.     }
    497. }   /* Set_mines */
    498.  
    499. /*----------------------------------------------------------------------*/
    500.  
    501. /*
    502.    If status=1 then draw the square up, if it's 0 then draw it down
    503. */
    504. void Set_square(Ti ti,int x, int y, int status)
    505. {
    506.    int x_left, x_right, y_top, y_bottom;
    507.  
    508.    Thoat_mouse();
    509.    x_left=ti.toa_do_x_tren+dx*x;
    510.    x_right=x_left+dx-1;
    511.    y_top=ti.toa_do_y_tren+dx*y;
    512.    y_bottom=y_top+dx-1;
    513.  
    514.    setfillstyle(SOLID_FILL, LIGHTGRAY);
    515.    bar(x_left, y_top, x_right, y_bottom);
    516.    if (status) {
    517.       setcolor(WHITE);
    518.       line(x_left,y_top,x_left,y_bottom-1);
    519.       line(x_left,y_top,x_right-1,y_top);
    520.       setcolor(DARKGRAY);
    521.       line(x_right,y_bottom,x_left,y_bottom);
    522.       line(x_right,y_bottom,x_right,y_top);
    523.       switch (DEFINE_Mark(x,y)) {
    524.      case 2 : setfillstyle(SOLID_FILL, LIGHTBLUE);
    525.           setcolor(LIGHTBLUE);
    526.           break;
    527.      case 1 : setfillstyle(SOLID_FILL, LIGHTRED);
    528.           setcolor(LIGHTRED);
    529.           break;
    530.      default: setcolor(LIGHTGRAY);
    531.       }
    532.       fillellipse(ti.toa_do_x_tren+dx*x+dx/2, ti.toa_do_y_tren+dx*y+dx/2, 3, 3);
    533.       switch (DEFINE_Mark(x,y)) {
    534.      case 2 :
    535.      case 1 : setfillstyle(SOLID_FILL, YELLOW);
    536.           setcolor(YELLOW);
    537.           fillellipse(ti.toa_do_x_tren+dx*x+dx/2,ti.toa_do_y_tren+dx*y+dx/2, 1, 1);
    538.       }
    539.    }
    540.    else {
    541.       ti.sqclosed--;
    542.       setcolor(RED);
    543.       line(x_left,y_top,x_left,y_bottom);
    544.       line(x_left,y_top,x_right,y_top);
    545.    }
    546.    Khoi_dong_mouse();
    547. }   /* Set_square */
    548.  
    549. /*----------------------------------------------------------------------*/
    550.  
    551. void Mouse_set(Ti ti)
    552. {
    553.    Chieu_doc_mouse(ti.toa_do_x_tren, ti.toa_do_x_tren+dx*ti.dong_max-3);
    554.    Chieu_ngang_mouse(ti.toa_do_y_tren, ti.toa_do_y_tren+dx*ti.cot_max-3);
    555. }   /* Mouse_set */
    556.  
    557. /*----------------------------------------------------------------------*/
    558.  
    559. void Draw_squares(Ti ti)
    560. {
    561.     int x, y;
    562.     Thoat_mouse();
    563.  
    564.     setcolor(15);
    565.     setfillstyle(3,1);
    566.     bar(0,0,getmaxx(),getmaxy());
    567.     setfillstyle(2,14);
    568.     bar(0,getmaxy()-15,getmaxx(),getmaxy());
    569.     outtextxy(20,20,"Luu Huynh Chau Pha 03CT1C...Ngay lam xong: 23/01/2004");
    570.     setcolor(15);
    571.     outtextxy(getmaxx()-300,getmaxy()-23,"Chuc cac ban nam moi vui ve..2004");
    572.  
    573.    for (x=0; x<ti.dong_max; x++)
    574.       for (y=0; y<ti.cot_max; y++)
    575.      Set_square(ti,x,y,1);
    576.    Khoi_dong_mouse();
    577. }   /* Draw_squares */
    578.  
    579. /*----------------------------------------------------------------------*/
    580.  
    581. /*
    582.    Here we do all the job
    583. */
    584. int Do_all(Ti &ti,MOUSE &mouse)
    585. {
    586.    int x, y, xant=-1, yant, mlstant, mrstant, cminasant=0, ttrans, tant=0;
    587.    long tst, tact;
    588.    char str[] ="xxxxx: 0000",
    589.     blk[] ="ÛÛÛÛÛÛÛÛÛÛÛ";
    590.  
    591.    Khoi_dong_mouse();
    592.    time(&tst);
    593.    while (!kbhit()) {
    594.       if (!ti.sqclosed && !mouse.mouse_trang_thai) {        /* All mines discovered */
    595.      settextjustify(LEFT_TEXT, CENTER_TEXT);
    596.      setcolor(BLACK);
    597.      outtextxy(0, ti.maxy/2-10, blk);
    598.      sprintf(str,"Mines:    0");
    599.      setcolor(LIGHTRED);
    600.      outtextxy(0, ti.maxy/2-10, str);
    601.      settextjustify(LEFT_TEXT, CENTER_TEXT);
    602.      setcolor(BLACK);
    603.      outtextxy(0, ti.maxy/2+10, blk);
    604.      sprintf(str," Time: %4d",ttrans);
    605.      setcolor(LIGHTGREEN);
    606.      outtextxy(0, ti.maxy/2+10, str);
    607.      for (x=ti.dong_max-1; x>=0; x--)
    608.         for (y=ti.cot_max-1; y>=0; y--)
    609.            if (DEFINE_Trang_thai(x,y)==MINE) {
    610.           DEFINE_Mark(x,y)=1;
    611.           Set_square(ti,x,y,1);
    612.            }
    613.      break;
    614.       }
    615.       if (cminasant != ti.so_mine) {        /* Update Mines: */
    616.      cminasant=ti.so_mine;
    617.      settextjustify(LEFT_TEXT, CENTER_TEXT);
    618.      setcolor(BLACK);
    619.      outtextxy(0, ti.maxy/2-10, blk);
    620.      sprintf(str,"Mines: %4d",ti.so_mine);
    621.      setcolor(LIGHTRED);
    622.      outtextxy(0, ti.maxy/2-10, str);
    623.       }
    624.       if (tant != (ttrans=(int)(time(&tact)-tst))) {    /* Update Time: */
    625.      tant=ttrans;
    626.      settextjustify(LEFT_TEXT, CENTER_TEXT);
    627.      setcolor(BLACK);
    628.      outtextxy(0, ti.maxy/2+10, blk);
    629.      sprintf(str," Time: %4d",ttrans);
    630.      setcolor(LIGHTRED);
    631.      outtextxy(0, ti.maxy/2+10, str);
    632.       }
    633.       Trang_thai_mouse(mouse);
    634.       mouse.mouse_trang_thai&=3;
    635.       x=(mouse.mouse_x-ti.toa_do_x_tren)/dx;
    636.       y=(mouse.mouse_y-ti.toa_do_y_tren)/dx;
    637.       if (xant == -1) {
    638.      xant=x;
    639.      yant=y;
    640.       }
    641.       if (x!=xant || y!=yant) {             /* Position change */
    642.      if (DEFINE_Press(xant,yant) && !DEFINE_Open(xant,yant)) {
    643.         DEFINE_Press(xant,yant)=NO;
    644.         Set_square(ti,xant,yant,1);
    645.      }
    646.      xant=x;
    647.      yant=y;
    648.       }
    649.       if (!mouse.mouse_trang_thai)
    650.      mlstant=mrstant=0;
    651.       if ((mouse.mouse_trang_thai == 2) &&
    652.        !DEFINE_Open(x,y)       &&
    653.        mlstant!=mouse.mouse_trang_thai) {   /* Right button pressed */
    654.      mlstant=mouse.mouse_trang_thai;
    655.      Thoat_mouse();
    656.      switch (DEFINE_Mark(x,y)=(DEFINE_Mark(x,y)+1) % 3) {
    657.         case 1 : ti.so_mine--; break;
    658.         case 2 : ti.so_mine++;
    659.      }
    660.      Set_square(ti,x,y,1);
    661.      Khoi_dong_mouse();
    662.       }
    663.       else if (mouse.mouse_trang_thai==1 && /* Left button pressed */
    664.            !DEFINE_Open(x,y)    &&
    665.            !DEFINE_Press(x,y)   &&  /* And square not pressed */
    666.            DEFINE_Mark(x,y)!=1) {
    667.      DEFINE_Press(x,y)=YES;
    668.      Set_square(ti,x,y,0);
    669.       }
    670.       else if (!mouse.mouse_trang_thai &&       /* Left button released */
    671.            !DEFINE_Open(x,y)  &&
    672.            DEFINE_Press(x,y)  &&
    673.            DEFINE_Mark(x,y)!=1) {       /* Open the square */
    674.      if (DEFINE_Trang_thai(x,y) == MINE) {
    675.         Blow_up(ti);
    676.         break;
    677.      }
    678.      else
    679.         Open_square(ti,x,y);
    680.       }
    681.       else if (mouse.mouse_trang_thai==3 &&
    682.            DEFINE_Open(x,y)     &&
    683.            mrstant!=mouse.mouse_trang_thai) {   /* Open near squares */
    684.      mrstant=mouse.mouse_trang_thai;
    685.      if (Open_near_squares(ti,x,y) == YES) {
    686.         Blow_up(ti);
    687.         break;
    688.      }
    689.       }
    690.    }
    691.    Thoat_mouse();
    692.    return (getch());
    693. }   /* Do_all */
    694.  
    695. /*----------------------------------------------------------------------*/
    696.  
    697. void Blow_up(Ti ti)
    698. {
    699.    int x, y, x_left, y_top, x_right, y_bottom;
    700.  
    701.    Thoat_mouse();
    702.    for (x=0; x<ti.dong_max; x++) {
    703.       for (y=0; y<ti.cot_max; y++) {
    704.      if (DEFINE_Trang_thai(x,y) == MINE) {
    705.         settextjustify(CENTER_TEXT, CENTER_TEXT);
    706.         setcolor(CYAN);
    707.         outtextxy(ti.toa_do_x_tren+dx*x+dx/2-1, ti.toa_do_y_tren+dx*y+dx/2, "Û");
    708.         setcolor(BLACK);
    709.         outtextxy(ti.toa_do_x_tren+dx*x+dx/2, ti.toa_do_y_tren+dx*y+dx/2+1, "*");
    710.      }
    711.      else if (DEFINE_Mark(x,y)==1) {
    712.         setcolor(YELLOW);
    713.         x_left=ti.toa_do_x_tren+dx*x;
    714.         x_right=x_left+dx-1;
    715.         y_top=ti.toa_do_y_tren+dx*y;
    716.         y_bottom=y_top+dx-1;
    717.         line(x_left,y_top,x_right,y_bottom);
    718.         line(x_left,y_bottom,x_right,y_top);
    719.      }
    720.       }
    721.    }
    722. }   /* Blow_up */
    723.  
    724. /*----------------------------------------------------------------------*/
    725.  
    726. void Open_square(Ti ti,int x, int y)
    727. {
    728.    char num[2]="0";
    729.    int a, b, c;
    730.  
    731.    DEFINE_Open(x,y)=YES;
    732.    if ((num[0]=DEFINE_Trang_thai(x,y)) != 0) {
    733.       num[0]+='0';
    734.       switch(num[0]) {
    735.      case '1' : c=LIGHTBLUE; break;
    736.      case '2' : c=LIGHTGREEN; break;
    737.      case '3' : c=YELLOW; break;
    738.      case '4' : c=LIGHTRED; break;
    739.      default  : c=LIGHTMAGENTA;
    740.       }
    741.       Thoat_mouse();
    742.       setcolor(c);
    743.       settextjustify(CENTER_TEXT, CENTER_TEXT);
    744.       outtextxy(ti.toa_do_x_tren+dx*x+dx/2, ti.toa_do_y_tren+dx*y+dx/2+1, num);
    745.       Khoi_dong_mouse();
    746.    }
    747.    else {       /* Open near squares if the current number is 0 */
    748.       a=x-1;
    749.       b=y-1;
    750.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    751.      Set_square(ti,a,b,0);
    752.      Open_square(ti,a,b);
    753.       }
    754.       a++;
    755.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    756.      Set_square(ti,a,b,0);
    757.      Open_square(ti,a,b);
    758.       }
    759.       a++;
    760.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    761.      Set_square(ti,a,b,0);
    762.      Open_square(ti,a,b);
    763.       }
    764.       b++;
    765.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    766.      Set_square(ti,a,b,0);
    767.      Open_square(ti,a,b);
    768.       }
    769.       a-=2;
    770.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    771.      Set_square(ti,a,b,0);
    772.      Open_square(ti,a,b);
    773.       }
    774.       b++;
    775.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    776.      Set_square(ti,a,b,0);
    777.      Open_square(ti,a,b);
    778.       }
    779.       a++;
    780.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    781.      Set_square(ti,a,b,0);
    782.      Open_square(ti,a,b);
    783.       }
    784.       a++;
    785.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    786.      Set_square(ti,a,b,0);
    787.      Open_square(ti,a,b);
    788.       }
    789.    }
    790. }   /* Open_square */
    791.  
    792. /*----------------------------------------------------------------------*/
    793.  
    794. /*
    795.    Open the sorrounded squares. Returns != 0 if I activated a mine
    796. */
    797. int Open_near_squares(Ti ti,int x, int y)
    798. {
    799.    int a, b, suma=0;
    800.  
    801.    a=x-1;
    802.    b=y-1;
    803.    if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && DEFINE_Mark(a,b)==1)
    804.       suma++;
    805.    a++;
    806.    if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && DEFINE_Mark(a,b)==1)
    807.       suma++;
    808.    a++;
    809.    if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && DEFINE_Mark(a,b)==1)
    810.       suma++;
    811.    b++;
    812.    if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && DEFINE_Mark(a,b)==1)
    813.       suma++;
    814.    a-=2;
    815.    if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && DEFINE_Mark(a,b)==1)
    816.       suma++;
    817.    b++;
    818.    if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && DEFINE_Mark(a,b)==1)
    819.       suma++;
    820.    a++;
    821.    if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && DEFINE_Mark(a,b)==1)
    822.       suma++;
    823.    a++;
    824.    if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && DEFINE_Mark(a,b)==1)
    825.       suma++;
    826.    if (suma == DEFINE_Trang_thai(x,y)) {
    827.       suma=0;
    828.       a=x-1;
    829.       b=y-1;
    830.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    831.      suma|=(DEFINE_Trang_thai(a,b)==MINE);
    832.      Set_square(ti,a,b,0);
    833.      Open_square(ti,a,b);
    834.       }
    835.       a++;
    836.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    837.      suma|=(DEFINE_Trang_thai(a,b)==MINE);
    838.      Set_square(ti,a,b,0);
    839.      Open_square(ti,a,b);
    840.       }
    841.       a++;
    842.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    843.      suma|=(DEFINE_Trang_thai(a,b)==MINE);
    844.      Set_square(ti,a,b,0);
    845.      Open_square(ti,a,b);
    846.       }
    847.       b++;
    848.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    849.      suma|=(DEFINE_Trang_thai(a,b)==MINE);
    850.      Set_square(ti,a,b,0);
    851.      Open_square(ti,a,b);
    852.       }
    853.       a-=2;
    854.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    855.      suma|=(DEFINE_Trang_thai(a,b)==MINE);
    856.      Set_square(ti,a,b,0);
    857.      Open_square(ti,a,b);
    858.       }
    859.       b++;
    860.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    861.      suma|=(DEFINE_Trang_thai(a,b)==MINE);
    862.      Set_square(ti,a,b,0);
    863.      Open_square(ti,a,b);
    864.       }
    865.       a++;
    866.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    867.      suma|=(DEFINE_Trang_thai(a,b)==MINE);
    868.      Set_square(ti,a,b,0);
    869.      Open_square(ti,a,b);
    870.       }
    871.       a++;
    872.       if (a>=0 && b>=0 && a<ti.dong_max && b<ti.cot_max && !DEFINE_Open(a,b) && DEFINE_Mark(a,b)!=1) {
    873.      suma|=(DEFINE_Trang_thai(a,b)==MINE);
    874.      Set_square(ti,a,b,0);
    875.      Open_square(ti,a,b);
    876.       }
    877.       return (suma);
    878.    }
    879.    else
    880.       return 0;
    881. }   /* Open_near_squares */

  5. #5
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mặc định Hiển thị thông tin BIOS trong lập trình C

    Hiển thị thông tin bios

    C Code:
    1. #include <dos.h>
    2. #include <mem.h>
    3.  
    4. unsigned char far *rom = MK_FP(0xFFFF, 0);
    5.  
    6. void main()
    7. {
    8.   char date[9], c[256];
    9.   int i, len;
    10.  
    11.   for (i=0; i<8; i++)
    12.     date[i] = rom[5+i];
    13.  
    14.   date[8] = 0;
    15.  
    16.   printf("\n\n\nThong tin ve BIOS");
    17.   printf("\nNgay san xuat : %s", date);
    18.  
    19.   if (rom[14] == 0xFC)
    20.     printf("\nKieu may      : AT");
    21.  
    22.   rom = MK_FP(0xF000, 0xE060);
    23.   len = rom[0];
    24.  
    25.   for (i=0; i<len; i++)
    26.     c[i] = rom[i+1];
    27.  
    28.   printf("\nManufacturer  : %s", c);
    29.   getch();
    30.  
    31. }

  6. #6
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mặc định Code mã đi tuần viết bằng C

    Mã đi tuần

    C Code:
    1. #include<conio.h>
    2. #include<stdio.h>
    3. #include<stdlib.h>
    4. #include<dos.h>
    5. #define min(a,b) a<b?a:b
    6.  
    7. int x[8]={1,2,2,1,-1,-2,-2,-1};
    8. int y[8]={-2,-1,1,2,2,1,-1,-2};
    9. int l=1;
    10. int matran[8][8]={0};
    11.  
    12. int ktdung()
    13. {
    14.      for(int i=0;i<8;i++)
    15.     for(int j=0;j<8;j++)
    16.        if(matran[i][j]==0)
    17.            return 1;//con o chua di qua
    18.       return 0;//di qua tat ca cac o
    19. }
    20.  
    21. int demvitrike(int i,int j)
    22. {
    23.    int dem=0;
    24.    for(int k=0;k<8;k++)
    25.      {
    26.     int p=x[k];
    27.     int q=y[k];
    28.     if(matran[i+p][j+q]==0&&
    29.        i+p>=0&&i+p<8&&j+q>=0&&j+q<8)
    30.      dem++;
    31.      }
    32.    return dem;
    33. }
    34.  
    35. void vitrike(int d1,int c1,int &d2,int &c2)
    36. {
    37.      int t=8;
    38.      d2=c2=-1;
    39.      for(int k=0;k<8;k++)
    40.        if(matran[d1+x[k]][c1+y[k]]==0&&
    41.       d1+x[k]>=0&& d1+x[k]<8&&c1+y[k]>=0&&c1+y[k]<8)
    42.  
    43.      {
    44.     int p=x[k];
    45.     int q=y[k];
    46.     int dem=demvitrike(d1+p,c1+q);
    47.     if(dem<t)
    48.     {
    49.        t=dem;
    50.        d2=d1+p;
    51.        c2=c1+q;
    52.     }
    53.  
    54.      }
    55.  
    56.     if(d2==-1||c2==-1)//khong co duong di
    57.      {
    58.     printf("khong con duong di");
    59.     getch();
    60.     exit(0);
    61.      }
    62.     matran[d2][c2]=l++;
    63. }
    64.  
    65. void vengang(int x,int y,int nx,int dx,unsigned char *bokt)
    66. {
    67.    gotoxy(x,y);
    68.    putch(bokt[0]);
    69.       for(int i=0;i<nx;i++)
    70.       {
    71.     for(int j=1;j<dx;j++)
    72.        putch(bokt[1]);
    73.         if(i<nx-1)
    74.           putch(bokt[2]);
    75.         else
    76.           putch(bokt[3]);
    77.       }
    78. }
    79.  
    80. void vedoc(int x,int y,int dy,unsigned char *kt)
    81. {
    82.  
    83.     for(int i=1;i<dy;i++)
    84.      {  gotoxy(x,y+i);   putch(kt[0]);}
    85. }
    86.  
    87. void oluoi(int x,int y,int nx,int ny, int dx,int dy,unsigned char *bokt)
    88. {
    89.  vengang(x,y,nx,dx,bokt);
    90.        for(int i=1;i<ny;i++)
    91.        vengang(x,y+i*dy,nx,dx,& bokt[4]);
    92.     vengang(x,y+ny*dy,nx,dx,& bokt[8]);
    93.  
    94. }
    95.  
    96. void oluoidoc(int x,int y,int nx,int ny, int dx,int dy,unsigned char *kt)
    97. {
    98.  
    99. for(int j=0;j<ny;j++)
    100.   for(int i=0;i<=nx;i++)
    101.      vedoc(x+i*dx,y+j*dy,dy,kt);
    102.  
    103. }
    104.  
    105. void main()
    106. {
    107.     clrscr();
    108.     unsigned char bokt[]={"ÚÄ¿ÃÄÅ´ÀÄÁÙ"};
    109.     unsigned char kt[]={"³"};
    110.  
    111.     int x1=1,y1=1,nx=8,ny=8,dx=8,dy=6;
    112.   oluoi(x1,y1,nx,ny,dx,dy,bokt);
    113.   oluoidoc(x1,y1,nx,ny,dx,dy,kt);
    114.     int d1=1;//dong bat dau
    115.     int c1=1;//cot bat dau
    116.     int d2,c2;
    117.  
    118.     matran[d1][c1]=l++;
    119.     gotoxy(x1+c1*dx+2,y1+d1*dy+2);
    120.     textcolor(15);
    121.     cprintf("%d",matran[d1][c1]);
    122.     while(ktdung()==1)
    123.     {
    124.        textcolor(GREEN);
    125.        vitrike(d1,c1,d2,c2);
    126.        gotoxy(x1+c2*dx+2,y1+d2*dy+2);
    127.        cprintf("horse");
    128.        delay(50);
    129.        gotoxy(x1+c2*dx+2,y1+d2*dy+2);
    130.        printf("     ");
    131.        gotoxy(x1+c2*dx+2,y1+d2*dy+2);
    132.        textcolor(RED);
    133.        cprintf("%d",matran[d2][c2]);
    134.        d1=d2;
    135.        c1=c2;
    136.     }
    137.    getch();
    138. }

  7. #7
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mặc định Park - Đầu Đọc Đĩa Cứng viết bằng C

    Park Đầu Đọc Đĩa Cứng

    C Code:
    1. #include <stdio.h>
    2. #include <dos.h>
    3.  
    4. void main()
    5. {
    6.   int cyl;
    7.   union REGS srv;
    8.  
    9.   srv.x.ax = 0x0800;
    10.   srv.x.dx = 0x0080;
    11.  
    12.   /* Lay thong so tu o dia cung */
    13.  
    14.   if (int86 ( 0x13, &srv, &srv ) & 1 )
    15.     abort ("\nKhong lay duoc tham so dia");
    16.  
    17.   srv.x.ax = 0x0c00;
    18.   cyl = ((srv.x.cx & 0x00c0)&lt;<2) | ((srv.x.cx & 0xff00)&gt;>8);
    19.   srv.x.dx = 0x0080;
    20.  
    21.   if (int86 ( 0x13, &srv, &srv ) & 1 )
    22.     abort ("\nError = %02xh\n", (srv.x.ax & 0xff00)&gt;>8);
    23.   else
    24.     printf("Dau doc dia C da nam tai cylinder %d\n", cyl);
    25. }

  8. #8
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mặc định Binball trong text mode viết bằng C

    Binball trong text mode

    C Code:
    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include <dos.h>
    4.  
    5. char far *video = MK_FP(0xB800, 0);
    6.  
    7. void writechar(int x, int y, char c)
    8. {  video[y*160+x*2] = c; }
    9.  
    10. void main()
    11. {
    12.   int xball, yball, dx, dy;
    13.   textattr(0x1E);
    14.   clrscr();
    15.   randomize();
    16.   xball = random(80);
    17.   yball = random(25);
    18.  
    19.   do {
    20.     dx = random(3) - 1;
    21.   } while (dx == 0);
    22.  
    23.   do {
    24.     dy = random(3) - 1;
    25.   } while (dy == 0);
    26.  
    27.   do {
    28.     writechar(xball, yball, 4);
    29.     delay(100);
    30.     writechar(xball, yball, 32);
    31.     xball += dx;
    32.     yball += dy;
    33.  
    34.     if (xball <= 0 || xball >=79)
    35.       dx = -dx;
    36.  
    37.     if (yball <= 0 || yball >=24)
    38.       dy = -dy;
    39.  
    40.   } while (!kbhit());
    41.  
    42. }

  9. #9
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mặc định Code game Sudoku viết bằng C

    Sudoku

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3.  
    4. void Giam(int &i,int &j)
    5. {
    6.     if (j==0)
    7.     {
    8.         i--;
    9.         j=8;
    10.     }
    11.     else
    12.         j-=1;
    13. }
    14.  
    15. int DuyetDaCo(int a[][9],int i,int j,int c[9])
    16. {
    17.     int k,l,m,n;
    18.     int b[]={1,2,3,4,5,6,7,8,9};
    19.     for (k=0;k<9;k++)
    20.         if (a[i][k])
    21.             b[a[i][k]-1]=0;
    22.     for (k=0;k<9;k++)
    23.         if (a[k][j])
    24.             b[a[k][j]-1]=0;
    25.     m=3*(i/3);n=3*(j/3);
    26.     for (k=m;k<m+3;k++)
    27.         for (l=n;l<n+3;l++)
    28.             if (a[k][l])
    29.                 b[a[k][l]-1]=0;
    30.     l=0;
    31.     for (k=0;k<9;k++)
    32.         if (b[k])
    33.             c[l++]=b[k];
    34.     return l;
    35. }
    36.  
    37. int Sudoku(int a[][9])
    38. {
    39.     int b[9][9]={0};
    40.     int i,j;
    41.     for (i=0;i<9;i++)
    42.         for (j=0;j<9;j++)
    43.             if (a[i][j])
    44.                 b[i][j]=-1;
    45.     int c[9];
    46.     int k;
    47.     int Try=0;
    48.     for (i=0;i<9;i++)
    49.     {
    50.         for (j=0;j<9;j++)
    51.         {
    52.             if (i==-1)
    53.                 return 0;
    54.             if (b[i][j]!=-1)
    55.             {
    56.                 if (b[i][j])
    57.                 {
    58.                     a[i][j]=0;
    59.                     b[i][j]--;
    60.                 }
    61.                 k=DuyetDaCo(a,i,j,c);
    62.                 if (k)
    63.                 {
    64.                     if (!b[i][j])
    65.                         b[i][j]=k;
    66.                     a[i][j]=c[b[i][j]-1];
    67.                 }
    68.                 else
    69.                 {
    70.                     if(++Try==1000000)
    71.                         return 0;
    72.                 loop:
    73.                     do
    74.                         Giam(i,j);
    75.                     while (b[i][j]==-1);
    76.                     a[i][j]=0;
    77.                     if (b[i][j]==1)
    78.                     {
    79.                         b[i][j]=0;
    80.                         goto loop;
    81.                     }
    82.                     Giam(i,j);
    83.            
    84.                 }
    85.             }
    86.         }
    87.     }
    88.     return 1;
    89. }
    90.  
    91. void main(char **s,int n)
    92. {
    93.     int a[9][9]={
    94.         {2,0,0,0,0,0,3,0,0},
    95.         {0,1,0,3,0,0,0,5,0},
    96.         {0,3,0,0,0,0,8,0,0},
    97.         {0,8,0,0,0,6,0,0,1},
    98.         {1,0,0,2,0,0,0,0,9},
    99.         {0,0,0,0,0,0,0,4,0},
    100.         {0,4,0,0,0,0,7,0,0},
    101.         {0,0,0,6,0,5,0,0,0},
    102.         {0,0,8,0,0,0,6,1,0}};
    103.     int i,j;
    104.     if (Sudoku(a))
    105.         for (i=0;i<9;i++)
    106.         {
    107.             if (i%3==0)
    108.                 printf("\n");
    109.             for (j=0;j<9;j++)
    110.             {
    111.                 if (j%3==0)
    112.                     printf(" ");
    113.                 printf("%d ",a[i][j]);
    114.             }
    115.             printf("\n");
    116.         }
    117.     else
    118.         printf("Sorry!");
    119. }

  10. #10
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Mặc định Tìm kiếm 8 Hậu viết bằng C

    Tìm kiếm 8 Hậu

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3.  
    4.  
    5.  
    6. /* Ham binsearch la mot ham de qui, giup tim gia tri tren mang so a[]. Neu ham tra ve tri -1 la khong tim thay, neu ham tra ve tri khac -1 la tim thay tai vi tri la gia tri tra ve */
    7.  
    8. int binsearch(int a[], int dau, int cuoi, int giatri)
    9. {
    10.     int giua;
    11.     giua = (dau+cuoi)/2;
    12.  
    13.     // Dieu kien dung
    14.     if(dau > cuoi) // khong tim thay
    15.     return(-1);
    16.  
    17.     if(giatri == a[giua]) // tim thay tai vi tri giua
    18.     return(giua);
    19.  
    20.     // Buoc de qui
    21.     if(giatri < a[giua])
    22.     return(binsearch(a, dau, giua-1, giatri));
    23.     else
    24.     return(binsearch(a, giua+1, cuoi, giatri));
    25. }
    26.  
    27. void main()
    28. {
    29.     int i, a[10], giatri;
    30.     char c;
    31.  
    32.     clrscr();
    33.  
    34.     printf("\n***Tim kiem nhi phan***\n");
    35.     printf("\nHay nhap 10 so nguyen tu nho den lon: \n");
    36.  
    37.     for(i = 0; i < 10 ; i++)
    38.     scanf("%d", &a[i]);
    39.  
    40.     // in ra man hinh de kiem tra
    41.     printf("\nCac so ban da nhap la: \n");
    42.  
    43.     for(i = 0; i < 10 ; i++)
    44.     printf("[%d]:%d ", i+1, a[i]);
    45.  
    46.  
    47.     do
    48.     {
    49.         printf("\n\nNhap so can tim: ");
    50.         scanf("%d", &giatri);
    51.         i = binsearch(a, 0, 9, giatri); // i la vi tri tim thay
    52.  
    53.         if(i == -1) printf("Khong tim thay");
    54.         else printf("Tim thay tai vi tri %d", i);
    55.  
    56.         printf("\n\nTim nua khong? (c/k): ");
    57.  
    58.         c = getche();
    59.     } while(c == 'c' || c == 'C');
    60.  
    61. }

Các đề tài tương tự

  1. Thiết kế website với mã nguồn mở hay code tay
    Gửi bởi adcvn trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 1
    Bài viết cuối: 19-09-2014, 02:48 PM
  2. Thiết kế website với mã nguồn mở hay code tay
    Gửi bởi jav.tea trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 04-11-2013, 02:12 PM
  3. Website chia sẻ:Thư Viện Mã Nguồn Megacode
    Gửi bởi muachungaloha trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 30-08-2013, 11:06 AM
  4. Cột Mốc - Website chia sẻ về mã nguồn mở Wordpress
    Gửi bởi silver35 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 14-03-2013, 03:55 PM
  5. News, products project with MVC model | Mã nguồn website bằng ASP.NET
    Gửi bởi zstar trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 13
    Bài viết cuối: 16-09-2012, 04:05 PM

Quyền hạn của bạn

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