2025. november 28., péntek

Windows fejlődése

Windows 1.0 (1985)

Újdonságok:

  • Első grafikus felület DOS fölött

  • Egér-támogatás

  • Csempeszerű ablakok (nem lehettek átfedésben)

  • Alap alkalmazások: Paint, Write, Calculator

  • Kooperatív multitasking


Windows 2.0 (1987)

Újdonságok:

  • Átfedő ablakok lehetősége

  • Gyorsbillentyűk

  • Jobb memória-kezelés

  • 286/386 módok támogatása

  • Megjelent az első Word és Excel Windowsra


Windows 3.0 (1990)

Újdonságok:

  • Erősen modernizált GUI (Program Manager, File Manager)

  • Valódi 386 mód → virtuális memória, multitasking

  • Jó DOS-kompatibilitás

  • 16 színtől VGA 256 színig támogatás


Windows 3.1 (1992)

Újdonságok:

  • TrueType fontok → első professzionális minőségű szövegmegjelenítés

  • Megbízhatóság jelentős javulása

  • Drag & drop rendszer

  • Multimedia Extensions


Windows 3.11 (1993)

Újdonságok:

  • Windows for Workgroups 3.11 → beépített hálózati támogatás

  • Jobb 32 bites fájlkezelő driver → nagyobb sebesség

  • Peer-to-peer hálózatok támogatása (megosztott mappák, nyomtatók)

  • Stabilitási javítások

  • Még mindig 16 bites rendszer, de néhány 32 bites komponenssel


Windows NT 3.1 (1993)

Újdonságok:

  • Új, teljesen 32 bites, biztonságos NT-kernel

  • Felhasználói jogok, ACL-ek, domain-kezelés

  • Alap Active Directory-előd

  • Professzionális, nem otthoni rendszer


Windows 95 (1995)

Óriási mérföldkő – a modern Windows alapja.

Újdonságok:

  • Start menü, tálca, értesítési terület — megszületett a modern Windows

  • 32 bites desktop rendszer

  • Plug and Play hardverkezelés

  • Új fájlrendszer driver → hosszú fájlnevek (VFAT)

  • DirectX kezdete


Windows 95 OSR2 / OSR2.1 / OSR2.5 (1996–1997)

Újdonságok:

  • FAT32 támogatása (OSR2) → gyorsabb és hatékonyabb, 2GB korlát megszűnt

  • USB támogatás (OSR2.1)

  • Internet Explorer integrált verziók

  • DirectX továbbfejlődése

  • Stabilitási és sebességjavítások

  • Ezek a verziók új gépekre voltak előtelepítve, külön nem árulták őket


Windows NT 4.0 (1996)

Újdonságok:

  • Windows 95-szerű felület

  • NT megbízhatósága otthon is elérhetővé vált

  • Jobb hálózati és szerverfunkciók


Windows 98 (1998)

Újdonságok:

  • Nagyszabású USB támogatás

  • Internet Explorer beépítve

  • Web-integrált fájlkezelő (Active Desktop)

  • DirectX 6 → játékok fejlődése


Windows 98 SE (1999)

Újdonságok:

  • Sokkal stabilabb, mint az eredeti 98

  • Jobb modem/hálózatkezelés

  • Internet Connection Sharing

  • Javított USB és FAT32 kezelés


Windows ME (Millennium Edition, 2000)

Újdonságok:

  • Rendszer-visszaállítás

  • Media Player és multimédia fejlesztések

  • Gyorsabb boot
    Hátrány: instabil működés → az egyik legrosszabb Windows


Windows 2000 (2000)

Újdonságok:

  • NT 5.0 kernel

  • Active Directory teljes bevezetése

  • Nagyon stabil, vállalati alap

  • USB, ACPI jó kezelése


Windows XP (2001)

Az egyik legsikeresebb Windows.

Újdonságok:

  • Modern GUI

  • Jelentősen gyorsabb rendszerindítás

  • NT stabilitás elterjedt otthon is

  • Tűzfal, jobb hálózatkezelés

  • DirectX 9 → játékfejlődés csúcsidőszaka


Windows Vista (2007)

Újdonságok:

  • Aero Glass felület

  • Új, fejlettebb driver-modell

  • UAC (biztonsági kontroll)

  • Jobb memória-menedzsment (SuperFetch)
    Hátrány: hardverigény túl magas


Windows 7 (2009)

Vista kijavítása és kiteljesítése.

Újdonságok:

  • Sokkal gyorsabb minden téren

  • Új tálca “pin” funkciókkal

  • Jump listák

  • DirectX 11

  • Nagy stabilitás → sokáig tartotta magát


Windows 8 (2012)

Újdonságok:

  • Metro UI / Modern UI

  • Csempék, érintésre optimalizálva

  • Új Windows Store

  • Gyors hibrid boot
    Hátrány: Start menü eltűnt → óriási felháborodás


