Вход на сайт
Поле 14.07.2025
149
07.09.25 08:11
Всем привет! Это я делал давно 14.07.2025, потом забросил программирование, сегодня решил показать. Комментировать не хочу, у меня здоровье на это нет.
Вот код field.c;
#include <stdio.h>
#include <conio.h>
#include <bios.h>
#define STEP 1
#define LEFT 19200
#define RIGHT 19712
#define UP 18432
#define DOWN 20480
#define ESC 283
#define ENTER 7181
#define DEL 3592
#define FIELD_SIZE 10
int main(void) {
int key;
int x = 1;
int j;
int temp_x, temp_y;
int buffer_shift_x = 1;
char field_buf[FIELD_SIZE];
printf("\n");
temp_x = wherex();
temp_y = wherey();
textattr(BLUE * 0x10 + WHITE);
for(j=0; j<FIELD_SIZE; j++) cprintf(" ");
gotoxy(temp_x, temp_y);
while(key != ESC) {
key = bioskey(0);
switch(key) {
case LEFT:
if(x > 0 || buffer_shift_x > 0) {
x-=STEP;
buffer_shift_x--;
gotoxy(x, wherey());
}
break;
case RIGHT:
if(buffer_shift_x <= FIELD_SIZE) {
x+=STEP;
buffer_shift_x++;
gotoxy(x, wherey());
}
break;
default:
x = wherex();
if(buffer_shift_x >= FIELD_SIZE) { printf("\7"); break; }
cprintf("%c", key, key);
buffer_shift_x++;
field_buf[buffer_shift_x] = key;
break;
case ENTER:
textattr(BLACK * 0x10 + LIGHTGRAY);
printf("\n");
cprintf("\n%s", field_buf);
return;
break;
case DEL:
gotoxy(x, wherey());
cprintf(" ");
gotoxy(x, wherey());
x--;
buffer_shift_x--;
break;
}
}
textattr(BLACK * 0x10 + LIGHTGRAY);
}
Вот пруф, что это старый код программы 14.07.2025 12:58:

Результат работы алгоритма, глючит немного:

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
Моя ФЛ Он и Она
Моя ФЛ Он и Она
список