Eingang
Keiner
Ausgabe
52 Karten. Keine Duplikate. Karten werden als Unicode-Zeichen dargestellt, z. B. 🂹.
Die Unicode-Codepunkte haben folgendes Format:
- Die ersten drei Ziffern sind
1F0
. - Die nächste Ziffer ist
A
,B
,C
, oderD
für Pik, Herz, Karo und Kreuz ist. - Die nächste Ziffer ist
1
durchC
undE
für die verschiedenen Zahlen / Bildkarten.1
ist Ass,2
-A
sind die Zahlenkarten undB
,D
undE
sind der Bube, die Dame und der König. (C
Ist der Ritter, der in den meisten Decks nicht vorkommt.)
Beispielausgabe:
🂶🃁🃛🃎🂧🂵🃗🂦🂽🂹🂣🃊🃚🂲🂡🂥🂷🃄🃃🃞🂺🂭🃑🃙🂪🃖🂳🃘🃒🂻🃆🂮🃍🂱🂴🃋🂸🃈🃅🃂🂨🃓🃉🂾🃇🂩🂢🂫🃔🃕 🂤🃝
Regeln:
- Das ist Code-Golf . Kürzeste Antwort gewinnt.
- Verbotene Schlupflöcher sind verboten.
- Dein Deck muss zufällig ausgewählt sein. Bei einer 20-maligen Ausführung müssen 20 zufällige (und höchstwahrscheinlich eindeutige) Ausgaben generiert werden.
Hinweis
Wenn Sie nur Kästchen sehen, installieren Sie die DejaVu-Schriftarten .
Antworten:
Jelly ,
25 2321 BytesEin Niladic-Link, der eine Liste von Zeichen zurückgibt, oder ein vollständiges Programm, das das gemischte Deck druckt.
Probieren Sie es online!
Wie?
quelle
JavaScript (ES6),
107106108 BytesCode-Snippet anzeigen
-1 Byte dank @nderscore
JavaScript (ES6),
120119121 ByteVorherige Version.
quelle
[...'ABCD']
. Das ist cool :)"ABCD".map(...)
. Ich bin sicher, dass es vernünftige Gründe dafür gibt.Python 3 ,
10694 Bytes-5 Bytes dank musicman523 (1. Verwendung
sample(...,52)
als Inline-Äquivalent zushuffle
[dank totalhuman]; 2. Verwendung~v&2
anstelle vonv%4<2
; plus ein weiteres Byte als Folge, da ein Leerzeichen entfernt werden kann)Probieren Sie es online!
quelle
sample
. Probieren Sie es online!v%4<2
um~v&2
ein weiteres Byte zu speichern.random
Funktion helfen. Ein weiteres Byte oben wieor ~...
kannor~...
.05AB1E ,
2221 Bytes1 Byte dank Carusocomputing eingespart .
Probieren Sie es online!
Erläuterung
quelle
…1F0A4£14L13KhJâ«Hç.r
für 21 Bytes (bearbeitet, weil ich vergessen habe, Ritter zu entfernen). Hilft Ihnen zwar, Gelee zu binden.Bash + Coreutils, 56 Bytes
Wir
printf
schreiben jede Karte in eine eigene Zeile, mischen die Zeilen und verketten dann alle Zeilen, indem wir die Zeilenumbrüche entfernen.Beachten Sie, dass der
printf
Befehl coreutils genau 8 Hexadezimalziffern benötigt. Mit\U
der integrierten Bash-Funktionprintf
können Sie jedoch führende Nullen weglassen.quelle
echo 16iF09F8{2A,2B,38,39}{{1..9},A,B,D,E}0AP|dc|shuf|tr -d \\n
, aber deine ist besser. Ich wusste es nicht%b
.Python 3 , 112 Bytes
Probieren Sie es online!
quelle
del
Anweisung gliedert sich nacheinander von links nach rechts. Das erste Element vona[::16]
ist U + 1F0A0 PLAYING CARD BACK, das gelöscht werden sollte. Wir müssen auch die Ritter- und Jokerkarten löschen, die zwischen den normalen 52 stecken. Siehe en.wikipedia.org/wiki/… .Python 3 , 107 Bytes
6 Bytes dank @totallyhuman und 3 dank @ CCB60 gespart!
Probieren Sie es online!
quelle
,sep=''
natürlich die Leerzeichen - macht es aber 112 Bytesrandom.sample
! Ich werde das OP über Räume entscheiden lassen. Ich kann hinzufügen,sep=''
, um sie loszuwerden und noch 6 Bytes zu sparen.PHP > = 7, 102 Bytes
Für die Methode IntlChar :: chr ist kein Online-Interpreter verfügbar
PHP , 112 Bytes
Probieren Sie es online!
PHP , 116 Bytes
Probieren Sie es online!
PHP, 121 Bytes
Probieren Sie es online!
quelle
APL (Dyalog) ,
4038 BytesJonathan Allans Methode
(
…)
Auf dem folgenden Array⍳62
die ersten 62 ganzen Zahlen127136+
addiere 127136 dazu(
…)/
Filtern Sie das mit dem Booleschen Wert⍳62
Die ersten 62 ganzen Zahlen16|
Modul 16180∨
GCD von 180 und das11>
ob 11 ist größer als diese[
…]
Wählen Sie folgende Elemente aus?⍨52
mische die ersten 52 Ganzzahlen (nimm 52 zufällige Ganzzahlen aus einem Beutel der ersten 52 Ganzzahlen)⎕UCS
konvertiere in entsprechende Symbole im U nicode C haracter S etVersion 16.0 (derzeit in der Beta) Lösung (33 Zeichen)
(
…)
Auf dem folgenden Array⍳62
Die ersten 62 ganzen Zahlen16|
Modul 16180∨
GCD von 180 und das11>
ob 11 ist größer als diese⍸
Indizes wo wahr127136+
addiere 127136 dazu[
…]
Wählen Sie folgende Elemente aus?⍨52
mische die ersten 52 Ganzzahlen (nimm 52 zufällige Ganzzahlen aus einem Beutel der ersten 52 Ganzzahlen)⎕UCS
konvertiere in entsprechende Symbole im U nicode C haracter S etAlte Lösung
(
…)
Auf dem folgenden Array⍳14
die ersten 14 ganzen Zahlen12~⍨
außer 12(
…)∘.,
Kartesisch verknüpft mit⍳4
die ersten 4 ganzen Zahlen9+
hinzugefügt zu 9,
ravel (platt machen) das16⊥¨
bewerten Sie jeweils in Basis 16126976+
dazu kommen 126976[
…]
Wählen Sie folgende Elemente aus?⍨52
mische die ersten 52 Ganzzahlen (nimm 52 zufällige Ganzzahlen aus einem Beutel der ersten 52 Ganzzahlen)⎕UCS
konvertiere in entsprechende Symbole im U nicode C haracter S etquelle
Holzkohle , 50 Bytes
Probieren Sie es online! Link ist eine ausführliche Version des Codes. Erstellt die Zeichenfolge aller 64 Zeichen im Block, filtert jedoch ungültige Karten heraus, da diese zufällig ausgewählt werden. (Apropos, die zufällige Auswahl ohne Ersetzung aus einer Zeichenfolge beträgt nur 11 Byte, verglichen mit 17 für ein Array.)
Bearbeiten: Subtraktion von einem Array und andere Kohle Verbesserungen haben die Größe auf 41 Bytes reduziert: Probieren Sie es online!
quelle
Alice , 34 Bytes
Probieren Sie es online!
Erläuterung
quelle
> <> ,
495049 BytesProbieren Sie es online!
(+1 Byte, um die Zufälligkeit zu verbessern)
Ich interpretiere "zufällig" als "jedes mögliche Ergebnis hat eine Wahrscheinlichkeit ungleich Null". Dies ist keine einheitliche Verteilung.
Dieser Code besteht aus zwei Schritten. Zuerst legt der Fisch alle Karten mit den ersten beiden Zeilen auf den Stapel. Beginnend mit dem Pik-As dupliziert und erhöht der Fisch es und überprüft dann, ob der Hex-Code der vorherigen Karte mit 0, C oder F endet, indem er x ( x -12) ( x -15) multipliziert , wobei x der Zeichencode-Mod ist 16, und überprüfen, ob das Null ist. Wenn dies der Fall ist, wird die betreffende Karte vom Stapel gelöscht. Es wiederholt sich, bis der Stapel 52 Karten hat, und schwimmt dann in Stufe 2:
Dieses Codebit mischt und druckt den Stapel. Der
x
legt die Richtung des Fisches nach dem Zufallsprinzip fest:v
und kehrt zum zurück,x
ohne etwas zu tun. Die linke Richtung ist ähnlich.{
, dreht den gesamten Stapel nach links und kehrt dann zum zurückx
.x
.Es ist klar, dass jede mögliche Reihenfolge der Karten hergestellt werden kann: Zu jedem Zeitpunkt in Stufe 2 kann jede Karte, die noch nicht gedruckt wurde, als nächstes gedruckt werden, wenn der Fisch genügend oft nach rechts schwimmt. Diese Mischtechnik bewegt Karten normalerweise nicht sehr weit auseinander, wenn sie sich bereits in der Nähe befunden haben, aber auch nicht von Hand .
quelle
R, 61 Bytes
Stichprobenweise den Vektor der ganzzahligen Darstellungen der Karten-Unicode-Werte (die von
utf8ToInt()
fucntion erhalten werden können) und entfernen Sie die unerwünschten Ritter- / Jokerkarten.quelle
C # (
146141 Bytes)Online-Demo
Dies verwendet extrem schlechten Stil beim Mischen mit
Guid.NewGuid()
, aber es ist Code-Golf. Anschließend werden die Ersatzpaare manuell erstellt.quelle
Perl 5, 75 Bytes
Beachten Sie, dass hierbei die in der Frage angegebenen Codepunkte für Damen verwendet werden (dh die letzte Ziffer
C
). Für die tatsächlichen Codepunkte (letzte ZifferD
), ersetzen51,56
mit47,52
.quelle
Java 8, 216 Bytes
Erläuterung:
Probieren Sie es hier aus.
HINWEIS: Ungetestet, da trotz Installation der verknüpften Schriftart weiterhin Kästchen angezeigt werden. Vermutlich muss mein PC neu gestartet werden oder so ..
quelle
Dyalog APL, 35 Bytes
basierend auf Adáms Antwort
Verwendet
⎕io←0
quelle
Japt ,
51413922 BytesMit etwas Inspiration von Jonathans Jelly-Lösung .
Probieren Sie es aus (oder zeigen Sie die Ausgabe mit erhöhter Geschwindigkeit an
font-size
)Erläuterung
quelle