Programmieren – die besten Beiträge

Java, einfaches Spiel Informatik erstes Lernjahr

Hey :) Ich hab mal eine Frage an alle die ein bisschen Ahnung von Info haben. Ich habe seit Anfang des Schuljahrs Informatik in der Schule. Wir haben bis jetzt einfache Befehle in Java gelernt (erst mit Java Kara und dann ein bisschen mit BlueJ). Ich kann bis jetzt Java Klassen erstellen, Objekte mit dem Konstruktor erstellen und Methoden für die Objekte. Bei den Methoden haben wir bis jetzt nur mit If-else anweisungen und Schleifen gearbeitet. Ich kann einen Übergabe- und einen Ausgabeparameter programmieren. Was ich damit sagen will ich kann eigl. erst ziemlich wenig. Wir haben bis jetzt ein Würfelspiel programmiert wo es zwei Spieler gibt die beide würfeln. der mit der höheren Punktzahl gewinnt.

Unsere Aufgabe für die nächsten wochen ist jetzt ein kleines Spiel zu programmieren und mit Java Editor eine einfache GUI für das Spiel. es muss überhaupt nicht schwer sein (als beispiel hatten wir Black Jack).

Meine eigentliche Frage ist jetzt was es noch für spiele gibt die nicht so schwer zu realisieren sind, ich hatte mir erst überlegt uno, memory vier gewinnt oder sowas aber ich weiß überhaupt nicht wie ich damit jetzt anfangen soll oder was ich machen soll, ich denke mal das ist zu schwer. Hat irgenjemand eine Idee? Sorry wegen dem langen verwirrenden Text ich hoffe jmd versteht mich überhaupt :D

Danke im Vorraus :)

Spiele, programmieren, Java, Informatik, GUI, Java Editor

Mensch gegen KI!

Hey, Ich teste gerade wer besser ist in Programiren. Dazu gebe ich den gleichen Text einer KI, und euch. Nun möchte ich wissen wer in diesen Thema besser ist.

Hir ist der Text, bitte entäuscht mich nicht:

SmartPrint ist eine vollständig integrierte, hochmoderne Lösung zur Steuerung, Überwachung und Verwaltung von 3D-Druckern. Die App wurde so konzipiert, dass sie den gesamten Druckprozess automatisiert und optimiert – von der Verwaltung und dem Upload von G‑Code-Dateien über den Druckstart und die Live-Überwachung bis hin zur detaillierten Auswertung von Verbrauchsdaten, Zeitrafferaufnahmen, Bewertungen und Favoriten. Dabei steht nicht nur der Funktionsumfang im Vordergrund, sondern auch ein ansprechendes, professionelles Design, das sowohl auf dem PC als auch in einer späteren mobilen Version im Hochformat für ein optimales Benutzererlebnis sorgt.

Hinter den Kulissen nutzt SmartPrint moderne und bewährte Technologien. Für die Desktop-Version der App kommt Electron in Kombination mit React zum Einsatz. Electron ermöglicht es, eine plattformübergreifende Desktop-Anwendung zu erstellen, während React für die Entwicklung einer dynamischen und responsiven Benutzeroberfläche verantwortlich ist. Mit abgerundeten, hochwertigen Buttons, klar strukturierten Tabs und ansprechenden Icons entsteht so ein Look, der dem Anspruch eines professionellen, teuren Produkts entspricht.

Die Steuerung des 3D-Druckers selbst erfolgt über die OctoPrint-API, die auf einem Raspberry Pi läuft. Auf diesem Pi wird ein leichtgewichtiges Betriebssystem (Raspberry Pi OS) eingesetzt, und OctoPrint übernimmt die direkte Ansteuerung des Druckers. Die Kommunikation zwischen der App und OctoPrint erfolgt über HTTP-Anfragen, bei denen Bibliotheken wie axios (im JavaScript-Teil) und requests (im Python-Backend) verwendet werden. Für die Server-Seite kommen Python 3 und Frameworks wie Flask zum Einsatz, um eine robuste API bereitzustellen, die den Druckstatus abruft, Druckaufträge startet oder abbricht und weitere notwendige Befehle ausführt.

