Moving the contents at the start of an array to the end
Posted on 2004-10-19
Could kind of do with some help :P ... I'm trying to write a card game in Java at the minute, and I've been trying to work out how to 'split' the deck as such for the last 3 hours, and everything I've tried just doesn't seem to be working, I dont think its anything difficult to do as such, but I just dont know how to do it, lol.
I have an array of 52 elements, 0-51, representing all of the cards in a full deck... What I need to do, is find a way to split the deck, at a random point, and then move the contents from the end of the array to the beginning...
I've tried to copy the contents across to a temporary array and stuff, but it didn't seem to work, and I'm not to sure if I was even doing it the right way..
All I've got so far really as far as the 'split' function goes is:
public void cut()
int rand = (int)(Math.random()*(52)); // 0 * 52 = 0; 1 * 52 = 52; generates a number between these two.
Lol, not a fat lot I know, but I've been trying for the last 2 hours, and I've not really gotten anywhere... I think I've managed to work out how to do the shuffle function thought :-) even though i expected it to be harder to do than the cut( )
public void shuffle()
for ( int i = 51; i > 0; i-- )
int rand = (int)(Math.random()*(i+1));
Card temp = deck[i];
deck[i] = deck[rand];
deck[rand] = temp;
cardsDealt = 0;
and it seems to work, but as far as the other function goes, although I get the feeling its something pretty simple, its making me want to throw my laptop across the room now... please help, I'm a student, and I really cant afford a new one, he he... any pointers in the right direction even would be much appreciated...
Thanks in advance.