Windows 8.1 (2013)

Újdonságok:

  • Start gomb vissza

  • Jobb többmonitoros támogatás

  • Kevesebb UI-ütközés az asztali felhasználókkal


Windows 10 (2015)

Újdonságok:

  • Start menü visszatérése → csempékkel kombinálva

  • “Windows as a service” → folyamatos frissítés

  • DirectX 12

  • WSL (Linux alrendszer)

  • Erősebb biztonság (Secure Boot, Device Guard)


Windows 11 (2021)

Újdonságok:

  • Teljesen új GUI, lekerekített ablakok

  • Középre igazított Start és tálca

  • Új Microsoft Store

  • TPM 2.0 kötelező → erősebb biztonság

  • Snap Layouts fejlett ablakrendezés

  • Android alkalmazások támogatása

  • Egységesebb grafikus felület
    Hátrány: több animáció → néha „lustábbnak” érződik


A Start menü evolúciója

Windows 95 → Windows ME

  • Klasszikus Start menü

  • Programok listája, Vezérlőpult, Futtatás, Keresés

Windows XP

  • Kétoszlopos Start menü

  • Gyors elérés a dokumentumokhoz

  • Rögzíthető programok

Windows Vista / Windows 7

  • Keresősáv a Start menüben → óriási előrelépés

  • Rendezettebb programlista

  • Elegáns dizájn (Aero)

Windows 8

  • Klasszikus Start megszűnt

  • Teljes képernyős csempés felület (Start Screen)

  • Nagyon megosztó döntés

Windows 8.1

  • Start gomb vissza

  • De még mindig csempés felület maradt

Windows 10

  • Klasszikus + modern hibrid

  • Bal oldalt lista, jobb oldalt csempék

  • Jó kompromisszum

Windows 11

  • Középre igazított ikonok

  • Letisztított Start menü → rögzített appok + “Recommended”

  • Kevesebb testreszabási lehetőség, de szép dizájn


    TELJES „NÉPSZERŰSÉGI” WINDOWS RANGSOR

    1. Windows 7 (2009)

    Miért itt?

    Stabil, gyors, szép – a „kész Windows” érzés.


     2. Windows XP (2001)

    Miért?

    Ikonikus, hosszú életű, nosztalgikus.


    3. Windows 10 (2015)

    Miért?

    Nem legendás, de megbízható „munkásló”.


    Windows 98 (1998)

    Miért?

    Az első igazán jól használható otthoni Windows.


    Windows 2000 (2000)

    Miért?

    Stabil „üzleti XP előtti XP”, de kevesebb érzelem.


    Windows 95 (1995)

    Miért?

    Forradalmi volt, de ma inkább történelmi jelentőségű.


    Windows 3.1 (1992)

    Miért?

    Inkább grafikus felület volt DOS fölött, nem „igazi Windows” a mai értelemben.


    Windows 11 (2021– )

    Miért ilyen „lent”?

    Nem rossz, csak kevésbé szerethető.


    Windows Vista (2007)

    Miért?

    Túl nehéz volt a kor hardvereihez képest.


    Windows 8 / 8.1 (2012–2013)

    Miért utolsó?

    A legtöbb ember szerint ez volt a legkevésbé szeretett verzió.

2025. november 2., vasárnap

BKK Futár - ESP32


#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
#include <time.h>

static const char* WIFI_SSID     = "YOUR_WIFI_SSID";
static const char* WIFI_PASSWORD = "YOUR_WIFI_PASSWORD";
static const char* BKK_API_KEY   = "YOUR_BKK_API_KEY";
static const char* LOCAL_TIMEZONE  = "CET-1CEST,M3.5.0/2,M10.5.0/3";
const char* stopId         = "F04166";
const int   minutesAfter = 30;

unsigned long lastApiCall = 0;
const long apiCallInterval = 60000;

void wifi_connect() {
  if (WiFi.status() == WL_CONNECTED) return;

  Serial.printf("Kapcsolódás a WiFihez (%s)...", WIFI_SSID);
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  WiFi.setAutoReconnect(true);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);

  unsigned long start = millis();
  while (WiFi.status() != WL_CONNECTED && millis() - start < 10000) {
    delay(250);
    Serial.print(".");
    yield();
  }

  if (WiFi.status() == WL_CONNECTED) {
    Serial.println(" SIKERES!");
    Serial.print("IP cím: ");
    Serial.println(WiFi.localIP());
  } else {
    Serial.println(" SIKERTELEN!");
  }
}

void wifi_disconnect() {
  if (WiFi.status() == WL_CONNECTED) WiFi.disconnect(false);
  WiFi.mode(WIFI_OFF);
  Serial.println("WiFi kapcsolat bontva!");
}

size_t formatLocalHHMM(long epochSec, char* buffer, size_t bufferSize) {
  time_t t = (time_t)epochSec;
  struct tm lt;
  localtime_r(&t, &lt);

  return snprintf(buffer, bufferSize, "%d:%02d", lt.tm_hour, lt.tm_min);
}


