Ejemplo n.º 1
0
 public Player(Point location) : base("player.png", location, new Size(20, 40), 40, "Player")
 {
     registerHandlers();
     hotbar = new Inventory(10);
     hotbar.addItem(ItemTool.createPickaxe(PickaxeType.PICKAXE_STARTING), 1);
     hotbar.addItem(new ItemBow(), 1);
     hotbar.addItem(new ItemSword(), 1);
     hotbar.addItem(BlockPrototype.torch, 50);
     hotbar.addItem(BlockPrototype.furnace, 1);
     hotbar.addItem(BlockPrototype.computer, 1);
     hotbar.addItem(BlockPrototype.glass, 50);
 }
Ejemplo n.º 2
0
        public MainForm()
        {
            random           = new Random();
            damageIndicators = new List <DamageIndicator>();
            entities         = new List <Entity>();
            inventories      = new List <Inventory>();
            instance         = this;
            cursor           = Reference.getImage("cursor.png");
            viewOffset       = new Point(0, 0);
            player           = new Player(new Point(9000, 0));
            Zombie zombie  = new Zombie(Util.addPoints(player.location, new Point(50, 0)));
            Zombie zombie2 = new Zombie(Util.addPoints(player.location, new Point(100, 0)));
            Zombie zombie3 = new Zombie(Util.addPoints(player.location, new Point(150, 0)));

            //An attempt to fix Wine compatability. My theory as to why not: Using the Windows cursor position method on linux before messagebox is done.
            //Get cursor position, and ask whether or not they use a Unix-like.
            if (false)  //MessageBox.Show("Are you running the game on a non-Windows system using the Wine compatibility layer?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) {
            {
                linux = true;
                MessageBox.Show("So that the game knows where your mouse cursor is, please click the top-left of the INSIDE of the window when the game starts. For example, if the following was the window, you would click where the ^ is." +
                                "\n+========+" +
                                "\n|X                   |" +
                                "\n|                       |" +
                                "\n|                       |" +
                                "\n|                       |" +
                                "\n|                       |" +
                                "\n|                       |" +
                                "\n+========+", "Locate your cursor");
                waitingForInitialClick = true;
            }

            //Windows Forms stuff
            InitializeComponent();
            //Generate World
            world = World.createWorld(500, 500);

            //Initialize Recipies
            List <Recepie> recepies = new List <Recepie>();
            Dictionary <InventoryItem, int> input = new Dictionary <InventoryItem, int>();

            input.Add(BlockPrototype.log, 1);
            recepies.Add(new Recepie(input, new KeyValuePair <InventoryItem, int>(BlockPrototype.planks, 5)));

            Dictionary <InventoryItem, int> input2 = new Dictionary <InventoryItem, int>();

            input2.Add(BlockPrototype.planks, 1);
            recepies.Add(new Recepie(input2, new KeyValuePair <InventoryItem, int>(ItemTemplate.stick.createNew(), 2)));

            Dictionary <InventoryItem, int> input3 = new Dictionary <InventoryItem, int>();

            input3.Add(ItemTemplate.stick.createNew(), 6);
            input3.Add(ItemTemplate.wool.createNew(), 2);
            recepies.Add(new Recepie(input3, new KeyValuePair <InventoryItem, int>(new ItemBow(), 1)));

            Dictionary <InventoryItem, int> input4 = new Dictionary <InventoryItem, int>();

            input4.Add(ItemTemplate.stick.createNew(), 4);
            input4.Add(BlockPrototype.oreCoal, 1);
            recepies.Add(new Recepie(input4, new KeyValuePair <InventoryItem, int>(BlockPrototype.torch, 4)));

            Dictionary <InventoryItem, int> input5 = new Dictionary <InventoryItem, int>();

            input5.Add(ItemTemplate.stick.createNew(), 2);
            input5.Add(ItemTemplate.ironBar.createNew(), 4);
            recepies.Add(new Recepie(input5, new KeyValuePair <InventoryItem, int>(ItemTool.createPickaxe(PickaxeType.PICKAXE_IRON), 1)));

            inventoryCraftingManager = new CraftingManager(recepies);

            this.FormClosing += new FormClosingEventHandler(MainForm_FormClosing);
            //this.Paint += new PaintEventHandler(MainForm_Paint);
            this.Resize     += new EventHandler(MainForm_Resize);
            this.KeyDown    += new KeyEventHandler(MainForm_KeyDown);
            this.KeyPress   += new KeyPressEventHandler(MainForm_KeyPress);
            this.MouseClick += new MouseEventHandler(MainForm_MouseClick);
            this.MouseWheel += new MouseEventHandler(MainForm_MouseWheel);
            this.MouseDown  += new MouseEventHandler(MainForm_MouseDown);
            this.MouseUp    += new MouseEventHandler(MainForm_MouseUp);

            LightingEngine.doFullLightingUpdate(true);
        }