Zusätzlich ist die App in verschiedene Tabs unterteilt, die jeweils spezifische Funktionen bieten. Im Home-Tab erhält der Nutzer sofort einen Überblick über den aktuellen Druckstatus, Fehleranzeigen, zuletzt genutzte Dateien und die Top 5 Drucke des Monats – basierend auf den abgegebenen Bewertungen. Im Tab für Dateiverwaltung und Drucksteuerung kann der Nutzer G‑Code-Dateien hochladen, organisieren, umbenennen und direkt oder zeitgesteuert einen Druck starten. Der Tab „Überwachung“ zeigt einen Live-Kamerastream, Verbrauchsdaten des Filaments (über eine angeschlossene USB-Waage) und den Stromverbrauch in Echtzeit an, während zudem die durchschnittliche Druckzeit aus vergangenen Aufträgen berechnet wird. Der Zeitraffer-Tab ermöglicht es, während des Drucks automatisch Zeitraffer-Videos aufzunehmen, deren Gesamtdauer vom Nutzer vorgegeben wird – die App berechnet automatisch das ideale Aufnahmeintervall, und die Videos werden nach drei Tagen automatisch gelöscht, sofern sie nicht manuell gesichert wurden. Der Online-Speicher-Tab bietet den direkten Zugriff auf Plattformen wie Thingiverse und ermöglicht das Speichern von 3D-Modellen sowie die Verwaltung von hochwertigen Filamenten. Darüber hinaus sind Bewertungs- und Favoritenfunktionen integriert: Nach Abschluss eines Drucks wird automatisch eine Benachrichtigung zur Bewertung angezeigt, bei der der Nutzer mittels eines Sternebewertungssystems und optionaler Kommentare den Druck bewerten kann – Bewertungen sind dauerhaft gespeichert und können nicht nachträglich geändert werden. Besonders gelungene Drucke können zudem mit einem Herz-Symbol markiert und in einem separaten Favoriten-Ordner abgelegt werden.

Ein weiterer wichtiger Aspekt ist die Netzwerkanbindung. Die gesamte Steuerung erfolgt lokal über den Raspberry Pi, der über die OctoPrint-API kommuniziert. Für den Fernzugriff wird zusätzlich ein VPN unterstützt, sodass der Drucker auch aus der Ferne sicher gesteuert werden kann. Alle Einstellungen, wie die IP-Adresse des Raspberry Pi, VPN-Optionen und automatische Steckdosensteuerung (über eine Smart-Steckdose, z. B. von Nooie), können im umfangreichen Einstellungsbereich der App individuell angepasst werden.

Zusammengefasst bietet SmartPrint eine vollständige, professionelle und moderne Lösung, die alle Aspekte des 3D-Drucks abdeckt – von der Steuerung und Überwachung über die Automatisierung bis hin zur detaillierten Auswertung und Bewertung. Dabei werden neueste Technologien wie Electron, React und Flask eingesetzt, um sowohl auf der Desktop- als auch auf der mobilen Plattform eine optimale Benutzererfahrung zu gewährleisten. Alle Funktionen sind so integriert, dass der Nutzer den gesamten Druckprozess zentral steuern kann, während alle Daten lokal bleiben und über sichere Verbindungen abgerufen werden.

Das ist das Logo der App

Bei Fragen gerne Melden, das habe ich auch der KI erlaubt, dass sie Nachfragen darf.

Bild zum Beitrag
App, programmieren, künstliche Intelligenz, Raspberry Pi

Java ImGui Error EXCEPTION_ACCESS_VIOLATION?

Ich habe ein Tutorial von GamesWithGabe geschaut (2d game Engine) und habe beim Imgui part einen Fehler bekommen. Ich musste vom Tutorial schon vieles ändern, wegen neuen Versionen. Jetzt bekomme ich beim Aufstartet folgenden Error:

08:38:22: Executing ':Main.main()'...


> Task :compileJava UP-TO-DATE
> Task :processResources NO-SOURCE
> Task :classes UP-TO-DATE