void fetchBKKData(const char* stopId);

void setup() {
  Serial.begin(115200);
  delay(500);
  Serial.println("BKK Menetrend Indítása...");

  wifi_connect();
 
  if (WiFi.status() != WL_CONNECTED) {
    Serial.println("Kritikus hiba: Wi-Fi kapcsolat nélkül nem folytatható.");
    while (true) {
      delay(1000);
    }
  }

  setenv("TZ", LOCAL_TIMEZONE, 1);
  tzset();

  fetchBKKData("F04165");
  fetchBKKData(stopId);
}

void loop() {
  if (millis() - lastApiCall > apiCallInterval) {
    lastApiCall = millis();
    Serial.printf("\n--- Frissítés ---\n");
    fetchBKKData(stopId);
  }
}

void parseBKKJson(const String& jsonString,const char* stopId) {
  DynamicJsonDocument doc(24576);
  DeserializationError error = deserializeJson(doc, jsonString);
  if (error) { Serial.print("JSON hiba: "); Serial.println(error.c_str()); return; }

  long long serverTimeMs = doc["currentTime"].as<long long>();
  long serverTimeSec = (long)(serverTimeMs / 1000LL);

  char timeBuffer[6];
  formatLocalHHMM(serverTimeSec, timeBuffer, sizeof(timeBuffer));
  Serial.print("Lekérdezés ideje: ");
  Serial.println(timeBuffer);

  JsonObject routes = doc["data"]["references"]["routes"];
  JsonObject trips  = doc["data"]["references"]["trips"];
  JsonArray stopTimes = doc["data"]["entry"]["stopTimes"];

  Serial.printf("Érkező járatok (Mesgye utca %s):\n",stopId);
  if (stopTimes.size() == 0) { Serial.println("Jelenleg nincsenek érkező járatok."); return; }

  for (JsonObject st : stopTimes) {
    const char* tripId    = st["tripId"];
    const char* routeId   = trips[tripId]["routeId"];
    const char* shortName = routes[routeId]["shortName"];
    const char* headsign  = st["stopHeadsign"];

    long predictedTimeSec = st["predictedDepartureTime"] | 0;
    if (predictedTimeSec == 0) predictedTimeSec = st["departureTime"] | 0;

    long diffSeconds = predictedTimeSec - serverTimeSec;

    long adj = (diffSeconds >= 0) ? (diffSeconds + 30) : (diffSeconds - 30);
    int minutes = (int)(adj / 60);

    char arrivalBuffer[6];
    formatLocalHHMM(predictedTimeSec, arrivalBuffer, sizeof(arrivalBuffer));

    int minutesShown = (minutes < 1) ? 0 : minutes;
    Serial.printf("%5s %2d' %4s %s\n",
      arrivalBuffer,
      minutesShown,
      shortName ? shortName : "?",
      headsign ? headsign : "?"
    );
  }

}

void fetchBKKData(const char* stopId) {
  if (WiFi.status() != WL_CONNECTED) { Serial.println("WiFi kapcsolat megszakadt."); return; }
 
  char urlBuffer[200];

  snprintf(urlBuffer, sizeof(urlBuffer),
    "https://futar.bkk.hu/api/query/v1/ws/otp/api/where/"
"arrivals-and-departures-for-stop.json?"
"key=%s&stopId=BKK_%s&minutesAfter=%d",
    BKK_API_KEY, stopId, minutesAfter);

  HTTPClient http;
  http.begin(urlBuffer);
  int httpCode = http.GET();
 
 
  if (httpCode > 0) {
    if (httpCode == HTTP_CODE_OK) parseBKKJson(http.getString(),stopId);
    else Serial.printf("Hiba a BKK API hívásakor. HTTP kód: %d\n", httpCode);
  } else {
    Serial.printf("HTTP GET hiba: %s\n", http.errorToString(httpCode).c_str());
  }
  http.end();
}

2025. október 27., hétfő

Tolmács program távirányítóhoz

//Arduino Nano - YS-IRTM tolmács program távírányítóhoz

#include <SoftwareSerial.h>

int incomingByte = 0;
SoftwareSerial ir_mod(3, 2);
byte command1[5] = {0xA1, 0xF1, 0x06, 0x57, 0x60};
byte command2[5] = {0xA1, 0xF1, 0x06, 0x57, 0x0F};

// Puffer a beérkező bájtoknak
byte buffer[3];
int bufferIndex = 0;

void setup() {
  Serial.begin(9600);
  while(!Serial){}
  Serial.println("Setup IR Serial");
  ir_mod.begin(9600);
  while(!ir_mod){}
  Serial.println("IR Serial Ready");
}

