kann auch am lerntypen liegen. außerdem ist java jetzt nicht die bestverständlichste einsteiger programmiersprache

...zur Antwort

wenn du kein build tool nutzt wie maven und gradle ist es meiner meinung nach am einfachsten einfach ein JDK zu nutzen wo javafx enthalten ist.

  • azul zulu
  • liberica jdk

achte drauf, dass du ein JDK + JFX runterlädst und nicht ein standard JDK

danach musst du natürlich das JDK als standard JDK in deinem system konfigurieren. (oder zumindest für deine IDE)

sonst müsstest du javafx runterladen und irgendwie in dein projekt einbinden (nervig).

...zur Antwort

ist vielleicht keine richtige antwort aber sowas ist pauschal schwer zu beantworten.

es gibt unzählig viele faktoren die deine FPS beeinflussen könnten. kann eventuell sein dass es an minecraft liegt und die performance vllt noch nachgebessert wird.
immerhin fügt 1.21 ja ziemlich viel hinzu

kann aber auch an deinen mods liegen die dann auch noch hochgezogen werden.

ich denke nicht dass es am shader liegt aber ist nicht auszuschließen.

kann auch einfach an deinem rechner liegen.

...zur Antwort
Java

nein, ich sage nicht dass andere sprachen schlecht sind.

java ist heutzutage (neben go) die wahrscheinlich einzige sprache mit der perfekten mischung zwischen populär, robust, reif & modern, die trotzdem vom sprachumfang nicht zu krass komplex wird.

c# hat beispielsweise mehr features und ist für den einstieg einfacher aber ist wesentlich komplexer

über c++ und rust müssen wir gar nicht erst reden.. oder?

php und swift könnte ich mir vorstellen dass die eigentlich klargehen aber php is für viele entwickler komisch und swift ist noch zu neu

andererseits

sind die meisten ressourcen für java (wenn du oberflächlich suchst) extrem alt und schlecht

...zur Antwort

eine rest api ist zwar schon was fortgeschrittener aber man kann verdammt viel dabei lernen.

in anderen worten schreib einen webserver und schaue wie mann daten dahin schickt bzw diese daten im idealfall auch noch rendert

...zur Antwort

parallel dazu programmieren. schau dir weiter die monotonen tutorials an und mach nebenbei ein taschenrechner oder so

...zur Antwort

wv stunden lernzeit ist abhängig von verschiedenen faktoren, vor allem deiner erfahrung.

als blutiger anfänger könnte es von 3 tagen bis 3 monaten dauern. und selbst dann ist es keine feste regelzeit.