> Task :Main.main() FAILED
Hello LWJGL 3.3.6+1!
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffbcc295071, pid=7900, tid=15668
#
# JRE version: OpenJDK Runtime Environment Temurin-21.0.6+7 (21.0.6+7) (build 21.0.6+7-LTS)
# Java VM: OpenJDK 64-Bit Server VM Temurin-21.0.6+7 (21.0.6+7-LTS, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
# Problematic frame:
# C  [igxelpicd64.dll+0xd45071]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# C:\dev\Java\SuperMariusImGui\JAVA_Loic_Steiner_SuperMarioProjekt\hs_err_pid7900.log
#
# If you would like to submit a bug report, please visit:
#   https://github.com/adoptium/adoptium-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
2 actionable tasks: 1 executed, 1 up-to-date


FAILURE: Build failed with an exception.


* What went wrong:
Execution failed for task ':Main.main()'.
> Process 'command 'C:\Program Files\Eclipse Adoptium\jdk-21.0.6.7-hotspot\bin\java.exe'' finished with non-zero exit value 1


* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.


BUILD FAILED in 1s
08:38:24: Execution finished ':Main.main()'.

Wieso bekomme ich diesen Error und wie kann ich den Fixen?? Ich brauche wirklich Hilfe, ich mache ein Projekt und muss Freitag abgeben.

programmieren, Java, Informatik, OpenGL, .gradle

Kombinatorik: Welche Verteilung erwartet man beim Ziehen von Kugeln aus einer Urne ohne Zurücklegen?

Ich ziehe aus einer Urne mit N=24 nu­me­rier­ten Ku­geln eine zu­fäl­li­ge Ku­gel, schrei­be mir ihre Num­mer auf, lege sie zu­rück und mache das ins­ge­samt n=10000-mal. Es soll­te also je­de Ku­gel un­ge­fähr 10000/24≈417 mal dran­ge­kom­men sein. Wenn ich das aber prak­tisch mache, dann stelle ich fest, daß die wirk­liche An­zahl ziem­lich stark schwankt, näm­lich zwi­schen 451 und 373. Kann ich dar­aus schlie­ßen, daß die „zu­fäl­lig“ ge­zo­ge­ne Ku­gel doch nicht ganz zu­fäl­lig war, also daß da ir­gend­wo ein Bias für eine be­stimm­te Ku­gel drinsteckt?

In meiner wirklichen Anwendung ist die Urne na­tür­lich ein Pro­gramm, das für einen be­stimm­ten In­put einen von 24 mög­li­chen Out­puts liefert. Mei­ne In­ten­tion beim Pro­gram­mie­ren war, daß alle un­ge­fähr gleich häu­fig auf­tre­ten sollten. Ich ver­ste­he nicht viel von Sta­tis­tik, hätte aber an­ge­nom­men, daß die Streu­ung nur grob √417≈20 be­tra­gen solle. Tat­säch­lich ist sie dop­pelt so groß. Muß ich mir Sor­gen machen?

Die genauen Zahlen sind: 451 449 441 440 434 433 433 426 421 421 419 419 416 410 410 409 406 403 401 400 398 398 389 373.

In einem anderen (und algorithmisch schwierigeren) Fall gibt es 36 Mö­glich­kei­ten, der Er­war­tungs­wert ist also 278, aber die Streu­ung be­trägt sage und schrei­be 373 bis 178.

Wie sieht eigentlich die Wahrscheinlichkeitsverteilung aus? Die Gesamt­zahl der mög­li­chen Er­geb­nis­se bei N Ku­geln und n Zie­hun­gen sollte Nⁿ sein, aber wie vie­le davon ha­ben eine be­lie­bi­ge Kugel genau k-mal ge­zogen? Und selbst wenn ich das aus­rech­nen könn­te, wie hilft mir das, fest­zu­stel­len, ob meine empi­risch er­hal­te­­ne Ver­tei­lung sta­tis­tisch plau­si­bel ist? Gibt es da einen sta­tis­ti­schen Test?

Mathematik, programmieren, Mathematiker, Statistik, Stochastik, Wahrscheinlichkeit, Wahrscheinlichkeitstheorie, Binomialverteilung, Erwartungswert, Kombinatorik

Meistgelesene Beiträge zum Thema Programmieren