Viết chương trình pascal dòng chữ chạy ngang màn hình
Ngày đăng:21/11/2022
Trả lời:0
Lượt xem:109
Dòng chữ chạy ngang qua màn hình
Viết chương trình để nhập 1 xâu kí tự từ bàn phím và đưa xâu đó ra màn hình có dạng dòng chữ chạy giữa màn hình văn bản 25 x 80.
Bài này thuộc dạng vẽ hình chuyển động. Cách đơn giản nhất là xóa đi vẽ lại.
PHP Code:
Đặt (x,y) là tọa độ bắt đầu dòng chữ. Repeat SetColor(Yellow); OutTextXY(x,y,st); Delay(10); // làm trễ SetColor(Black); OutTextXY(x,y,st); x:=x+dx; // dx là bước nhảy, dx càng lớn thì chạy càng nhanh If x+Length(st)>GetMaxX then x:="Giá trị x ban đầu"; Until KeyPressed;
Cách 2: Sử dụng biến động, cách này vẽ đẹp hơn. Cần thì post sau.
Code:
uses crt;
var i:integer;
a:string;
begin
a:='Chao Mung Ban Den Dien Dan Tin Hoc';
for i:=1 to 78 do
a:=' '+a;
a:=a+a;
clrscr;
repeat
inc(i);
gotoxy(1,12);
write(copy(a,i,79));
delay(150);
if i=120 then
begin
i:=0;
clrscr;
end;
until keypressed;
end.
Pà chị chơi ở Text Mode à? Cái chữ chuyển động thế này Text Mode xấu lắm. Graph Mode mới chấp nhận được.
c
chỉ bik thế này thôi . Nghịch cho vui thôi chứ đâu có thi mí cái nì
Các bạn tham, gia các cách viết chương trình
học pas gần 1 năm trời rồi mà mình có biết gì đến đồ họa đâu , chắc cũng chỉ chơi text mode thôi
Đồ họa khá nhiều cái hay. Thi xong thử học đi. Nhân tiện post cách 2: 1. Lưu hình: Để lưu hình bất kì, tính HCN bao hình đó: Dùng hàm
PHP Code:
ImageSize(x1,y1,x2,y2:Integer):Integer;
Hàm này trả về kích thước HCN bao có đỉnh trên trái (x1,y1), dưới phải (x2,y2). 2. Bố trí bộ nhớ để cất
hình: Thủ tục:
PHP Code:
GetMem(Var P:Pointer; n:Word);
Thủ tục này sử dụng con trỏ ko định kiểu P, tạo ra 1 biến động có độ lớn n byte. Để giải phóng:
PHP Code:
FreeMem(Var P:Pointer;n:Word);
3. Chép hình vào bộ nhớ: Sử dụng thủ tục:
PHP Code:
GetImage(x1,y1,x2,y2:Integer; Var P:Pointer);
TT này chép các điểm ảnh trong HCN (x1,y1,x2,y2) trên màn hình vào vùng nhớ được con trỏ P trỏ tới. 4. Khôi phục hình đã cất = GetImage, sử dụng thủ tục:
PHP Code:
PutImage(x,y:Integer;Var P:Pointer;Mode:Word);
Thủ tục này chép hình lưu trong biến động được trỏ tới bởi P vào vị trí x,y. Mode có các giá trị: CopyPut=0: Sao chép đè lên. Hình cũ mất XORPut=1: Không nhớ, nhưng dùng cái này để tạo hình chuyển động. Hình như còn AndPut hay OrPut thì phải, quên rồi. Vậy thì các bước cần làm là:
PHP Code:
1. Vẽ chữ. Lưu vào biến động ko định kiểu. 2. Tạo trễ (Delay) 3. Xóa hình, khôi phục nền cũ với PutImage và phép XORPut. 4. Vẽ ở vị trí mới
Đơn giản thôi mà. Cần thêm ví dụ không?
cho tôi hỏi thứ tự làm cho dòng chữ chạy trên màn hình destop