void loop() {
    if (ir_mod.available() > 0) {
      // Beolvassuk az aktuális bájtot
      incomingByte = ir_mod.read();

      // Hozzáadjuk a pufferhez
      if (bufferIndex < 3) {
        if (incomingByte==241) bufferIndex=2;
        buffer[bufferIndex] = incomingByte;
        bufferIndex++;
      }

      // Ha a puffer tele van (3 bájt beérkezett)
      if (bufferIndex == 3) {
        Serial.print("Teljes csomag erkezett: ");
        for (int i = 0; i < 3; i++) {
          Serial.print(buffer[i], HEX);
          Serial.print(" ");
        }
        Serial.println();

        // Itt dolgozzuk fel a teljes csomagot
        // Például a 3. bájtra reagálunk, ahogy az eredeti kódban
        if (buffer[0] == 6 && buffer[1] == 87 && buffer[2] == 48 ) { // A harmadik bájt, ami 48
          ir_mod.write(command1, 5);
          Serial.println("Elkuldve: command1");
        }
        if (buffer[0] == 6 && buffer[1] == 87 && buffer[2] == 49 ) { // Ha 49 lenne a harmadik bájt
          ir_mod.write(command2, 5);
          Serial.println("Elkuldve: command2");
        }

        // Végül ürítjük a puffert a következő üzenethez
        bufferIndex = 0;
        buffer[0]=buffer[1]=buffer[2]=0;
      }
    }
}

2025. október 26., vasárnap

Számítógépes nyelvek

Nyelv Év Rövid jellemzés
Gépi kód1940 körülA processzor által közvetlenül végrehajtható bináris utasítások számsor formájában.
Assembly1949Gépi utasítások közvetlen programozása.
Fortran1957Tudományos és mérnöki számításokra használt nyelv.
Lisp1958Mesterséges intelligencia kutatásban használt rugalmas nyelv.
Algol1958Blokkszerkezetet bevezető nyelv.
COBOL1959Üzleti és pénzügyi rendszerek fejlesztésére szolgál.
Basic1964Oktatási célú nyelv.
Logo1967Oktatási nyelv teknős grafikával.
Pascal1970Strukturált programozást támogató nyelv.
Smalltalk1972Objektorientált fejlesztés alapnyelve.
C1972Rendszerszoftver fejlesztésére alkalmas nyelv.
Prolog1972Logikai programozás nyelve.
SQL1974Lekérdezőnyelv adatbázishoz.
Scheme1975A Lisp család egyszerű változata.
Ada1980Biztonságkritikus rendszerekben használt nyelv.
C++1985Objektumorientált nagy teljesítményű nyelv.
Erlang1986Megbízható kommunikációs rendszerekhez használt nyelv.
Perl1987Szöveges feldolgozás és webes feladatok nyelve.
Haskell1990Funkcionális programozás nyelve.
Python1991Általános célú jól olvasható nyelv.
Visual Basic1991Windows alkalmazások vizuális fejlesztéséhez.
HTML1993Jelölőnyelv weboldalak szerkezetének leírására.
R1993Statisztikai számítások és adatvizualizáció.
Lua1993Beágyazott szkriptek és játékfejlesztés.
Java1995Platformfüggetlen alkalmazások fejlesztése.
JavaScript1995Webes interakciók megvalósítása.
PHP1995Szerveroldali webfejlesztés nyelve.
Ruby1995Gyors webfejlesztés egyszerű szintaxissal.
Delphi1995Windows alkalmazások vizuális fejlesztése.
CSS1996Stílusleíró nyelv weboldalak megjelenéséhez.
XML1998Jelölőnyelv adatok struktúrált leírásához.
C#2000Modern objektumorientált nyelv.
Scratch2007Blokkalapú oktatási nyelv.
Go2009Skálázható szerveralkalmazások fejlesztése.
TypeScript2012A JavaScript típusos kiterjesztése.
Swift2014Apple platformokra fejlesztett nyelv.
Rust2015Memóriabiztonság és teljesítmény.
Kotlin2016Android fejlesztés modern nyelve.

2025. október 19., vasárnap

Pontos idő - ESP32

// --- Hálózat / Internet ---
#include <WiFi.h>
#include <WiFiUdp.h>
#include <WiFiClientSecure.h>
#include <HTTPClient.h>

// --- Időkezelés ---
#include <NTPClient.h>
#include <time.h>
#include <sys/time.h>

// --- JSON feldolgozás ---
#include <ArduinoJson.h>

// Wi-Fi és API adatok
static const char* WIFI_SSID       = "YOUR_WIFI_SSID";
static const char* WIFI_PASSWORD   = "YOUR_WIFI_PASSWORD";
static const char* NTP_SERVER      = "pool.ntp.org";
static const char* WEATHER_API_URL = "https://api.openweathermap.org/data/2.5/weather?";
static const char* API_KEY         = "YOUR_API_KEY";
static const char* LATITUDE        = "47.4979";
static const char* LONGITUDE       = "19.0402";
static const char* LOCAL_TIMEZONE  = "CET-1CEST,M3.5.0/2,M10.5.0/3";

