public static Move[] generateMoves(int nMoves) {
		Move[] moves = new Move[nMoves];
		for (int i = 0; i < nMoves; i++) {
			Move m = new Move("Move #" + i);
			moves[i] = m;
		}
		for (Move m0 : moves) {
			for (Move m1 : moves) {
				if (m0 == m1 || m0.beats(m1) || m1.beats(m0))
					continue;
				if (RPSGame.rand.nextBoolean()) {
					m0.winsAgainst.add(m1);
					m1.losesAgainst.add(m0);
				} else {
					m1.winsAgainst.add(m0);
					m0.losesAgainst.add(m1);
				}
			}
		}
		for (Move m : moves) {
			if (m.losesAgainst.size() == 0) {
				return generateMoves(nMoves);
			}
		}
		return moves;
	}