Algorithmus für Inteligente wiedergabe ;)

Für allgemeine Fragen zur Programmierung mit PureBasic.
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Algorithmus für Inteligente wiedergabe ;)

Beitrag von True29 »

Hi ,
ich suche einen Algo für meinen wiedergabe im player ;)
Es gibt eine Liste in welcher jeder song eine bewertung/Likes von 0 - unendlich (wird vielleicht begrenzt) haben kann.
nun soll der Player mit dem Song anfangen welcher die beste bewertung/likes hat und dann den nächsten nehmen später soll hier auch eine zufallsfunktion sein.

Hier mal ein anfang / grundgedanke von mir.

Code: Alles auswählen

  Protected.i HighestLikeValue,NewValueFound,SongID
  Repeat 
      
      ;Get highest likevalue not played
      ForEach Music()     
        
        NewValueFound = #False
        If music()\Likes > HighestLikeValue And Music()\Played = #False
          HighestLikeValue = music()\Likes
          NewValueFound = #True
          SongID = ListIndex(music())
        EndIf     
        
      Next

   Until NewValueFound = #False
Der Code würde nun die liste durchgehen , falls höherer eintrag neu starten , falls nicht beenden.
und den höchsten eintrag speichern.

Bin für Ideen offen ;)
Grüße
i7,12gb ram , Windows 10 ,Purebasic 5.50
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8837
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Algorithmus für Inteligente wiedergabe ;)

Beitrag von NicTheQuick »

Dafür nimmt man einen PriorityHeap oder eher bekannt als Min-Max-Heap. Siehe Wikipedia. :-)
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Re: Algorithmus für Inteligente wiedergabe ;)

Beitrag von True29 »

danke ich schau mal ;)
i7,12gb ram , Windows 10 ,Purebasic 5.50
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Algorithmus für Inteligente wiedergabe ;)

Beitrag von STARGÅTE »

Reicht da nicht ein einfaches SortStructureList nach den Likes ?
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8837
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Algorithmus für Inteligente wiedergabe ;)

Beitrag von NicTheQuick »

Doch klar. Das geht auch. In dem Fall sicherlich ausreichend, da ja nicht sekündlich oder häufiger neue Lieder mit neues Likes in die Liste kommen. Mit einem Min-Max-Heap hat man eben immer die Sortierung, auch wenn man mal ein neues Lied einfügt.
Antworten