// Csak egyszer frissítünk naponta
bool synced_today = false;

// Legutóbb letöltött napkelte/napnyugta idő
static struct tm sunrise_local_tm = {};
static struct tm sunset_local_tm  = {};

WiFiUDP ntpUDP;
NTPClient utc(ntpUDP, NTP_SERVER);

// Kiírja az aktuális UTC és helyi időt
void printNowBoth() {
  time_t now_utc = time(nullptr);
  struct tm lt, gt;
  localtime_r(&now_utc, &lt);
  gmtime_r(&now_utc, &gt);

  Serial.printf(
    "UTC idő: %02d:%02d:%02d | Helyi idő: %02d:%02d:%02d\n",
    gt.tm_hour, gt.tm_min, gt.tm_sec,
    lt.tm_hour, lt.tm_min, lt.tm_sec
  );
}

// Wi-Fi csatlakozás
void wifi_connect() {
  if (WiFi.status() == WL_CONNECTED) return;

  Serial.printf("Kapcsolódás a WiFihez (%s)...", WIFI_SSID);
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  WiFi.setAutoReconnect(true);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);

  // Timeout 10 másodperc
  unsigned long start = millis();
  while (WiFi.status() != WL_CONNECTED && millis() - start < 10000) {
    delay(250);
    Serial.print(".");
    yield();
  }

  if (WiFi.status() == WL_CONNECTED) {
    Serial.println(" SIKERES!");
    Serial.print("IP cím: ");
    Serial.println(WiFi.localIP());
  } else {
    Serial.println(" SIKERTELEN!");
  }
}

// Wi-Fi bontás energiatakarékossághoz
void wifi_disconnect() {
  if (WiFi.status() == WL_CONNECTED) WiFi.disconnect(false);
  WiFi.mode(WIFI_OFF);
  Serial.println("WiFi kapcsolat bontva!");
}

// Rendszeridő beállítása UTC epoch szerint
void setSystemTimeUTC(uint32_t epoch_utc) {
  struct timeval tv { (time_t)epoch_utc, 0 };
  settimeofday(&tv, nullptr);
}

// NTP-ről pontos idő frissítése
bool syncTimeWithNTP() {
  Serial.print("NTP frissítés...");
  utc.begin();
  bool ok = utc.forceUpdate();
  Serial.println(ok ? " SIKERES!" : " SIKERTELEN!");
  if (ok) setSystemTimeUTC(utc.getEpochTime());
  utc.end();
  return ok;
}

// Napkelte/napnyugta letöltése az internetről és helyi idővé konvertálás
bool updateSunriseSunset() {
  // Napló kedvéért aktuális dátum kiírása
  time_t now_utc = time(nullptr);
  struct tm lt_now;
  localtime_r(&now_utc, &lt_now);
  Serial.printf("Dátum: %04d-%02d-%02d\n",
                lt_now.tm_year + 1900, lt_now.tm_mon + 1, lt_now.tm_mday);

  WiFiClientSecure client;
  client.setInsecure(); // Nem ellenőrizzük a tanúsítványt (egyszerűbb)

  HTTPClient http;
  String url = String(WEATHER_API_URL) +
               "lat=" + LATITUDE +
               "&lon=" + LONGITUDE +
               "&units=metric&appid=" + API_KEY;

  http.setTimeout(8000);
  http.begin(client, url);
  int httpCode = http.GET();

  if (httpCode == HTTP_CODE_OK) {
    // JSON válasz beolvasása
    String body = http.getString();
    DynamicJsonDocument doc(4096);

    // JSON pars-olása
    DeserializationError err = deserializeJson(doc, body);
    if (err) {
      Serial.printf("JSON parse hiba: %s\n", err.f_str());
      http.end();
      return false;
    }

    // Mezők ellenőrzése
    if (!doc.containsKey("sys") || !doc["sys"].containsKey("sunrise")) {
      Serial.println("JSON parse hiba: hiányzó sunrise mező.");
      http.end();
      return false;
    }
    if (!doc["sys"].containsKey("sunset")) {
      Serial.println("JSON parse hiba: hiányzó sunset mező.");
      http.end();
      return false;
    }

    // Epoch → helyi idő konverzió
    time_t sr_utc = doc["sys"]["sunrise"].as<long>();
    time_t ss_utc = doc["sys"]["sunset"].as<long>();

    localtime_r(&sr_utc, &sunrise_local_tm);
    localtime_r(&ss_utc, &sunset_local_tm);

    Serial.printf("Napkelte: %02d:%02d\n", sunrise_local_tm.tm_hour, sunrise_local_tm.tm_min);
    Serial.printf("Napnyugta: %02d:%02d\n", sunset_local_tm.tm_hour, sunset_local_tm.tm_min);

    http.end();
    return true;
  }

  // Ha a HTTP nem OK
  Serial.printf("HTTP hiba: %d\n", httpCode);
  http.end();
  return false;
}

