Je suis en train d'écrire un jeu de cartes en java où j'ai besoin d'étaler des cartes depuis un paquet en plusieurs colonnes jusqu'à ce que j'ai un nombre fixe de cartes restantes. C'est comme ça que je fais ça.Travailler avec des tableaux de modèle de java en Java
public class Column extends ArrayList {} List deck = Cards.createNewDeck(); Column[] columns = new Column[10]; int c = 0; while (deck.size() > 50) { if (c == 10) { c = 0; } if (columns[c] == null) { columns[c] = new Column(); } columns[c].add(Cards.dealTopCard(deck)); c += 1; }
Cela semble quelque peu maladroit. Y a-t-il une façon plus lisible/complète de faire la même chose?
Eh bien, tableau de listes semblait être la meilleure approche. J'ai un nombre fixe de colonnes, mais je ne sais pas combien de cartes seront dans chaque colonne. Une liste de listes est un peu plus verbeuse (colonnes [i] vs columns.get (i)). Ton exemple est sympa, mais je cherchais quelque chose de plus profond. En clojure j'écrirais quelque chose comme (def colonnes (partition 10 10 (liste) (prendre 54 (create-deck))) –
Malheureusement, c'est Java, pas Clojure :) La verbosité fait partie du jeu. – Jack