Deutsch

Поле 14.07.2025

21  
uscheswoi_82 патриот4 дня назад, 08:11
4 дня назад, 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:


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

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