// Mindent egyszer frissít: NTP + napkelte/napnyugta
void synchronization() {
  wifi_connect();
  if (WiFi.status() != WL_CONNECTED) { wifi_disconnect(); return; }

  bool ntp_ok = syncTimeWithNTP();
  bool wx_ok  = updateSunriseSunset();

  synced_today = ntp_ok && wx_ok;
  wifi_disconnect();
}

void setup() {
  Serial.begin(115200);

  // Helyi időzóna beállítása az RTC-nek
  setenv("TZ", LOCAL_TIMEZONE, 1);
  tzset();

  // Induláskor idő + napkelte/nyugta frissítés
  synchronization();
}

void loop() {
  time_t now_utc = time(nullptr);
  struct tm gt;
  gmtime_r(&now_utc, &gt);

  // Naponta egyszer 01:00 után frissítünk
  if ((gt.tm_hour == 0) && synced_today) synced_today = false;
  if ((gt.tm_hour == 1) && (gt.tm_min == 0) &&
      (gt.tm_sec > 29) && !synced_today) synchronization();

  printNowBoth(); // Debug: kiírás minden mp-ben
  delay(1000);
}

2023. augusztus 6., vasárnap

Logikai játékok

Sokoban

A Sokoban egy klasszikus logikai puzzle játék, amelyben a játékos egy karaktert irányít, aki egy labirintusban mozog, hogy blokkokat mozgatson különböző helyre. A cél az, hogy minden blokkot egy célzónába helyezzen.

A játékot 1981-ben fejlesztette ki Hiroyuki Imabayashi a Sharp X1 számítógéphez. Azóta számos platformra átültették, és számos változata is megjelent.

A Sokoban egy népszerű játék, amelyet sok ember élvezi. A játék egyszerű, de nehéz, és sok kihívást jelent. A Sokoban egy jó módja a logikai készségek és a problémamegoldó képességek fejlesztésének.

Sokobond

A Sokobond egy logikai puzzle játék, amelyet Alan Hazelden és Harry Lee készített. A játék 2013 augusztusában jelent meg. 

A Sokobond játékmenete a Sokoban játékmenetére épül. A játékos egy karaktert irányít, aki egy labirintusban mozog, hogy blokkokat mozgatjon különböző helyre. A cél az, hogy minden blokkot egy célzónába helyezzen.

A Sokobondban azonban a blokkok kémiai szimbólumok. A játékos célja, hogy a blokkokat úgy helyezze el, hogy kémiai molekulákat képezzen. A molekulák különböző tulajdonságokkal rendelkeznek, és bizonyos molekulákat csak bizonyos helyekre lehet elhelyezni.

A Sokobond egy nehéz játék, de nagyon szórakoztató. A játékot számos platformon elérhető, és ingyenesen letölthető.

Íme néhány tipp a Sokobondhoz:

  • Figyelje a molekulák tulajdonságait.
  • Használjon logikát és stratégiát a molekulák elhelyezéséhez.
  • Ne féljen próbálkozni.
  • A játékot többször is lehet játszani, mivel számos különböző szint áll rendelkezésre.

Lemmings

A Lemmings egy 1991-ben megjelent logikai puzzle játék, amelyet a DMA Design fejlesztett és a Psygnosis adott ki. A játékban a játékos egy csapat Lemmings nevű kis teremtmény irányítását veszi át, akik egy labirintusban vannak. A játékos célja, hogy minden Lemminget a kijárathoz vezessen.

A Lemmings játékmenete egyszerű. A játékos a Lemmings-eket egy adott feladat elvégzésére tudja küldeni. A Lemmings-ek különböző feladatokat végezhetnek el, például áshatnak, építhetnek hidat, vagy ejtőernyőzhetnek. A játékos korlátos számú Lemminggel rendelkezik, így a játékosnak taktikusan kell használnia őket.

A Lemmings egy népszerű játék, amelyet sok ember élvezi. A játék egyszerű, de nehéz, és sok kihívást jelent. A Lemmings egy jó módja a logikai készségek és a problémamegoldó képességek fejlesztésének.

The Incredible Machine


A The Incredible Machine egy fizikán alapuló puzzle játék, amelyet a Dynamix fejlesztett és a Sierra On-Line adott ki 1993-ban. A játékban a játékos egy eszközkészletet használhat különböző gépek elkészítéséhez, amelyek célja, hogy különböző feladatokat hajtsanak végre.

A játék számos különböző eszközt tartalmaz, például rugókat, lengőket, csavarkulcsokat, kalapácsokat és még sok mást. A játékos ezeket az eszközöket úgy használhatja, hogy különböző gépeket hozzon létre. A gépek különböző feladatokat végezhetnek el, például tárgyakat mozgathatnak, tárgyakat építhetnek, vagy tárgyakat megsemmisítenek.

