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ố code mở cho tất cả các bạn yêu thích đồ họa(dành cho C)

  1. #1
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Mặc định một số code mở cho tất cả các bạn yêu thích đồ họa(dành cho C)

    đây là code mô tả hình lửa cháy,các bạn cop về mà xem...hihiih
    C Code:
    1. /* Fire */
    2. #include <stdio.h>
    3. #include <stdlib.h>
    4. #include <conio.h>
    5.  
    6. char x_amt_1 = 0, x_amt_2 = 1, x_amt_3 = -1, x_amt_4 = 1, x_amt_5 = -1;
    7. char y_amt_1 = -1, y_amt_2 = 0, y_amt_3 = 0, y_amt_4 = 1, y_amt_5 = 1;
    8. int opt_decay_at = 2, opt_decay_by = 2;
    9. int pal_darkness = 2;
    10. int current[56][80], working[56][80];
    11.  
    12. unsigned char pal[768]={   0,  0,  0,  0,  0, 0,  0,  0, 24,  0,  0, 28,
    13.                0,  0, 32,  0,  0, 32,  0,  0, 36,  0,  0, 40,
    14.                8,  0, 40, 16,  0, 36, 24,  0, 36, 32,  0, 32,
    15.               40,  0, 28, 48,  0, 28, 56,  0, 24, 64,  0, 20,
    16.               72,  0, 20, 80,  0, 16, 88,  0, 16, 96,  0, 12,
    17.              104,  0,  8,112,  0,  8,120,  0,  4,128,  0,  0,
    18.              128,  0,  0,132,  0,  0,136,  0,  0,140,  0,  0,
    19.              144,  0,  0,144,  0,  0,148,  0,  0,152,  0,  0,
    20.              156,  0,  0,160,  0,  0,160,  0,  0,164,  0,  0,
    21.              168,  0,  0,172,  0,  0,176,  0,  0,180,  0,  0,
    22.              184,  4,  0,188,  4,  0,192,  8,  0,196,  8,  0,
    23.              200, 12,  0,204, 12,  0,208, 16,  0,212, 16,  0,
    24.              216, 20,  0,220, 20,  0,224, 24,  0,228, 24,  0,
    25.              232, 28,  0,236, 28,  0,240, 32,  0,244, 32,  0,
    26.              252, 36,  0,252, 36,  0,252, 40,  0,252, 40,  0,
    27.              252, 44,  0,252, 44,  0,252, 48,  0,252, 48,  0,
    28.              252, 52,  0,252, 52,  0,252, 56,  0,252, 56,  0,
    29.              252, 60,  0,252, 60,  0,252, 64,  0,252, 64,  0,
    30.              252, 68,  0,252, 68,  0,252, 72,  0,252, 72,  0,
    31.              252, 76,  0,252, 76,  0,252, 80,  0,252, 80,  0,
    32.              252, 84,  0,252, 84,  0,252, 88,  0,252, 88,  0,
    33.              252, 92,  0,252, 96,  0,252, 96,  0,252,100,  0,
    34.              252,100,  0,252,104,  0,252,104,  0,252,108,  0,
    35.              252,108,  0,252,112,  0,252,112,  0,252,116,  0,
    36.              252,116,  0,252,120,  0,252,120,  0,252,124,  0,
    37.              252,124,  0,252,128,  0,252,128,  0,252,132,  0,
    38.              252,132,  0,252,136,  0,252, 136,   0,252, 140,   0,
    39.              252, 140,   0,252, 144,   0,252, 144,   0,252, 148,   0,
    40.              252, 152,   0,252, 152,   0,252, 156,   0,252, 156,   0,
    41.              252, 160,   0,252, 160,   0,252, 164,   0,252, 164,   0,
    42.              252, 168,   0,252, 168,   0,252, 172,   0,252, 172,   0,
    43.              252, 176,   0,252, 176,   0,252, 180,   0,252, 180,   0,
    44.              252, 184,   0,252, 184,   0,252, 188,   0,252, 188,   0,
    45.              252, 192,   0,252, 192,   0,252, 196,   0,252, 196,   0,
    46.              252, 200,   0,252, 200,   0,252, 204,   0,252, 208,   0,
    47.              252, 208,   0,252, 208,   0,252, 208,   0,252, 208,   0,
    48.              252, 212,   0,252, 212,   0,252, 212,   0,252, 212,   0,
    49.              252, 216,   0,252, 216,   0,252, 216,   0,252, 216,   0,
    50.              252, 216,   0,252, 220,   0,252, 220,   0,252, 220,   0,
    51.              252, 220,   0,252, 224,   0,252, 224,   0,252, 224,   0,
    52.              252, 224,   0,252, 228,   0,252, 228,   0,252, 228,   0,
    53.              252, 228,   0,252, 228,   0,252, 232,   0,252, 232,   0,
    54.              252, 232,   0,252, 232,   0,252, 236,   0,252, 236,   0,
    55.              252, 236,   0,252, 236,   0,252, 240,   0,252, 240,   0,
    56.              252, 240,   0,252, 240,   0,252, 240,   0,252, 244,   0,
    57.              252, 244,   0,252, 244,   0,252, 244,   0,252, 248,   0,
    58.              252, 248,   0,252, 248,   0,252, 248,   0,252, 252,   0,
    59.              252, 252,   4,252, 252,   8,252, 252,  12,252, 252,  16,
    60.              252, 252,  20,252, 252,  24,252, 252,  28,252, 252,  32,
    61.              252, 252,  36,252, 252,  40,252, 252,  40,252, 252,  44,
    62.              252, 252,  48,252, 252,  52,252, 252,  56,252, 252,  60,
    63.              252, 252,  64,252, 252,  68,252, 252,  72,252, 252,  76,
    64.              252, 252,  80,252, 252,  84,252, 252,  84,252, 252,  88,
    65.              252, 252,  92,252, 252,  96,252, 252, 100,252, 252, 104,
    66.              252, 252, 108,252, 252, 112,252, 252, 116,252, 252, 120,
    67.              252, 252, 124,252, 252, 124,252, 252, 128,252, 252, 132,
    68.              252, 252, 136,252, 252, 140,252, 252, 144,252, 252, 148,
    69.              252, 252, 152,252, 252, 156,252, 252, 160,252, 252, 164,
    70.              252, 252, 168,252, 252, 168,252, 252, 172,252, 252, 176,
    71.              252, 252, 180,252, 252, 184,252, 252, 188,252, 252, 192,
    72.              252, 252, 196,252, 252, 200,252, 252, 204,252, 252, 208,
    73.              252, 252, 208,252, 252, 212,252, 252, 216,252, 252, 220,
    74.              252, 252, 224,252, 252, 228,252, 252, 232,252, 252, 236,
    75.              252, 252, 240,252, 252, 244,252, 252, 248,252, 252, 252};
    76.  
    77. void dump2con()
    78. {
    79.   _SI = (unsigned int)&current[0][0];
    80.   asm mov di,0
    81.   asm mov ax,0A000h
    82.   asm mov es,ax
    83.   asm mov cx,40*45
    84. XF1:
    85.   asm mov ax,ds:[si]
    86.   asm add si,2
    87.   asm mov dl,al
    88.   asm mov ax,ds:[si]
    89.   asm add si,2
    90.   asm mov dh,al
    91.   asm mov es:[di],dx
    92.   asm add di,2
    93.   asm dec cx
    94.   asm jnz XF1
    95. }
    96.  
    97. void flame()
    98. {
    99.   int delta=0,i=0,x=0,y=0;
    100.   int cl1=0,cl2=0,cl3=0,cl4=0,cl5=0,cl6=0;
    101.  
    102.   for(i=0;i<80;i++)
    103.   {
    104.     if(random(10) < 5)
    105.     {
    106.       delta=random(2)*255;
    107.     }
    108.     working[55][i]=delta;
    109.     working[56][i]=delta;
    110.   }
    111.  
    112.   for (y = 55; y >= 2; y--)
    113.   {
    114.     for (x = 1; x <= 79; x++)
    115.     {
    116.       cl1 = current[y + y_amt_1][x + x_amt_1];
    117.       cl2 = current[y + y_amt_2][x + x_amt_2];
    118.       cl3 = current[y + y_amt_3][x + x_amt_3];
    119.       cl4 = current[y + y_amt_4][x + x_amt_4];
    120.       cl5 = current[y + y_amt_5][x + x_amt_5];
    121.       cl6 = (cl1+cl2+cl3+cl4+cl5) /5;
    122.  
    123.       if (cl6 > opt_decay_at)
    124.         cl6 -= opt_decay_by;
    125.       working[y-1][x] = cl6;
    126.     }
    127.   }
    128.  
    129.   for (y =0; y <= 56; y++)
    130.   {
    131.     for (x = 0; x <= 80; x++)
    132.     {
    133.       current[y][x] = working[y][x];
    134.     }
    135.   }
    136.  
    137.   dump2con();
    138. }
    139.  
    140. void set_pal()
    141. {
    142.   int  i;
    143.  
    144.   for(i=0;i<768;i++)
    145.   {
    146.     pal[i] = pal[i] >> pal_darkness;
    147.   }
    148.  
    149.   _SI = (unsigned int)&pal[0];
    150.   asm mov cx,768
    151.   asm mov dx,0x03c8
    152.   asm xor al,al
    153.   asm out dx,al
    154.   asm inc dx
    155. l1:
    156.   asm lodsb
    157.   asm out dx, al
    158.   asm dec cx
    159.   asm jnz l1
    160. }
    161.  
    162.  
    163. void set_mx(void)
    164. {
    165.   asm CLD
    166.   asm MOV AX,13h
    167.   asm INT 10h
    168.   asm CLI
    169.   asm MOV DX,3c4h
    170.   asm MOV AX,604h
    171.   asm OUT DX,AX
    172.   asm MOV AX,0F02h
    173.   asm OUT DX,AX
    174.  
    175.   asm MOV DX,3D4h
    176.   asm MOV AX,14h
    177.   asm OUT DX,AX
    178.   asm MOV AX,0E317h
    179.   asm OUT DX,AX
    180.   asm MOV AL,9
    181.   asm OUT DX,AL
    182.   asm INC DX
    183.   asm IN  AL,DX
    184.   asm AND AL,0E0h
    185.   asm ADD AL,7
    186.   asm OUT DX,AL
    187. }
    188.  
    189.  
    190. void b4exit()
    191. {
    192.   asm mov ax,03h
    193.   asm int 10h
    194. }
    195.  
    196. void main()
    197. {
    198.   int x=0,y=0;
    199.   int ch = ' ';
    200.  
    201.   atexit(b4exit);
    202.   printf("\nFire Demo\nNhan phim bat ky de bat dau - ESC de ket thuc.");
    203.   getch();
    204.   set_mx();
    205.   randomize();
    206.   set_pal();
    207.  
    208.   for (y = 0; y <= 56; y++)
    209.   {
    210.     for (x = 0; x <= 80; x++)
    211.     {
    212.       current[y][x] = 0;
    213.       working[y][x] = 0;
    214.     }
    215.   }
    216.  
    217.   do
    218.   {
    219.     flame();
    220.     if(kbhit())
    221.     {
    222.       ch=getch();
    223.     }
    224.   } while (ch != 27);
    225. }

    còn đây là chương trình kiểm tra cái màn hình
    C Code:
    1. /* 256 Color */
    2. #include <stdio.h>
    3. #include <dos.h>
    4.  
    5. #define VIDEO_INT 0x10
    6.  
    7. typedef unsigned char BYTE;
    8.  
    9. BYTE far *video = (BYTE far*)MK_FP(0xA000, 0);
    10.  
    11. void setmode(int mode)
    12. {
    13.   asm {
    14.     mov ax, mode
    15.     int VIDEO_INT
    16.   }
    17. }
    18.  
    19. void setpixel(int row, int col, BYTE color)
    20. {
    21.    video[row*320+col] = color;
    22. }
    23.  
    24. void drawhscreen()
    25. {
    26.   int i, j;
    27.  
    28.   for (i=0; i<200; i++)
    29.     for (j=0; j<320; j++)
    30.       setpixel(i, j, i);
    31. }
    32.  
    33. void drawvscreen()
    34. {
    35.   int i, j;
    36.  
    37.   for (i=0; i<200; i++)
    38.     for (j=0; j<320; j++)
    39.       setpixel(i, j, j);
    40. }
    41.  
    42. void main()
    43. {
    44.   setmode(0x13);
    45.   drawhscreen();
    46.   getch();
    47.   drawvscreen();
    48.   getch();
    49.   setmode(3);
    50. }

    cuộn chữ
    C Code:
    1. /* Cuon dong chu ngang man hinh */
    2. #include <stdio.h>
    3.  
    4. void main()
    5. {
    6.   char qcao[81], i=0, len;
    7.  
    8.   textattr(0x1e);
    9.   printf("\nNhap vao dong quang cao : ");
    10.   gets(qcao);
    11.   len = strlen(qcao);
    12.   while (!kbhit())
    13.   {
    14.     movetext(2, 1, 80, 1, 1, 1);
    15.     gotoxy(80, 1);
    16.     cprintf("%c", qcao[i++]);
    17.     delay(100);
    18.     i %= len;
    19.   }
    20.   getch();
    21. }

  2. #2
    Ngày gia nhập
    03 2008
    Bài viết
    6

    hay quá cảm ơn nhiều nhá . THích thế

  3. #3
    Ngày gia nhập
    02 2008
    Bài viết
    3

    hay đấy...basic nhưng useful....try your best!!!!!!!!!!!!!!

    P.S: bro có cái code nào vẽ một ký tự đặc biệt lên textmode tại random x,y với x,y là 2 trục tọa độ không????

    Vui lòng không hỏi chen ngang vào một đề tài. Các bài viết trả lời bài viết vi phạm Nội quy cũng sẽ coi là vi phạm và sẽ bị xử lý hoặc xóa bỏ đồng thời. Cho nên bạn hỏi chen ngang sẽ không có ai trả lời bạn cả. Rất mong bạn lưu ý
    Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 21-04-2008 lúc 01:21 AM. Lý do: Nhắc nhở

  4. #4
    Ngày gia nhập
    12 2006
    Nơi ở
    Hà Nội
    Bài viết
    1

    chỉ có mấy các code này thôi sao:
    các bạn có thể cho mình máy cái code về tất cả các trượng hợp của thuật toán DDA & thuật toán midboy có được không?
    SV:Đào Mạnh Thắng
    <==================>

    Hãy suy nghĩ lớn nhưng hành động nhỏ
    Bạn được cuộc đời trao tặng một cơ thể. Dù bạn yêu hay ghét cơ thể mình, nó vẫn sẽ là của bạn đến suốt đời.
    !

    <==================>

  5. #5
    Ngày gia nhập
    04 2008
    Nơi ở
    Phu yen
    Bài viết
    10

    code chương trình kiểm tra màn hình thiếu thư viện #include<conio.h> mới sài được getch(); chứ

    -----------------------------------------------------
    he he

  6. #6
    Ngày gia nhập
    04 2008
    Nơi ở
    Phu yen
    Bài viết
    10

    Mặc định một số code mở cho tất cả các bạn yêu thích đồ họa(dành cho C)

    bài cuộn chữ ( chữ chạy) thiếu thư viện conio.h , string.h , stdlib.h , dos.h

    ----------------------------
    he he
    ----------------------------
    pa toàn thiếu thư viện. tuy máy tìm thấy và sữa lỗi được nhưng làm ăn cho đàng hoàng chút .
    ----------------------------
    cảm ơn vì pa đã share cho pà con . có ghì hay hay cứ share nha

  7. #7
    Ngày gia nhập
    01 2008
    Bài viết
    2

    Cái code "Fire".....Compiler VS 6.0 báo lỗi tè le >.<"...share kì we'...tui thử bổ sung thêm thư viện rồi mà vẫn chưa chạy được T___T

  8. #8
    Ngày gia nhập
    07 2006
    Nơi ở
    Hà nội
    Bài viết
    204

    Trích dẫn Nguyên bản được gửi bởi lenhattien Xem bài viết
    Cái code "Fire".....Compiler VS 6.0 báo lỗi tè le >.<"...share kì we'...tui thử bổ sung thêm thư viện rồi mà vẫn chưa chạy được T___T
    Code fire đấy dành cho dos thôi, visual c 6 là cho win mà, thích cho win thì lên google tìm thiếu gì !
    Life:\> dir

  9. #9
    Ngày gia nhập
    04 2008
    Bài viết
    8

    Mình cũng xài C sao code đồ họa của các bạn mình ko chạy đc, bị báo lỗi. Mình dùng Visual Studio C++ 6.0
    Hân hạnh đc mọi người giúp đỡ

  10. #10
    Ngày gia nhập
    05 2008
    Nơi ở
    Vĩnh Phúc
    Bài viết
    6

    Sao ko co code hinh sin vay?????
    C là gì? C là cố. Mà cố quá = quá cố ->

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

  1. truyện ngắn tình yêu: xin lỗi, em nợ anh một tình yêu!
    Gửi bởi baothoa92 trong diễn đàn Giải trí - Thư giãn
    Trả lời: 0
    Bài viết cuối: 26-07-2013, 09:49 AM
  2. Thiết kế áo theo yêu cầu, chuyên cung cấp áo đôi tình yêu, mẫu mã đẹp hợp thời trang
    Gửi bởi aodoixinh.com 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: 18-10-2012, 04:45 PM
  3. Trả lời: 0
    Bài viết cuối: 29-08-2011, 05:50 PM
  4. Code của chương trình quản lý xe máy có kèm thêm yêu cầu! Giúp đỡ mình với?
    Gửi bởi E0k3y trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 12
    Bài viết cuối: 29-06-2009, 10:47 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