und du musst zumindest dafür im besten fall wissen wie man ein backend/server schreibt. das heißt eine dementsprechende sprache (js,java,php,go,c#,python (eigentlich kannst du in gefühlt jeder sprache ein backend schreiben)).
das beinhaltet natürlich dann, dass du ein wenig über protokolle weißt wie beispielsweise http.

dann musst du wissen wie du den chat gestalten willst. was meine ich damit? na ob es über den browser aufrufbar sein sollte oder über eine einfache desktopanwendung, über das terminal etc.
als anfänger empfehle ich dir einfache desktopanwendung denn später kannst du immernoch auf den browser wechseln (vorausgesetzt dein server und dein chat GUI sind nicht gekoppelt).

für eine desktopanwendung gibts verschiedenes: tauri, electron, javafx, wpf, etc.

das wichtigste was du lernen musst: es wird wahrscheinlich nicht so (leicht) wie du es dir vorgestellt hast. kann sein, dass du aufgrund von fehlender erfahrung einige abstriche irgendwo machen musst wie beispielsweise sicherheit, komfort, design, funktionalität. aber du willst ja nur ein prototypen und deswegen ist es auch komplett fein.

außerdem: es ist wie in minecraft ein haus bauen -> ein haus kann jeder kek bauen aber nicht jeder wird zum meisterarchitekt und kann (direkt) schlösser bauen. was will ich damit sagen? du wirst vielleicht nicht zum meister programmierer aber jeder kann ein solides programm schreiben. und wenn man wirklich will kann man wirklich gut werden. lass dich nicht entmutigen

...zur Antwort

in programmiersprachen hast du variablen und funktionen.

in

var x = 2;
  1. erstellst du eine variable (also quasi eine kiste mit einem namen)
  2. packst einen wert rein. der wert ist 2.

bei

var file = new File("/cod.exe");
  1. erstellst du eine kiste
  2. packst in die kiste einen wert rein
  3. der wert ist ein File Object. dafür benutzt du new um das objekt zu konstruieren
  4. du übergibst dem konstruktor einen verweis. das konstruierte File Object hat einen verweis auf call of duty (du hast es vorhin auf dem beispielrechner installiert 😏)

----------------------------------------------------------------------------------------------------

was sind klassen und objekte?

klassen = baupläne

objekte = tatsächlich konstruierte instanzen, gebaut nach deinem bauplan.

wieso?

mit objekte kannst du daten und funktionen gruppieren.

wie?

wenn objekte erzeugt werden, wird ein objekt mit dem konstruktor konstruiert.
den konstruktor kannst du mit new benutzen. (new Object()).

beispiel:

class Student
{
  String firstName;
  String lastName;
  int age;

  /**
   * basic konstruktor
   */
  Student(String firstName, String lastName, int age)
  {
    this.firstName = firstName;
    this.lastName = lastName;
    this.age = age;
  }

  /**
   * kannst schauen ob er rauchen darf
   */
  boolean isAllowedToSmoke()
  {
    return age >= 18;
  }
}

in dieser beispielklasse werden schüler modelliert.
schüler haben sowohl namen als auch ein alter.
mit der funktion "isAllowedToSmoke" könnten wir direkt gucken ob ein gewisser schüler alt genug ist um kippen zu rauchen.

var jonas = new Student("Jonas", "Schmidt", 17);
if (jonas.isAllowedToSmoke())
{
  System.out.println("rauchen macht dein schniedel kleiner");
}
else
{
  System.out.println("ich werd dir die kippe wegnehmen");
}

natürlich ist das kein praktisches beispiel sondern nur zur veranschaulichung.

...zur Antwort

ist sicherlich nicht das was du brauchst aber vielleicht bringts dich auf ideen:

meine schritte:

  1. ich weiß dass die werte innerhalb der objekte (welche wiederum innerhalb der collection sind) die wahrscheinlichkeit beeinflussen. diese nenne ich jz x.
  2. deshalb erstelle ich eine sequenz wo das x von jedem objekt, x mal vorkommt. (bsp.: objekt.x=2, objekt.x=3 -> [2,2,3,3,3]).
  3. selektiere random ein wert aus der sequenz. die werte x, die höher sind haben automatisch eine höhere wahrscheinlichkeit selektiert zu werden, da sie öfter vorkommen. (beispiel von vorhin: [2,2,3,3,3] -> 2 = 40%, 3 = 60% von 5 items in der sequenz.)
var xList = objList.stream() // sequenz erstellen wo x, x mal vorkommt
  .map(obj -> obj.x) // erstelle sequenz aus x
  .distinct() // entferne duplikate von x
  .flatMap(i -> IntStream.of(0, i).map(__ -> i).boxed()) // x soll x mal vorkommen
  .toList();

var randomValue = xList.get(random.current().nextInt(xList.size()));
...zur Antwort

do while nutzt du wenn du mindestens 1 mal den schleifeninhalt ausführen möchtest. mehr braucht man gar nicht zu wissen

...zur Antwort

kenne nicht alle umstände aber ehrlich gesagt: geld ist nicht alles und 20€ stundenlohn ist schon nicht wenig für ein berufsanfänger.

aber er sollte fair bezahlt werden.

wenn er halt besser ist als andere elektriker sollte er ruhig seine 20€ kriegen auch als berufsanfänger. aber ist halt schwer festzustellen.

also er wirkt schon bisschen absurd

...zur Antwort

sims ist ein kultgame. viele lieben sims einfach, aber die älteren teile kriegen ja keine updates oder so mehr und sims 4 ist halt das aktuellste spiel was GANZ SELTEN noch updates kriegt. dementsprechend spielen viele auch sims 4 trotz vielerlei problemen.

klar hat sims 4 viele probleme aber das macht es nicht automatisch zu einem schlechten spiel. es ist vielleicht auf vielen ebenen nicht so gut wie die vorgänger aber es ist immernoch ein relativ gutes spiel mit seinem ganz eigenen charme und recht einzigartigem gameplay. es wie mit skyrim, dass das spiel an sich mehr oder weniger scheiße ist aber dennoch viele gute stärken hat und eine relativ treue fanbase

...zur Antwort