A játék számos különböző szinttel rendelkezik, amelyek különböző nehézségűek. A kezdő szintek egyszerűek, és csak néhány eszközt tartalmaznak. A haladó szintek nehezebbek, és több eszközt tartalmaznak. A legnehezebb szintek olyan bonyolultak, hogy szinte lehetetlen őket megoldani.

A The Incredible Machine egy népszerű játék, amelyet sok ember élvezi. A játék egyszerű, de nehéz, és sok kihívást jelent. A The Incredible Machine egy jó módja a logikai készségek és a problémamegoldó képességek fejlesztésének.

Aargon 


Ez egy logikai kirakós játék, ahol a játékosnak könnyű gépeket kell építenie lézerek és különféle eszközök segítségével a lézerek manipulálásához. Az eszközök között megtalálhatók a prizmák, tükrök, osztók, refraktorok, színátalakítók és még sok más... A nyeréshez a játékosnak meg kell találnia egy fénymintát, hogy egyszerre eltalálja az összes színes érmét a szinten. Vannak olyan akadályok, amelyeket figyelembe kell venni, mint például a tükörfaló nyálka, vagy a mérgező hulladékot tartalmazó hordók.

3D-s logikai játékok

A Portal és a Viewfinder egyaránt első személyű lövöldözős játékok, amelyekben a játékosok rejtvényeket oldanak meg. A két játék azonban nagyon különböző mechanikákkal és hangulatokkal rendelkezik. A Portal egy gyors tempójú, akciódús játék, amelyben a játékosok portálokat használnak a térben való mozgáshoz és a rejtélyek megoldásához. A Viewfinder egy lassabb tempójú, gondolkodtatós játék, amelyben a játékosok képeket készítenek a környezetükről, és ezeket a képeket használják fel rejtvények megoldására.

Portal



A Portal egy első személyű lövöldözős játék, amelyet a Valve Corporation fejlesztett ki és adott ki. Az eredeti játék 2007-ben jelent meg, mint a Half-Life 2 kiegészítője, és később önálló játékként is kiadták.

A Portalt dicsérték a mechanikájának, a grafikájának és a humorának miatt. A játékot számos díjra jelölték, köztük a Game of the Year díjra is.

Íme néhány jellemzője a Portalnak:
  • Eredeti és innovatív játékmenet, amelyben a játékosok portálokat használnak a térben való mozgáshoz és a rejtélyek megoldásához.
  • Humoros és karizmatikus történetmesélés, amelyben a játékosok találkoznak a GLaDOS-szal, a játék ellenséges mesterséges intelligenciájával.
  • Kihívó és szórakoztató rejtélyfejtés.
  • Szép és részletgazdag grafika.
  • Izgalmas és feszült játékmenet.
Ha egy eredeti és innovatív játékot keresel, amely kihívást jelent és szórakoztat, akkor a Portalt mindenképpen érdemes kipróbálnod.

Viewfinder


A Viewfinder egy első személyű kalandjáték, amelyet a Sad Owl Studios fejlesztett és a Thunderful Games adott ki 2023-ban.

A Viewfinderben a játékos egy névtelen főszereplőt irányít, aki egy furcsa létesítményben ébred fel. A főszereplő egy azonnali fényképezőgéppel van felszerelve, amely képes életre kelteni a képeket. 

A játékosoknak a fényképezőgépet a rejtélyek megoldásához és a játék előrehaladásához kell használniuk. A játékban különböző nehézségű rejtélyek találhatók, egyszerűektől a bonyolultakig. Egyes rejtélyekhez a játékosoknak a fényképezőgépet tárgyak létrehozásához kell használniuk, amelyeket más rejtélyek megoldásához lehet használni. 

Más rejtélyekhez a játékosoknak a fényképezőgépet a környezet manipulálásához kell használniuk ahhoz, hogy előrehaladjanak. A Viewfinder erős történetet is tartalmaz. A játék története egy sor hangfelvétel és környezeti nyomok sorozatán keresztül kerül elmesélésre. A játékosoknak össze kell rakniuk a történetet annak érdekében, hogy megértsék, mi történik és miért. 

A Viewfinder egy kihívást jelentő, de jutalmazó játék. A rejtélyek jól megtervezettek, és a történet magával ragadó. A játék grafikája is lenyűgöző, stilizált művészeti stílussal, amely segít létrehozni egy egyedi és emlékezetes atmoszférát.

Íme néhány a Viewfinder jellemzői közül:
  • Egyedi és innovatív játékmenet, amely lehetővé teszi a játékosok számára, hogy életre keltsék a képeket.
  • Kihívást jelentő és jutalmazó rejtélyrendszer, amely próbára teszi a problémamegoldó képességeidet.
  • Erős történet, amely lekötötten tart a játék egészében.
  • Szép és stilizált grafika, amely segít létrehozni egy egyedi atmoszférát.
