2010-08-24 76 views
3

對不起有關愚蠢的問題,但有沒有辦法在屏幕上隨機的地方繪製一個字符,而不使用任何「重」圖形庫?如何在屏幕上的任意位置繪製一個字符 - C++

感謝, 李

+3

什麼你一個字意思?你的意思是一個ASCII字符,例如星號?或者你的意思是一個遊戲角色,比如蝙蝠俠? (我猜第一個...) – 2010-08-24 11:36:59

+4

在控制檯?在Windows桌面上?在任何其他窗口之上?在您的應用程序窗口內?其他? – Calvin1602 2010-08-24 11:37:38

回答

4

嘗試直接寫入視頻RAM地址B800:0000(請參閱Bios Memory Map)。

+1

哦哇,這仍然有效?當我在80286上編寫Turbo Pascal程序時,我曾經這麼做過:-) – 2010-08-24 11:50:27

+0

不,實際上我預計會被拒絕:今天我感覺很懷舊! – 2010-08-24 11:59:05

+1

你會爲此得到一個滿意的答案。我笑了。 – Calvin1602 2010-08-24 12:18:38

3
HDC hdc = GetDC(NULL); 
RECT rc; 
rc.left = 0; 
rc.right = 100; 
rc.top = 0; 
rc.bottom = 100; 
DrawText(hdc, L"Bla", 3, &rc, 0); 

我在這裏幫助病毒程序員?

+0

不:)你正在幫助一個可憐的計算機科學專業的學生:) – user429400 2010-08-24 12:21:46

1

假設這是一個控制檯應用程序:

#include "windows.h" 

void gotoxy(int x, int y) 
{ 
COORD coord; 
coord.X = x; coord.Y = y; 
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_H ANDLE), coord); 
} 

void PaintcharOnRandomLocation(const char c) 
{ 
srand(0); 
int x = rand(79); 
int y = rand(24); 
gotoxy(x,y); 
putch(c); 
} 
+0

謝謝:)所有工作都很完美。 – user429400 2010-08-24 12:23:40

相關問題