Скачиваний:
5
Добавлен:
09.01.2023
Размер:
974 б
Скачать
#include <dos.h>
#include <conio.h>

void putchar(char s){
	union REGS r;
	r.h.ah = 0xA;
	r.h.al = s;
	r.h.bh = 0;
	r.x.cx = 1;
	int86(0x10,&r,&r);
}


unsigned char getChar(){
	union REGS r;
	r.h.ah = 0x7;
	intdos(&r,&r);
	return r.h.al;
}

int main(){
	int x1 = 25, y1 = 10, x2 = 55, y2 = 20;
	int symbol_x = (x2-x1+2)/2, symbol_y = (y2-y1+2)/2;
	int key, mode = 0;
	_setcursortype(_NOCURSOR);
	textattr(GREEN<<4 | RED);
	window(x1,y1,x2,y2);
	for(int i = 0; i <= (y2 - y1); i++)
		insline();
	gotoxy(symbol_x, symbol_y); //start position
	putchar('*');
	do{
		key = getChar();
		if (key == 65 || key == 0x66){
			gotoxy(symbol_x, symbol_y);
			if(symbol_x > 1 && key == 65){
				symbol_x--; mode = 1;
			}else if(symbol_x < x2-x1+1 && key == 66){
				symbol_x++; mode = 1;
			if(mode){
				putchar(' ');
				gotoxy(symbol_x, symbol_y);
				putchar('*');
			}
		}
	}while(key!=0x1B);
	textattr(0);
	clrscr();
	return 0;
}
Соседние файлы в папке лаба 4