Ha egy egyedi és kihívást jelentő kalandjátékot keresel, akkor a Viewfinder mindenképpen megéri kipróbálni.

Superliminal



A Superliminal egy első személyű kirakós játék, amely kényszerített perspektíva és optikai csalódásokon alapul. A játékosoknak meg kell változtatniuk nézőpontjukat, és a dobozon kívül kell gondolkodniuk, hogy megoldják a fejtörőket.

A játék története egy egyszerű emberről szól, aki egy álomterápiás programban vesz részt. A program célja, hogy segítsen a játékosnak megbirkózni a rémálmaival. A játékos egyre mélyebbre merül az álomvilágba, és egyre furcsább és elgondolkodtatóbb helyzetekbe kerül.

A játék során a játékos számos különböző fejtörővel találkozik. Ezek a fejtörők gyakran arra ösztönzik a játékost, hogy gondolkodjon a perspektíváról és a gravitációról. Például a játékosnak egy távoli tárgyat közelebb kell húznia ahhoz, hogy áthaladjon egy ajtón, vagy egy nagy tárgyat kicsire kell zsugorítania, hogy elférjen egy kis nyíláson.

A Superliminal egy innovatív és szórakoztató kirakós játék, amely meglepő és elgondolkodtató élményt nyújt. A játék szépen illusztrált, és a hangulatát a kellemes zenével és a hanghatásokkal erősítik.

A játékot pozitívan fogadták a kritikusok, akik dicsérték a játékmenetet, a grafikát és a történetet. A Superliminal számos díjat nyert, köztük a 2019-es Indiecade Game of the Year díjat.

Íme néhány további részlet a játékról:
  • A játék 12 szintet tartalmaz, amelyek mindegyike egy új kihívást és új perspektívát kínál.
  • A játékban számos rejtett elem található, amelyeket a játékos felfedezhet.
  • A játék többjátékos módja lehetővé teszi két játékos számára, hogy együtt oldják meg a fejtörőket.
Ha szereted a kirakós játékokat, és szívesen gondolkodsz a perspektíváról, akkor a Superliminal neked való játék.

The Entropy Centre

A The Entropy Centre egy első nézőpontú puzzle-kalandjáték, melyben az idő manipulálásával kell leküzdenünk a kihívásokat. A játékos Aria Adams bőrébe bújik, aki egy titokzatos létesítményben ébred a Holdon, minden emléke nélkül. Feladata, hogy megoldja a fejtörőket és feltárja a létesítmény titkait, miközben Astra nevű mesterséges intelligencia segít neki.

A játékmenet a Portal-sorozathoz hasonló, de egyedi időmanipulációs mechanikával bővült. A játékos egy eszközt kap, amellyel visszaforgathatja az időt, hogy megoldja a fizikai és logikai feladatokat. A játék tele van kreatív fejtörőkkel, amik próbára teszik a játékos logikai gondolkodását és problémamegoldó képességét.

A The Entropy Centre nem csak a fejtörői miatt lenyűgöző, de a humoros hangvétele és a magával ragadó története miatt is. A játék tele van élénk karakterekkel és szellemes párbeszédekkel, amik remek kikapcsolódást nyújtanak a játékosoknak.

Összefoglalva, a The Entropy Centre egy kiváló puzzle-kalandjáték, amik remek szórakozást nyújt mindazoknak, akik szeretik a kihívást és a kreatív fejtörőket. A játék egyedi időmanipulációs mechanikája, humoros hangvétele és magával ragadó története miatt mindenképp kipróbálásra ajánlott.

Q.U.B.E. 2


A Q.U.B.E. 2-ben különleges kesztyűt viselsz, amellyel megváltoztathatod és adaptálhatod az építészeti struktúrát a bolygóról való menekülés során. A játékmenet a felfedezésre és a fejtörők megoldására összpontosít, miközben egyre nehezebb kihívások elé állsz. A történet során izgalmas kérdésekre is választ kell adnod a valódi céloddal és a titokzatos építmény eredetével kapcsolatban.

A Q.U.B.E. 2 főbb jellemzői a következők:
  • 11 fejtörő zóna és több mint 80 egyéni fejtörő
  • Sokféle környezet, amelyek bővítik a Q.U.B.E. univerzumot
  • Teljesen új kaland és karakterek
  • Új és továbbfejlesztett játékmechanika
  • Eredeti zenei aláfestés a BAFTA-díjas David Housden zeneszerzőtől
  • Teljes színtévesztés-támogatás szimbólumokkal a színvakság kompenzálására
A Q.U.B.E. 2 egy magával ragadó és kihívást jelentő puzzle-kalandjáték, amely lenyűgöző látványvilággal és izgalmas történettel büszkélkedhet. Ha szereted a fejtörőket és a rejtélyeket, akkor a Q.U.B.E. 2 mindenképpen kipróbálandó játék.