/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tetris2;

import java.util.Collection;
import java.util.Iterator;
import java.util.TreeSet;

/**
 *
 * @author Fmunch
 */
public class GameTypes<T extends GameType> extends TreeSet<T>
        implements java.io.Serializable
{

    @Override
    public boolean add(T e) {
        if(e.isEmpty())
        {
            return false;
        }
        return super.add(e);
    }

    public boolean addAll(Collection<? extends T> c) {
        Iterator<?> it = c.iterator();
        while(it.hasNext())
        {
            T game=(T)it.next();
            super.add(game);
        }
        return true;
    }
    public static void main(String []args)
    {
        GameTypes<TetrisGameType> gt = new GameTypes<TetrisGameType>();
        TetrisGameType simplegame=new TetrisGameType();
        simplegame.initialize("Simple:5:6:5");
        boolean res=gt.add(simplegame);
        System.out.println("res = "+ res );
        res = gt.add(new TetrisGameType("beg1:0:50:10:2"));
        System.out.println("res = "+ res );
        res = gt.add(new TetrisGameType("beg2:200:45:15:3"));
        res = gt.add(new TetrisGameType("beg3:500:42:25:5"));
        res = gt.add(new TetrisGameType("beg4:1000:38:40:8"));
        res = gt.add(new TetrisGameType("avg1:2000:36:50:10"));
        res = gt.add(new TetrisGameType("avg2:3500:34:80:16"));
        System.out.println("res = "+ res );
        Iterator<TetrisGameType> it = gt.iterator();
        while(it.hasNext())
        {
            System.out.println(it.next().toString());
        }
    }
}


