PDA

View Full Version : سوال: حرکت در++c



saeedenferadi
یک شنبه 27 اردیبهشت 1388, 12:27 عصر
اگربخوام یک شکل رو با کلید های جهت دار در صفحه حرکت بدم چکار باید بکنم.

tdkhakpur
یک شنبه 27 اردیبهشت 1388, 12:58 عصر
سلام:
خب شما میدونید که یه صفحه اگه بخاد از نقطه ای به نقطه دیگه بره باید مختصاتش رو عوض کنید.
ولی برای اینکه جای صفحه قبلی در مختصات قبلی باقی نمونه قبل ار حرکت به نقطه مورد نظر محتوای محل جدید رو که صفحه میخاد درش قرار بگیره رو در حافظه ذخیره کنید.
و بعد ار حرکت این محل ذخیره شده رو دوباره برگردونید.
موفق باشید.

saeedenferadi
یک شنبه 27 اردیبهشت 1388, 14:31 عصر
ولی من میخوام شکلم با ککلیدهای جهت دار حرکت کنه؟چه جوری کلیدهای جهت دارو بهش بشناسونم؟

tdkhakpur
یک شنبه 27 اردیبهشت 1388, 16:38 عصر
سلام از تابع زیر برای کارت استفاده کن و خودت تو برنامه ات امتحانش کن برای هر کلیدی یه کد بر میگردونه با case بررسیش کن.


#define RSHIFT 1001
#define LSHIFT 1002
#define LRSHIFT 1003
#define CTRL 1004
#define ALT 1008
int GetKey ( void )
{
int DKeys[] = { LRSHIFT , LSHIFT, RSHIFT, CTRL, ALT, -1 };
int counter, key=0;
unsigned char al_, ah_;
again:
counter = -1;
asm mov ah, 2
asm int 16h
asm mov al_, al
while( DKeys[++counter] != -1 )
if ( ( al_ & ( DKeys[counter] - 1000 ) ) == ( DKeys[counter] - 1000 ) )
return( DKeys[counter] );
asm mov ah, 1
asm int 16h
asm jz again
asm mov ah, 0
asm int 16h
asm mov al_, al
asm mov ah_, ah
if ( al_ == 0 ) key = ah_ + 1000;
else key = al_ ;
return key;
}


موفق باشید.

saeedenferadi
یک شنبه 27 اردیبهشت 1388, 18:43 عصر
خیلی خیلی ممنون .