Autor: ioannis

  • Kartenspiel auf verschiedenen Handys

    Kartenspiel auf verschiedenen Handys

    Klar, das klingt nach einer richtig coolen Idee – eine Art „digitale Kartengeber-App“ 🎴📱📱📱

    Ich skizziere dir:

    1. Wie der Ablauf für die Spieler aussieht (UX / Flow)
    2. Welche technischen Bausteine du brauchst (Architektur)
    3. Wie man das mit „Touch von Handy zu Handy“ umsetzen könnte
    4. Extras: Fairness / Sicherheit / Cheatschutz

    1. Nutzer-Flow (aus Sicht der Spieler)

    Stell dir eine Runde am Tisch vor:

    Schritt 1: Tisch / Runde erstellen

    • Eine Person ist „Dealer“ (Host der Runde).
    • Der Dealer öffnet die App → klickt auf „Neue Runde starten“.
    • Er wählt:
      • Spieltyp: Texas Hold’em, Omaha, etc.
      • Anzahl Spieler (z. B. 2–9)
    • Die App generiert einen Tisch-Code oder QR-Code (z. B. TABLE-7F3K).

    Schritt 2: Spieler joinen

    • Alle anderen Spieler öffnen die App → „Runde beitreten“.
    • Optionen zum Beitreten:
      • QR-Code vom Dealer-Handy scannen
      • Oder Tisch-Code eingeben
    • Sobald sie drin sind, sehen sie:
      • eine Liste der Player (Namen oder Nicknames)
      • ihren eigenen Sitzplatz (Seat) am virtuellen Tisch

    Schritt 3: „Touch von Handy zu Handy“

    Hier kommt dein spezielles Feature:

    • Wenn ein Spieler beitritt, hält er sein Handy kurz an das Dealer-Handy:
      • Technisch: NFC-Touch oder Bluetooth-Handshaking starten
      • App zeigt z. B. „Handy an Dealer halten, um zu verbinden“
    • Nach dem Touch:
      • Die Geräte sind gepairt (Direktverbindung aufgebaut).
      • Ab jetzt laufen alle Kartendaten verschlüsselt direkt zwischen Dealer und Spieler.

    Wichtiger Punkt: Der „Touch“ ist vor allem für die Verbindung / Kopplung – die Karten selbst werden digital über die Verbindung geschickt, nicht über NFC-Datei oder so.

    Schritt 4: Mischen & Geben

    • Wenn alle Spieler verbunden sind, drückt der Dealer „Mischen & geben“.
    • Die App:
      • mischt ein virtuelles 52-Karten-Deck
      • teilt den Spielern ihre Karten zu
    • Jeder Spieler sieht nur seine eigenen Karten auf seinem Display.
    • Gemeinsame Karten (z. B. Flop/Turn/River bei Texas Hold’em) werden:
      • auf allen Geräten gleich angezeigt
      • oder auf einem zentralen Gerät (z. B. Tablet in der Mitte)

    Schritt 5: Spielverlauf

    • Aktionen pro Spieler: Check, Bet, Fold, Call, Raise (optional).
    • Du kannst aber auch sagen:
      „Nur Karten verteilen, setzen machen wir weiterhin mit echten Chips.“
      → Dann ist die App nur die digitale Kartenmaschine.

    2. Technische Architektur (High-Level)

    A. Rollen und Verbindungen

    • Dealer-Gerät (Host):
      • erstellt und verwaltet das Karten-Deck
      • hält den „wahren Zustand“ des Spiels
      • ist Router für Informationen (z. B. wer welche Karten bekommt)
    • Spieler-Geräte (Clients):
      • verbinden sich mit dem Host über:
        • lokales WLAN (Peer-to-Peer, WebSockets)
        • oder Bluetooth / Bluetooth LE
        • oder einen lokalen Server im Hotspot des Dealers
      • empfangen nur ihre eigenen Karten + öffentliche Infos

    B. Kommunikationstechnologien

    Mögliche Optionen:

    • Bluetooth / Bluetooth LE:
      • Gut für „Touch-Pairing“, funktioniert ohne WLAN
        – Kann komplizierter sein bei mehreren gleichzeitigen Verbindungen
    • NFC:
      • Ideal für „Touch“, aber eher für:
        • Austausch eines Tokens / Schlüssels
        • Starten einer anderen Verbindung (z. B. WebSocket URL, Bluetooth pairing)
          – Nicht geeignet, um dauerhaft Daten (z. B. alle Karten) zu streamen
    • Lokales WLAN + WebSockets (oder WebRTC):
      • Sehr stabil für mehrere Geräte
      • Auch machbar als Progressive Web App (WebApp im Browser)
        – Alle müssen im selben WLAN/Hotspot sein

    Eine realistische Kombination:

    Touch (NFC) → Übergabe eines Verbindungs-Tokens → danach WebSocket-Verbindung zum Dealer über lokales Netzwerk.


    3. Datenmodell (vereinfacht)

    Kartenrepräsentation:

    {
      "rank": "A",
      "suit": "hearts", 
      "id": "AH"
    }
    

    Deck:

    {
      "cards": ["2H", "3H", ..., "AD", "AC"]
    }
    

    Spieler:

    {
      "player_id": "p1",
      "name": "Lisa",
      "seat": 1,
      "device_id": "abc123"
    }
    

    Verteilte Hand:

    {
      "player_id": "p1",
      "hand": ["AH", "KD"]
    }
    

    4. Fairness & Sicherheit (Cheatschutz)

    Wichtig bei so einer App: Niemand darf die Karten der anderen sehen, auch der Dealer nicht.

    Mögliche Ansätze:

    A. „Dealer weiß alles“ (einfach)

    • Dealergerät generiert das Deck, weiß alle Karten.
    • Schickt jedem Spieler seine Karten.
    • Problem: Dealer könnte theoretisch spicken → für Fun-Runden okay, nicht für ernstes Gambling.

    B. Kryptografischer Ansatz (fair, komplexer)

    • Alle Geräte beteiligen sich am Mischen & Verschlüsseln.
    • Grobe Idee:
      • Deck wird mit Zufall pro Gerät mehrfach permutiert (wie gemeinsames Mischen).
      • Karten werden verschlüsselt, jeder Spieler kann nur seine Karten entschlüsseln.
    • Das ist deutlich komplizierter, aber super fair.
    • Wenn du soweit noch nicht gehen willst, kannst du mit Variante A starten und später upgraden.

    5. UI / Design-Ideen

    Dealer-Screen

    • Oben: Tischname / Code (TABLE-7F3K)
    • Mitte: runder Tisch mit Avataren/Namen der Spieler
    • Unten: Button „Mischen & geben“

    Spieler-Screen

    • Oben: Tischname, Position (z. B. „Seat 3“)
    • Mitte: zwei große Karten (für Hold’em) mit schöner Animation:
      • Karten kommen „von oben“ rein, sobald gedealt wird
    • Unten (optional):
      • Buttons: Fold | Check/Call | Bet/Raise

    6. Tech-Stack-Vorschlag

    Wenn du das wirklich bauen willst:

    • Cross-Platform (empfohlen):
      • Flutter oder React Native
      • Vorteil: Eine Codebasis für iOS & Android
    • Backend/Netzwerk:
      • Ideal: komplett lokal, ohne Internet-Server
        • z. B. WebSocket-Server auf Dealer-Gerät (wenn machbar)
        • oder alle verbinden sich über Hotspot + kleines Backend (Node.js) auf einem Laptop/Server/Tablet
      • Alternativ: Minimaler Cloud-Server nur für Matchmaking, Spiel-Logik trotzdem lokal

    7. Zusammenfassung in einem Satz

    Ja: Man kann eine App designen, bei der ein Dealer-Handy ein virtuelles Pokerdeck mischt und die Karten per lokaler Verbindung (getriggert durch „Touch“ via NFC/Bluetooth) verschlüsselt an die einzelnen Spieler-Handys sendet – technisch absolut machbar.


    Im nächsten Schritt kann man:

    • einen konkreten Screen-Flow als Liste ausarbeiten (Screen für Screen)
    • oder ein grobes Architekturdiagramm textuell beschreiben
    • oder Beispiel-Code für das Mischen & Verteilen (z. B. in TypeScript/Flutter/Dart).

    Okay, hier ist ein grobes Architekturdiagramm für deine Pokerkarten-App – textuell beschrieben, so dass du es später auch z. B. in Draw.io, Miro oder PlantUML nachbauen kannst.


    1. Haupt-Komponenten (Überblick)

    Physisch / logisch:

    • 📱 Dealer-Gerät (Host)
      • Game-Engine (Deck, Shuffle, Deal, Spielstatus)
      • Verbindungsmanager (Spieler verbinden/trennen)
      • Kommunikationsserver (WebSocket/Bluetooth-Host)
    • 📱 Spieler-Geräte (Clients)
      • UI für Handkarten
      • Verbindung zum Dealer
      • Empfang & Anzeige eigener Karten
    • 🌐 (Optional) Backend-Server / Lobby
      • Nur zum Matchmaking / Statistiken / Accounts
      • Spiel selbst kann komplett lokal laufen
    • 🔗 Kommunikationsebene
      • NFC / Bluetooth (für „Touch & Pairing“)
      • WLAN / WebSocket / WebRTC (für Datentransfer im Spiel)

    2. Diagramm (grobe Text-Ansicht)

                               +-------------------------+
                               |   (Optional) Backend    |
                               |  - Lobby / Matchmaking  |
                               |  - User Accounts        |
                               |  - Statistiken / Logs   |
                               +-----------+-------------+
                                           ^
                                           | (https / REST, optional)
                                           v
    
    +------------------------------------------------------------+
    |                  Lokales Poker-Spielnetz                   |
    |                                                            |
    |   +------------------+          WebSocket / BT             |
    |   | Dealer-Gerät     |<-----------------------------------+
    |   |  (Host)          |<---------+  +-------------------+   |
    |   |------------------|          |  | Spieler-Gerät 1   |   |
    |   |  UI (Dealer)     |          |  |-------------------|   |
    |   |  Game Engine     |          |  |  UI (Handkarten)  |   |
    |   |  - Deck mgmt     |          |  |  Client-Logik     |   |
    |   |  - Shuffle       |          |  |  Verbindungsmodul |   |
    |   |  - Deal Logic    |          |  +-------------------+   |
    |   |  Spielstatus     |          |          ^
    |   |------------------|          |          | NFC/Bluetooth
    |   |  Verbindungs-    |<---------+----------+
    |   |  manager         |          |
    |   |  - NFC Touch     |          |  +-------------------+
    |   |  - Pairing       |          |  | Spieler-Gerät 2   |
    |   |  - Sitzplätze    |          |  |-------------------|
    |   |------------------|          |  |  UI (Handkarten)  |
    |   |  Kommunikations- |<---------+  |  Client-Logik     |
    |   |  server          |             |  Verbindungsmodul |
    |   |  - WebSocket /   |             +-------------------+
    |   |    BT Host       |                    ...
    +---+------------------+--------------------------------------+
    

    3. Schichten-Architektur (logisch)

    Auf dem Dealer-Gerät

    Präsentationsebene (UI):

    • Lobby / Tischübersicht
    • Spieler-Liste & Sitzplätze
    • Button: „Neue Runde“, „Mischen & Geben“, „Nächste Straße“

    Domänenlogik (Game Engine):

    • DeckService
      • Erzeugt 52 Karten
      • Shuffle (z. B. Fisher-Yates)
    • DealingService
      • verteilt Karten an Spieler (Mapping playerId → cards)
    • GameState
      • wer ist dran, welche Runde (Preflop, Flop, …)
      • Community Cards
    • (Optional) RulesEngine
      • Handwertung etc.

    Kommunikation:

    • ConnectionManager
      • NFC-Listener (Touch → Token / PlayerID)
      • Spieler verbinden / trennen
    • TransportLayer
      • WebSocket-Server oder Bluetooth-Host
      • Routing:
        • Privat: Handkarten → nur an genau ein Spielergerät
        • Broadcast: Gemeinschaftskarten & Status → an alle

    Auf den Spieler-Geräten

    UI:

    • Anzeige der eigenen Handkarten (2 Karten, animiert)
    • Anzeige der Community Cards (oder nur optional)
    • (Optional) Buttons für Aktionen (Fold, Call, Raise)

    Client-Logik:

    • SessionManager
      • Tisch beitreten (Code / QR)
      • Registrierung beim Dealer (PlayerId)
    • CardViewModel
      • Speichert empfangene Karten lokal
    • ActionSender (optional)
      • sendet Spielaktionen an Dealer (Bet/Fold)

    Kommunikation:

    • TransportClient
      • Verbindet per WebSocket / BT zum Dealer
      • Handshake nach NFC-Touch (z. B. mit Token)
      • Event-Listener für Nachrichten:
        • HAND_DEAL
        • COMMUNITY_UPDATE
        • GAME_STATE

    4. Datenfluss (vereinfacht)

    1. Spieler verbindet sich:
      • NFC-Touch → Dealer-App liest minimalen Payload (z. B. URL/Token)
      • Spieler-App baut Verbindung zum Dealer auf → JOIN-Event
    2. Dealer mischt & gibt:
      • DeckService.shuffle()
      • DealingService.dealToPlayers()
      • Für jeden Spieler:
        • Nachricht HAND_DEAL { playerId, cards: ["AH","KS"] } nur an diesen Client
    3. Spiel läuft:
      • Dealer oder Regeln bestimmen nächste Phase
      • Community Cards werden erzeugt und als COMMUNITY_UPDATE an alle geschickt

  • Drei Dimensionale Zeit

    Drei Dimensionale Zeit

    Was ist wenn es mehere Dimensionen der Zeit gibt. Also so wie es xyz koordinatensystem gibt, dass es ein t1 t2 t3 koordinatensytem gibt?

    Die Idee, dass es mehrere Dimensionen der Zeit geben könnte – also ein t1-t2-t3-Koordinatensystem analog zu x-y-z – ist faszinierend, aber sie wirft sofort einige tiefgehende physikalische und philosophische Fragen auf. Ich erkläre dir verständlich, was das bedeuten würde.


    🧠 1. Was bedeutet eine Zeitdimension überhaupt?

    Eine einzelne Zeitdimension (t) legt die Reihenfolge von Ereignissen fest:
    Vergangenheit → Gegenwart → Zukunft.
    Sie erlaubt auch Konzepte wie Kausalität: Ursache → Wirkung.

    Wenn du mehrere Zeitdimensionen hättest, wäre diese einfache Ordnung nicht mehr eindeutig.


    🔮 2. Was wäre anders, wenn es t1, t2, t3 gäbe?

    🔸 A) Kausalität würde sehr seltsam werden

    Bei einer Zeitdimension können wir klar sagen:
    Ereignis A kommt vor Ereignis B.

    Mit zwei oder drei Zeitdimensionen müsstest du definieren, was „vorher“ bedeutet.
    Ein Ereignis könnte in t1 früher, aber in t2 später liegen → die Kausalstruktur bricht zusammen.

    Physikalisch könnte das heißen:

    • Ereignisse könnten einander gleichzeitig beeinflussen.
    • Ursache und Wirkung wären nicht mehr eindeutig.

    Viele Physiker sagen: Das Universum wäre kaum stabil.


    🔸 B) Bewegung wäre extrem kompliziert

    Ein Objekt hätte nicht nur eine Geschwindigkeit in der Zeit, sondern mehrere:

    • vₜ₁
    • vₜ₂
    • vₜ₃

    Welche bestimmt dann das „Altern“ oder die Uhrzeit eines Beobachters?


    🔸 C) Relativitätstheorie funktioniert nicht mehr wie bisher

    Unsere moderne Physik baut auf einer Raum-Zeit auf: 3 Raumdimensionen + 1 Zeitdimension.

    Warum genau eine Zeitdimension?

    • Mit mehr Zeitdimensionen würden Minkowski-Räume instabil werden.
    • Signaturen der Metrik (−+++) wären nicht mehr eindeutig.
    • Viele Lösungen würden physikalisch unsinnige Effekte wie unendlich viele Teilchen erzeugen.

    Tatsächlich wurde mathematisch gezeigt:
    👉 Theorien mit mehr als einer Zeitdimension führen i. d. R. zu Instabilität, Tachyonen und Verletzung der Energiebedingungen.


    🧪 3. Aber: In der theoretischen Physik wird damit gespielt

    Einige exotische Modelle untersuchen 2 Zeitdimensionen:

    🔹 2-Time Physics (Itzhak Bars)

    Versucht, die Welt als Projektion einer höherdimensionalen Raumzeit mit 2 Zeitachsen zu verstehen.

    🔹 Stringtheoretische Modelle

    Manche mathematische Konstruktionen erlauben zusätzliche „zeitartige“ Dimensionen – diese müssen aber irgendwie „versteckt“ oder nicht-physikalisch sein.


    🌀 4. Was wäre intuitiv vorstellbar?

    A) Eine Zeitdimension als „innere Zeit“

    Man könnte sich vorstellen:

    • t1: die gewohnte Zeit (Bewegung, Alterung)
    • t2: eine „Phase“ oder zyklische Zeit
    • t3: eine Quantendynamikzeit

    Das wäre aber rein spekulativ.

    B) Zeit als Vektor statt als Skalar

    Statt „Zeitpunkt“ = 1 Wert
    wäre „Zeitpunkt“ = (t1, t2, t3)

    Vergleiche:
    Eine Uhr müsste 3 Zeiger haben, aber nicht wie Stunden/Minuten/Sekunden, sondern drei unabhängige Zeitskalen, die alle gleichzeitig „laufen“.


    🧩 5. Fazit

    Die Vorstellung eines t1-t2-t3-Systems ist theoretisch möglich, aber:

    • Die Physik wird extrem instabil.
    • Kausalität wird undefiniert.
    • Die bekannten Naturgesetze funktionieren nicht mehr.

    Darum erwarten viele Physiker, dass das Universum genau eine physikalische Zeitdimension hat.


  • Digitale Kleidung

    Digitale Kleidung

    Das Jahr 2035: es folgt das Gespräch zweier Menschen aus der Generation „Digital II“, die an der Holobahn Haltestelle auf die Holobahn warten. diese hat bereits 35 Sekunden Verspätung. „Hey, kannst du Dich noch an die alten Zeitem erinnern? Damals, als es noch keine Lasermagnetische Kleidung gab?“. „Ja… das waren bittere Zeiten damals! Man musste Stoffkleider tragen. So hat man sich damals bedeckt vor der kälte und im Sommer wurde der Stoff auch kürzern. auch.“ „Und im Sommer hatte man sieselbe Hardware, und die war nicht einmal klimatisiert! Nicht zu vergessen, dass sie sich umziehen mussten wenn die Kleidung dreckig war oder zum Schlafen. Und das umziehen hat weitaus länger als 2,3 Sekunden gebraucht. Was für eine Verschwendung der Zeit! Was für eine komische Zeit. „und gegen die Sonne, hatten sie auch solche Dinger die Schatten machen, Sie nannten sie Hüte… Hahahah. Aus stoff waren diese auch. Ts! völlig Analog „Boah, Wie einfach doch die Generation Z war….“. True!

  • Chipseria

    Chipseria

    Ein gehobenen ort bzw. restaurant wo man Kartoffel Chips aller arten essen kann. Würmis oder Taccos oder Naccos mit käse dipp oder tomaten dipp oder tabasco essen kann, nennt man Chpseria

  • Diätenorte

    Diätenorte

    das spezielle restaurants anzeigt die nach diätplänen kochen. Der Diätplan wird in Zentren/Restaurants kundenspezifisch gekocht. Da dem user die Zeit fehlt für sich selber zu kochen, gebe ich das rezept in diesen speziellen zentren-restaurants und die kochen das rezept und ich kann das dort essen. Eine strenge diät wird eingehlalten. Vorschlag: Omas kochen auf Rezept – das Rezept bietet Personal Diaetologe. Die Zentren wo man auf Rezept essen kann nennen sich Diäten

  • Adaptiver Einkaufswagen

    Adaptiver Einkaufswagen

    Ein adaptiver Einkaufswagen, wo man den Korb leicht abgmontieren kann. Somit kann man den Korb ohne das lästige in die einkaufstüten packen, die waren ins auto verfrachten in dem man den einkaufskorp in den Eingaufswagen bzw das gerüßt ansteckt. Das lästige einsortieren entfällt. Der Korb kann im shob gekauft oder abmontiert werden.

  • Digitaler Einkaufswagen Chip

    Digitaler Einkaufswagen Chip

    Digitale PfandMarke für einen Einkaufswagen

  • Digitaler Hut

    Digitaler Hut

    Eine Sonnenbrille die einen digitalen Hut abbildet, die zusätzlich zu den Gläsern über einen Laserstrahl einen Hut formt. Dieser digitaler Hut formt einen künstlichen schatten über dem gesicht. der vor der Sonne schützt. die sonnenstrahlen werden von dem laser abgefiltert oder „abgeschnitten“.

  • ZEITLOS im Raum

    ZEITLOS im Raum

    WENN WIR UNS AM PUNKT X1 TREFFEN BRAUCHEN WIR DIE DEFINITION DER ZEIT NICHT SONDERN NUR Die des Raumes, DENN DIE ERDE BEWEGT SICH KONSTANT IN einem GITTER aus punkten. Wir TREFFEN UNS AM PUNKT X1 im Gitter des Universums, wird ausreichen um den PUNKT zu treffen, denn die erde bewegt sich im gitter. punkt für punkt. WENN WIR UNS AM PUNKT X1 TREFFEN BRAUCHEN WIR DIE DEFINITION DER ZEIT NICHT SONDERN NUR die des Raumes RAUM DENN DIE ERDE BEWEGT SICH KONSTANT IN DEM GITTER. Wir haben zwei Koordinatensysteme: Koordinatensystem der Erde K_erde, Koordinatensystem des Universums K_Univ. WEnn wir einen Treffpunkt an der Erdoberfläche in Relation zum Koordinaten System der Erde vereinbaren und dieser PUnkt mit dem Trefpunkt der erde im Universum zusammentrifft braucht man die Zeit nicht. Mann kann den genauen Treffpunkt bestimmen ohne die Zeitangabe, nur durch die entfernung. Wenn TreffPunkt(Koord_Erde)= TreffPUnkt(Koord_Univers.)>>> dann dort trift man sich dort. Dieser Punkt macht die Zeitangabe überflüssig

  • Ampeln im Navi

    Ampeln im Navi

    Verkehrsampeln die miteinander vernetzt sind und in einem Navigationsgeraet abgebildet werden zusammen mit ihrem Status. Auch die Dauer des ampel Status soll auf dem Navi abgebildet werden. Die fzg wissen über das Navigatomionssystem wann die Ampel rot ist und stoppen automatisch.

    Step 1 – Schaltung Raspberry

    Step 2 – Zwischenergebnis