mirror of
https://github.com/inf112-v20/Fiasko.git
synced 2025-01-31 23:29:36 +01:00
begynnte på Deck classen. skal refactorere senere
This commit is contained in:
parent
24d38af386
commit
62ce1fdc7e
93
src/main/java/inf112/fiasko/roborally/objects/Deck.java
Normal file
93
src/main/java/inf112/fiasko/roborally/objects/Deck.java
Normal file
@ -0,0 +1,93 @@
|
||||
package inf112.fiasko.roborally.objects;
|
||||
|
||||
import inf112.fiasko.roborally.element_properties.Action;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
|
||||
public class Deck {
|
||||
private ArrayList<ProgrammingCard> cardDeck;
|
||||
|
||||
public Deck(ArrayList<ProgrammingCard> cardDeck){
|
||||
this.cardDeck=cardDeck;
|
||||
}
|
||||
|
||||
public void shuffle() {
|
||||
Random randomNumber = new Random();
|
||||
for (int i = cardDeck.size() - 1; i > 0; i--) {
|
||||
int index = randomNumber.nextInt(i);
|
||||
|
||||
ProgrammingCard CardIndex = cardDeck.get(index);
|
||||
cardDeck.add(index, cardDeck.get(i));
|
||||
cardDeck.remove(index+1);
|
||||
cardDeck.add(i, CardIndex);
|
||||
cardDeck.remove(i+1);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public ProgrammingCard drawCard(){
|
||||
ProgrammingCard draw = cardDeck.get(0);
|
||||
cardDeck.remove(0);
|
||||
return draw;
|
||||
}
|
||||
|
||||
public void drawCardOtherDeck(Deck otherCardDeck){
|
||||
cardDeck.add(otherCardDeck.drawCard());
|
||||
}
|
||||
|
||||
|
||||
public ArrayList<ProgrammingCard> getDeck(){
|
||||
return cardDeck;
|
||||
}
|
||||
|
||||
public ArrayList<ProgrammingCard> drawAllCard(){
|
||||
ArrayList<ProgrammingCard> allCards= new ArrayList<>();
|
||||
int cardDecksize = cardDeck.size();
|
||||
for (int i=0;i<cardDecksize;i++){
|
||||
allCards.add(cardDeck.get((cardDecksize-1)-i));
|
||||
}
|
||||
for (int i=0; i<cardDecksize;i++){
|
||||
cardDeck.remove(0);
|
||||
}
|
||||
return allCards;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void main(String args[]) //skal fjernes måtte bare se at shuffle virket
|
||||
{
|
||||
ArrayList<ProgrammingCard> cardDeck = new ArrayList<>();
|
||||
cardDeck.add(new ProgrammingCard(3, Action.MOVE_1));
|
||||
cardDeck.add(new ProgrammingCard(4, Action.MOVE_1));
|
||||
cardDeck.add(new ProgrammingCard(5, Action.MOVE_1));
|
||||
cardDeck.add(new ProgrammingCard(6, Action.MOVE_1));
|
||||
|
||||
ArrayList<ProgrammingCard> cardDeck2 = new ArrayList<>();
|
||||
cardDeck2.add(new ProgrammingCard(8, Action.MOVE_1));
|
||||
cardDeck2.add(new ProgrammingCard(9, Action.MOVE_1));
|
||||
cardDeck2.add(new ProgrammingCard(99, Action.MOVE_1));
|
||||
cardDeck2.add(new ProgrammingCard(8989, Action.MOVE_1));
|
||||
|
||||
Deck test66 = new Deck(cardDeck2);
|
||||
Deck test23 = new Deck(cardDeck);
|
||||
|
||||
System.out.println("drawAllbefore "+test66.getDeck().size());
|
||||
System.out.println("drawAll "+test66.drawAllCard().size());
|
||||
System.out.println("drawAllafter "+test66.getDeck().size());
|
||||
|
||||
|
||||
|
||||
}
|
||||
/*
|
||||
test.shuffle();
|
||||
ArrayList<ProgrammingCard> cardDeckShuffle = test.getDeck();
|
||||
System.out.println("size: "+cardDeckShuffle.size());
|
||||
for (int i = 0; i< cardDeckShuffle.size();i++ ){
|
||||
System.out.println(cardDeckShuffle.get(i).getValue());
|
||||
|
||||
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user