Arrayfelder miteinander vergleichen ?

Anfängerfragen zum Programmieren mit PureBasic.
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Arrayfelder miteinander vergleichen ?

Beitrag von True29 »

Grüßt euch ;)

Es geht um ein Array der Größe 15 in dem Ich die ID's von 15 Bilder gespeichert habe.
Nun müsste ich alle miteinander Vergleichen.

Hat wer von euch eine Idee ?

Mfg
i7,12gb ram , Windows 10 ,Purebasic 5.50
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
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: Arrayfelder miteinander vergleichen ?

Beitrag von NicTheQuick »

Wie willst du sie vergleichen? Pixel für Pixel? Oder willst du alle möglichen 105 Differenzbilder berechnen?
Oder was ist dein längerfristiges Ziel dabei?
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Re: Arrayfelder miteinander vergleichen ?

Beitrag von True29 »

Mein Längerfristiges ziel ist es eine Art Slotmaschine wie im Spielcasino zu programmieren ;)
nun bin ich bei dem Zwichenschritt Herauszufinden welche Bilder gleich sind z.b als Ergebnis: Bild1 Bild3 und Bild5 sind gleich.
i7,12gb ram , Windows 10 ,Purebasic 5.50
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Arrayfelder miteinander vergleichen ?

Beitrag von STARGÅTE »

Warum willst du alle mit einander vergleichen?

Eine Slotmaschine hat (je nach Modell) zB 3 Räder, auf denen zB 15 Abbildungen drauf sind.
Um es dem Programm nun einfacher zu machen, solltest du nicht Bilder vergleichen, sondern einfach nur Zahlen.
Den Zahlen kannst du später immer noch Bilder zuordnen.

Verglichen wird am Ende aber eh nur die Angezeigten Zahlen, also wo das Rad stehen bleibt.
Dann kannst du zB mit

Code: Alles auswählen

If Rad(1, Position1) = Rad(2, Position2) and Rad(2, Position2) = Rad(3, Position3)
abfragen, alle Räde mit iher Position die gleiche Zahl anzeigen und darauf reagieren.
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: 8809
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: Arrayfelder miteinander vergleichen ?

Beitrag von NicTheQuick »

Aber weißt du da nicht selbst welches Bild du anzeigst und welche dann gleich sind?
Ich finde, dass es da erstens etwas unperformant und zweites sehr unnötig ist die Bilder zu vergleichen. Normalerweise sollte das grafische Frontend auch immer unabhängig von der Programmlogik sein. Ich glaube deshalb du denkst da in die falsche Richtung.
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Re: Arrayfelder miteinander vergleichen ?

Beitrag von True29 »

danke schon mal euch beiden für eure Anregungen.

@NicTheQuick . Zitat "Normalerweise sollte das grafische Frontend auch immer unabhängig von der Programmlogik sein "
das ist auch mein ziel nur nicht so einfach umzusetzten.

@STARGATE
Ich will nicht alle miteinander Vergleichen ;) das war jetzt nur einfachhalber so formuliert. Momentan ist mein Ziel 5 Gewinnlinien einzubauen.
Gerade und Quer.
i7,12gb ram , Windows 10 ,Purebasic 5.50
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Arrayfelder miteinander vergleichen ?

Beitrag von ts-soft »

Hier mal eine theoretische Lösung:

Code: Alles auswählen

Dim Gewinn(10, 10, 10)
Gewinn(0, 0, 0) = "Hauptgewinn"
Gewinn(1, 1, 1) = "2 Hauptgewinn"
; ....

Gewinn(0, 1, 1) = "trostpreis"
Das wird Deine Gewinntabelle, wobei die meisten Kombinationen nicht initialisiert werden müssen, da kein Gewinn.
Debug Gewinn(Index Bild walze 1, Index Bild walze 2, Index Bild walze 3)

Keine If abfragen nötig.

Umsetzung überlasse ich aber Dir :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten