Programmiersprache – die besten Beiträge

Entscheidungsmodell (KI) - Phyton?

Heyy,

Ich arbeite gerade an meiner Maturaarbeit und entwickle dafür ein Entscheidungsmodell bzw. einen Autopiloten, der auf einer Art KI basiert.

Ich will das Ganze zuerst in einer virtuellen Umgebung programmieren, wo man dann auch visuell sehen kann, wie das Fahrzeug auf Hindernisse reagiert, also z. B. ausweicht oder abbremst.

Der Code für die Simulation muss nicht derselbe sein wie derjenige, den ich später vielleicht auf einen physischen Roboter übertrage (z. B. Maqueen oder ähnliches; einfach aus Interesse - werde es vermutlich nicht erwähnen in meiner Arbeit).

Meine Frage an euch:

Kennt ihr gute Programme (mit Phyton), Tools, Webseiten oder Umgebungen, mit denen man so eine einfache virtuelle Simulation mit Hindernissen und Fahrzeugbewegungen machen kann? Ich habe bereits trinket für 2D-Darstellungen verwendet, aber das finale Produkt sollte anspruchsvoller (und hübscher) aussehen.

Und: Gibt es vielleicht Plattformen, anhand jener man den Code später auch auf einen echten kleinen Roboter übertragen kann (z. B. Maqueen)?

Mir geht es ausnahmsweise nicht wirklich um eine gute Note. Ich mag Informatik (als einziges MINT-Fach) nicht, habe das Thema aber gewählt, damit ich etwas Neues lerne, statt immer nur den gemütlichen Weg zu gehen.

Bin dankbar für jeden Tipp.✨

Webseite, Roboter, programmieren, künstliche Intelligenz, Programmiersprache, Python, Simulation, Tool, Autopilot, maturaarbeit

Verkettete Listen in Java CD?

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.LinkedList;
import java.util.Random;

public class PlaylistReader {
    public static void main(String[] args) {
        LinkedList<Titel> playlist = new LinkedList<Titel>();
        BufferedReader br = null;
        
        try {
            br = new BufferedReader(new FileReader("titel.txt"));
            String name = br.readLine(); // Name der CD aus erster Zeile
            String line = "";
            while ((line = br.readLine()) != null) {
                String[] parts = line.split(";");
                int cdNr = Integer.parseInt(parts[0].replaceAll("\\D+", ""));
                int trackNr = Integer.parseInt(parts[1]);
                String interpret = parts[2];
                String title = parts[4];
                String duration = parts[5];
                
                Titel t = new Titel(cdNr, trackNr, interpret, name, title, duration);
                playlist.add(t);
            }
            br.close();
            Random rand = new Random();
            int index = rand.nextInt(playlist.size());
            Titel zufallstitel = playlist.get(index);
            System.out.println(zufallstitel.getName());
            System.out.println("CD " + zufallstitel.getCdNr());
            System.out.println("Titel Nr.: " + zufallstitel.getTrackNr());
            System.out.println("Interpret: " + zufallstitel.getInterpret());
             System.out.println("Titel: " + zufallstitel.getTitle());
            System.out.println("Spielzeit: " + zufallstitel.getDuration());
        } catch (Exception e) {
            System.out.println("Fehler beim Einlesen der Datei: " + e.getMessage());
        }
    }
}

public class Titel {
    private int cdNr;
    private String duration;
    private String interpret;
    private String name;
    private String title;
    private int trackNr;

    public Titel(int cdNr, int trackNr, String interpret, String name, String title, String duration) {
        this.cdNr = cdNr;
        this.trackNr = trackNr;
        this.interpret = interpret;
        this.name = name;
        this.title = title;
        this.duration = duration;
    }

    public int getCdNr() {
        return cdNr;
    }
    public void setCdNr(int cdNr) {
        this.cdNr = cdNr;
    }
    
    public String getDuration() {
        return duration;
    }
    
    public void setDuration(String duration) {
        this.duration = duration;
    }
    
    public String getInterpret() {
        return interpret;
    }

    public void 
        setInterpret(String interpret) {
        this.interpret = interpret;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
   
    public int getTrackNr() {
        return trackNr;
    }

    public void setTrackNr(int trackNr) {
        this.trackNr = trackNr;
    }
}
Java, Programmiersprache

Meistgelesene Beiträge zum Thema Programmiersprache