Diễn đàn hỏi đáp học thuật - Download Tài Liệu Miễn Phí
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Diễn đàn hỏi đáp học thuật - Download Tài Liệu Miễn PhíĐăng Nhập

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG


descriptionMô phỏng cảnh lửa cháy trong C EmptyMô phỏng cảnh lửa cháy trong C

more_horiz
Mô tả cảnh lửa cháy viết bằng ngôn ngữ hệ thống trong C.

Code:

#include "stdlib.h"
#include "conio.h"
unsigned char flames[330][80];
void Pal(unsigned char Col,unsigned char R,unsigned char G,unsigned char B) {
   asm {
      mov dx,3c8h
      mov al,[Col]
      out dx,al
      inc dx
      mov al,[R]
      out dx,al
      mov al,[G]
      out dx,al
      mov al,[B]
      out dx,al

   }
}
void SetFirePalete() {
   for (int i = 0; i<50; i++) {
      Pal(i,0,0,0);
      Pal(i+50,i,0,0);
      Pal(i+100,49,i,0);
      Pal(i+150,49,49,i);
   }
}
void Fire() {
   int x,y,x1,y1;
   unsigned char Col;
   for(x1=-5; x1<=325; x1++)
   for(y1=120; y1<=200; y1++) {
      y = y1-120;
      x =x1 + 5;
      Col=(flames[x-1][y+1]+flames[x][y+1]+flames[x+1][y+1]+flames[x][y+2])/4;
      if(y1 ==199){ Col= random(80)+120;}
      if (Col>0) Col--;
      flames[x][y]= Col;
      if ( x1>0 && x1<319 && y1<199)
      asm {
         mov ax,0A000h
         mov es,ax
         mov bx,[y1]
         shl bx,1
         shl bx,1
         shl bx,1
         shl bx,1
         shl bx,1
         shl bx,1
         mov di,bx
         shl bx,1
         shl bx,1
         add di,bx
         add di,[x1]
         mov ah,[Col]
         mov es:[di],ah
      }
   }
}
void main () {
   asm { mov ax,13h; int 10h; }
   SetFirePalete();
   while(!kbhit( )) Fire();
   asm { mov ax,3h; int 10h; mov ah,4ch; int 21h;}
}

descriptionMô phỏng cảnh lửa cháy trong C EmptyRe: Mô phỏng cảnh lửa cháy trong C

more_horiz
Thầy ơi cho em hỏi:

Thủ tục Pal(Col,R,G,B) tác dụng là gì vậy thầy? Thầy giải thích từng lệnh trong thủ tục này được không thầy?

Em có hứng thú với chương trình này lắm! nhưng ngặt nỗi nhiều chỗ em chưa hiểu!

descriptionMô phỏng cảnh lửa cháy trong C EmptyRe: Mô phỏng cảnh lửa cháy trong C

more_horiz
ztanzzthanhz đã viết:
Thầy ơi cho em hỏi:

Thủ tục Pal(Col,R,G,B) tác dụng là gì vậy thầy? Thầy giải thích từng lệnh trong thủ tục này được không thầy?

Em có hứng thú với chương trình này lắm! nhưng ngặt nỗi nhiều chỗ em chưa hiểu!


R: Red
G: Green
B: Blue
đây là 3 màu cơ bản để tạo nên các màu khác.
Pal(Col,R,G,B): xuất 1 điểm ra ngoài màn hình vơi màu xác định dựa trên 3 màu.

descriptionMô phỏng cảnh lửa cháy trong C EmptyRe: Mô phỏng cảnh lửa cháy trong C

more_horiz
Vấn đề Inline ASM trong C/C++ cũng không phải là chuyện dễ (các bạn cũng phải nắm được ngôn ngữ ASM mới có thể làm được); việc làm này nếu không cẩn trọng sẽ gây Bug lớn cho chương trình, hoặc làm chương trình "chậm" hơn và có thể phình to (dung lượng exe) hơn, tuy nhiên nếu tận dụng tốt việc Inline ASM vào C thì chương trình của chúng ta có thể chạy nhanh hơn so với code C/C++ thuần, vậy thì tại sao? Vì lệnh ASM được thực thi nhanh hơn so với lệnh của C/C++ (vì một lệnh của C/C++ tương đương với một vài mã máy)....

Ở bài trên Admin đã Inline ASM vào code C, Peter thấy chuẩn rồi, và chỉ lưu ý rằng code này chỉ sử dụng được với biên dịch 16 bít; chứ sang 32bít (hoặc..cao hơn) sẽ không bao giờ làm được điều đó (vì các ngắt DOS không còn dùng được), mà thay thế các ngắt này là các hàm API.

Một phương pháp dùng ASM là xây dựng một Module dùng cho C, kết hợp với Module của C chúng ta tiến hành hợp dịch,....

descriptionMô phỏng cảnh lửa cháy trong C Emptycho e xin code

more_horiz
chào thầy cô
thây cô chỉ giúp cho e cái code . chỉ ra tổng số trụ cầu,cầu của một đồ thi,đồ thị liên thông hay không liên thông.đơn đồ thị, (đa đồ thị), đỉnh treo, đỉnh cô lập.
Thanks mọi người!!

descriptionMô phỏng cảnh lửa cháy trong C EmptyRe: Mô phỏng cảnh lửa cháy trong C

more_horiz
vingaymaino1 đã viết:
chào thầy cô
thây cô chỉ giúp cho e cái code . chỉ ra tổng số trụ cầu,cầu của một đồ thi,đồ thị liên thông hay không liên thông.đơn đồ thị, (đa đồ thị), đỉnh treo, đỉnh cô lập.
Thanks mọi người!!


Em vào mục Đồ thị và thuật giải để xem các bài toán đó nhe!

descriptionMô phỏng cảnh lửa cháy trong C Emptycho e xin code

more_horiz
cho em xon code vẽ các thuật toán clipping trong môn đồ họa máy tinh

descriptionMô phỏng cảnh lửa cháy trong C EmptyRe: Mô phỏng cảnh lửa cháy trong C

more_horiz
vingaymaino1 đã viết:
cho em xon code vẽ các thuật toán clipping trong môn đồ họa máy tinh

Bạn vào liên kết này để tìm hiểu nhé http://www.scribd.com/doc/49630969/42/Cac-thu%E1%BA%ADt-toan-Clipping

descriptionMô phỏng cảnh lửa cháy trong C EmptyRe: Mô phỏng cảnh lửa cháy trong C

more_horiz
privacy_tip Permissions in this forum:
Bạn không có quyền trả lời bài viết
power_settings_newLogin to reply