Improved olympiad game start.

This commit is contained in:
MobiusDev 2017-11-29 19:45:07 +00:00
parent 9591df7c0b
commit 026b55c102
5 changed files with 125 additions and 95 deletions

View File

@ -20,6 +20,7 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
@ -75,16 +76,36 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
while (set.size() > 1)
{
playerOneObjectId = getRandomPlayerId(set);
set.remove(playerOneObjectId);
int random = Rnd.nextInt(set.size());
Iterator<Integer> iter = set.iterator();
while (iter.hasNext())
{
playerOneObjectId = iter.next();
if (--random < 0)
{
iter.remove();
break;
}
}
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
if ((playerOne == null) || !playerOne.isOnline())
{
continue;
}
playerTwoObjectId = getRandomPlayerId(set);
set.remove(playerTwoObjectId);
random = Rnd.nextInt(set.size());
iter = set.iterator();
while (iter.hasNext())
{
playerTwoObjectId = iter.next();
if (--random < 0)
{
iter.remove();
break;
}
}
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
if ((playerTwo == null) || !playerTwo.isOnline())
{
@ -101,21 +122,6 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
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
public final boolean containsParticipant(int playerId)
{

View File

@ -20,6 +20,7 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
@ -75,16 +76,36 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
while (set.size() > 1)
{
playerOneObjectId = getRandomPlayerId(set);
set.remove(playerOneObjectId);
int random = Rnd.nextInt(set.size());
Iterator<Integer> iter = set.iterator();
while (iter.hasNext())
{
playerOneObjectId = iter.next();
if (--random < 0)
{
iter.remove();
break;
}
}
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
if ((playerOne == null) || !playerOne.isOnline())
{
continue;
}
playerTwoObjectId = getRandomPlayerId(set);
set.remove(playerTwoObjectId);
random = Rnd.nextInt(set.size());
iter = set.iterator();
while (iter.hasNext())
{
playerTwoObjectId = iter.next();
if (--random < 0)
{
iter.remove();
break;
}
}
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
if ((playerTwo == null) || !playerTwo.isOnline())
{
@ -101,21 +122,6 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
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
public final boolean containsParticipant(int playerId)
{

View File

@ -20,6 +20,7 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
@ -75,16 +76,36 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
while (set.size() > 1)
{
playerOneObjectId = getRandomPlayerId(set);
set.remove(playerOneObjectId);
int random = Rnd.nextInt(set.size());
Iterator<Integer> iter = set.iterator();
while (iter.hasNext())
{
playerOneObjectId = iter.next();
if (--random < 0)
{
iter.remove();
break;
}
}
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
if ((playerOne == null) || !playerOne.isOnline())
{
continue;
}
playerTwoObjectId = getRandomPlayerId(set);
set.remove(playerTwoObjectId);
random = Rnd.nextInt(set.size());
iter = set.iterator();
while (iter.hasNext())
{
playerTwoObjectId = iter.next();
if (--random < 0)
{
iter.remove();
break;
}
}
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
if ((playerTwo == null) || !playerTwo.isOnline())
{
@ -101,21 +122,6 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
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
public final boolean containsParticipant(int playerId)
{

View File

@ -20,6 +20,7 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
@ -75,16 +76,36 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
while (set.size() > 1)
{
playerOneObjectId = getRandomPlayerId(set);
set.remove(playerOneObjectId);
int random = Rnd.nextInt(set.size());
Iterator<Integer> iter = set.iterator();
while (iter.hasNext())
{
playerOneObjectId = iter.next();
if (--random < 0)
{
iter.remove();
break;
}
}
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
if ((playerOne == null) || !playerOne.isOnline())
{
continue;
}
playerTwoObjectId = getRandomPlayerId(set);
set.remove(playerTwoObjectId);
random = Rnd.nextInt(set.size());
iter = set.iterator();
while (iter.hasNext())
{
playerTwoObjectId = iter.next();
if (--random < 0)
{
iter.remove();
break;
}
}
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
if ((playerTwo == null) || !playerTwo.isOnline())
{
@ -101,21 +122,6 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
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
public final boolean containsParticipant(int playerId)
{

View File

@ -20,6 +20,7 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
@ -75,16 +76,36 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
while (set.size() > 1)
{
playerOneObjectId = getRandomPlayerId(set);
set.remove(playerOneObjectId);
int random = Rnd.nextInt(set.size());
Iterator<Integer> iter = set.iterator();
while (iter.hasNext())
{
playerOneObjectId = iter.next();
if (--random < 0)
{
iter.remove();
break;
}
}
playerOne = L2World.getInstance().getPlayer(playerOneObjectId);
if ((playerOne == null) || !playerOne.isOnline())
{
continue;
}
playerTwoObjectId = getRandomPlayerId(set);
set.remove(playerTwoObjectId);
random = Rnd.nextInt(set.size());
iter = set.iterator();
while (iter.hasNext())
{
playerTwoObjectId = iter.next();
if (--random < 0)
{
iter.remove();
break;
}
}
playerTwo = L2World.getInstance().getPlayer(playerTwoObjectId);
if ((playerTwo == null) || !playerTwo.isOnline())
{
@ -101,21 +122,6 @@ public abstract class OlympiadGameNormal extends AbstractOlympiadGame
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
public final boolean containsParticipant(int playerId)
{