Improved olympiad game start.
This commit is contained in:
parent
9591df7c0b
commit
026b55c102
@ -20,6 +20,7 @@ import java.sql.Connection;
|
|||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -75,16 +76,36 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
|||||||
|
|
||||||
while (set.size() > 1)
|
while (set.size() > 1)
|
||||||
{
|
{
|
||||||
playerOneObjectId = getRandomPlayerId(set);
|
int random = Rnd.nextInt(set.size());
|
||||||
set.remove(playerOneObjectId);
|
Iterator<Integer> iter = set.iterator();
|
||||||
|
while (iter.hasNext())
|
||||||
|
{
|
||||||
|
playerOneObjectId = iter.next();
|
||||||
|
if (--random < 0)
|
||||||
|
{
|
||||||
|
iter.remove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
|
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
|
||||||
if ((playerOne == null) || !playerOne.isOnline())
|
if ((playerOne == null) || !playerOne.isOnline())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
playerTwoObjectId = getRandomPlayerId(set);
|
random = Rnd.nextInt(set.size());
|
||||||
set.remove(playerTwoObjectId);
|
iter = set.iterator();
|
||||||
|
while (iter.hasNext())
|
||||||
|
{
|
||||||
|
playerTwoObjectId = iter.next();
|
||||||
|
if (--random < 0)
|
||||||
|
{
|
||||||
|
iter.remove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
|
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
|
||||||
if ((playerTwo == null) || !playerTwo.isOnline())
|
if ((playerTwo == null) || !playerTwo.isOnline())
|
||||||
{
|
{
|
||||||
@ -101,21 +122,6 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int getRandomPlayerId(Set<Integer> set)
|
|
||||||
{
|
|
||||||
final int rnd = Rnd.nextInt(set.size());
|
|
||||||
int counter = 0;
|
|
||||||
for (int id : set)
|
|
||||||
{
|
|
||||||
if (counter == rnd)
|
|
||||||
{
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
counter++;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final boolean containsParticipant(int playerId)
|
public final boolean containsParticipant(int playerId)
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,7 @@ import java.sql.Connection;
|
|||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -75,16 +76,36 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
|||||||
|
|
||||||
while (set.size() > 1)
|
while (set.size() > 1)
|
||||||
{
|
{
|
||||||
playerOneObjectId = getRandomPlayerId(set);
|
int random = Rnd.nextInt(set.size());
|
||||||
set.remove(playerOneObjectId);
|
Iterator<Integer> iter = set.iterator();
|
||||||
|
while (iter.hasNext())
|
||||||
|
{
|
||||||
|
playerOneObjectId = iter.next();
|
||||||
|
if (--random < 0)
|
||||||
|
{
|
||||||
|
iter.remove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
|
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
|
||||||
if ((playerOne == null) || !playerOne.isOnline())
|
if ((playerOne == null) || !playerOne.isOnline())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
playerTwoObjectId = getRandomPlayerId(set);
|
random = Rnd.nextInt(set.size());
|
||||||
set.remove(playerTwoObjectId);
|
iter = set.iterator();
|
||||||
|
while (iter.hasNext())
|
||||||
|
{
|
||||||
|
playerTwoObjectId = iter.next();
|
||||||
|
if (--random < 0)
|
||||||
|
{
|
||||||
|
iter.remove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
|
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
|
||||||
if ((playerTwo == null) || !playerTwo.isOnline())
|
if ((playerTwo == null) || !playerTwo.isOnline())
|
||||||
{
|
{
|
||||||
@ -101,21 +122,6 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int getRandomPlayerId(Set<Integer> set)
|
|
||||||
{
|
|
||||||
final int rnd = Rnd.nextInt(set.size());
|
|
||||||
int counter = 0;
|
|
||||||
for (int id : set)
|
|
||||||
{
|
|
||||||
if (counter == rnd)
|
|
||||||
{
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
counter++;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final boolean containsParticipant(int playerId)
|
public final boolean containsParticipant(int playerId)
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,7 @@ import java.sql.Connection;
|
|||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -75,16 +76,36 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
|||||||
|
|
||||||
while (set.size() > 1)
|
while (set.size() > 1)
|
||||||
{
|
{
|
||||||
playerOneObjectId = getRandomPlayerId(set);
|
int random = Rnd.nextInt(set.size());
|
||||||
set.remove(playerOneObjectId);
|
Iterator<Integer> iter = set.iterator();
|
||||||
|
while (iter.hasNext())
|
||||||
|
{
|
||||||
|
playerOneObjectId = iter.next();
|
||||||
|
if (--random < 0)
|
||||||
|
{
|
||||||
|
iter.remove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
|
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
|
||||||
if ((playerOne == null) || !playerOne.isOnline())
|
if ((playerOne == null) || !playerOne.isOnline())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
playerTwoObjectId = getRandomPlayerId(set);
|
random = Rnd.nextInt(set.size());
|
||||||
set.remove(playerTwoObjectId);
|
iter = set.iterator();
|
||||||
|
while (iter.hasNext())
|
||||||
|
{
|
||||||
|
playerTwoObjectId = iter.next();
|
||||||
|
if (--random < 0)
|
||||||
|
{
|
||||||
|
iter.remove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
|
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
|
||||||
if ((playerTwo == null) || !playerTwo.isOnline())
|
if ((playerTwo == null) || !playerTwo.isOnline())
|
||||||
{
|
{
|
||||||
@ -101,21 +122,6 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int getRandomPlayerId(Set<Integer> set)
|
|
||||||
{
|
|
||||||
final int rnd = Rnd.nextInt(set.size());
|
|
||||||
int counter = 0;
|
|
||||||
for (int id : set)
|
|
||||||
{
|
|
||||||
if (counter == rnd)
|
|
||||||
{
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
counter++;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final boolean containsParticipant(int playerId)
|
public final boolean containsParticipant(int playerId)
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,7 @@ import java.sql.Connection;
|
|||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -75,16 +76,36 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
|||||||
|
|
||||||
while (set.size() > 1)
|
while (set.size() > 1)
|
||||||
{
|
{
|
||||||
playerOneObjectId = getRandomPlayerId(set);
|
int random = Rnd.nextInt(set.size());
|
||||||
set.remove(playerOneObjectId);
|
Iterator<Integer> iter = set.iterator();
|
||||||
|
while (iter.hasNext())
|
||||||
|
{
|
||||||
|
playerOneObjectId = iter.next();
|
||||||
|
if (--random < 0)
|
||||||
|
{
|
||||||
|
iter.remove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
|
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
|
||||||
if ((playerOne == null) || !playerOne.isOnline())
|
if ((playerOne == null) || !playerOne.isOnline())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
playerTwoObjectId = getRandomPlayerId(set);
|
random = Rnd.nextInt(set.size());
|
||||||
set.remove(playerTwoObjectId);
|
iter = set.iterator();
|
||||||
|
while (iter.hasNext())
|
||||||
|
{
|
||||||
|
playerTwoObjectId = iter.next();
|
||||||
|
if (--random < 0)
|
||||||
|
{
|
||||||
|
iter.remove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
|
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
|
||||||
if ((playerTwo == null) || !playerTwo.isOnline())
|
if ((playerTwo == null) || !playerTwo.isOnline())
|
||||||
{
|
{
|
||||||
@ -101,21 +122,6 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int getRandomPlayerId(Set<Integer> set)
|
|
||||||
{
|
|
||||||
final int rnd = Rnd.nextInt(set.size());
|
|
||||||
int counter = 0;
|
|
||||||
for (int id : set)
|
|
||||||
{
|
|
||||||
if (counter == rnd)
|
|
||||||
{
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
counter++;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final boolean containsParticipant(int playerId)
|
public final boolean containsParticipant(int playerId)
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,7 @@ import java.sql.Connection;
|
|||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -75,16 +76,36 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
|||||||
|
|
||||||
while (set.size() > 1)
|
while (set.size() > 1)
|
||||||
{
|
{
|
||||||
playerOneObjectId = getRandomPlayerId(set);
|
int random = Rnd.nextInt(set.size());
|
||||||
set.remove(playerOneObjectId);
|
Iterator<Integer> iter = set.iterator();
|
||||||
|
while (iter.hasNext())
|
||||||
|
{
|
||||||
|
playerOneObjectId = iter.next();
|
||||||
|
if (--random < 0)
|
||||||
|
{
|
||||||
|
iter.remove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
|
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
|
||||||
if ((playerOne == null) || !playerOne.isOnline())
|
if ((playerOne == null) || !playerOne.isOnline())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
playerTwoObjectId = getRandomPlayerId(set);
|
random = Rnd.nextInt(set.size());
|
||||||
set.remove(playerTwoObjectId);
|
iter = set.iterator();
|
||||||
|
while (iter.hasNext())
|
||||||
|
{
|
||||||
|
playerTwoObjectId = iter.next();
|
||||||
|
if (--random < 0)
|
||||||
|
{
|
||||||
|
iter.remove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
|
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
|
||||||
if ((playerTwo == null) || !playerTwo.isOnline())
|
if ((playerTwo == null) || !playerTwo.isOnline())
|
||||||
{
|
{
|
||||||
@ -101,21 +122,6 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int getRandomPlayerId(Set<Integer> set)
|
|
||||||
{
|
|
||||||
final int rnd = Rnd.nextInt(set.size());
|
|
||||||
int counter = 0;
|
|
||||||
for (int id : set)
|
|
||||||
{
|
|
||||||
if (counter == rnd)
|
|
||||||
{
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
counter++;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final boolean containsParticipant(int playerId)
|
public final boolean containsParticipant(int playerId)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user