Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Memory ====== * $n$ Kärtchen. * Datenstrukturen: * Array mit $2n$ Einträgen wobei jede Zahl von 0 bis $n-1$ genau 2 Mal vorkommt. (Wo welche Karte liegt) * Array mit $2n$ Einträgen wobei jeder Eintrag (true) bereits offen oder (false) noch geschlossen ist. (Man könnte auch einfach -1 im ersten Array speichern) ==== Effizienzentes Mischeln ==== * Input: Array mit $k$ Einträgen * Für $i = 0$ bis und mit $k-1$, wiederhole: * Bestimme eine zufällige Position $p$ zwischen $i$ und $k-1$ (siehe z.B. https://www.w3schools.com/js/js_random.asp) * Vertausche die Elemente an Position $i$ und $p$. ==== UI ==== * Variante einfach: Anodnung in Tabelle (und mit CSS die Grösse der td-Elemente festlegen) * Variante responsive: CSS-Flex, siehe https://css-tricks.com/almanac/properties/f/flex-wrap/ * Variante mit je einem Buchstaben als Eintrag, oder Unicode Emojis ;-) * Variante mit Bildern (ideal als svg, damit bliebig skaliert werden kann). * Evtl. Animation beim Aufdecken (kann via CSS erledigt werden: https://www.w3schools.com/css/css3_animations.asp), oder «manuell» mit setTimeout. Mit CSS ist sogar eine Animation in 3D möglich. kurse/ef05a-2021/js/projekte/memory.txt Last modified: 2022/03/05 15:50by Ivo Blöchliger