コード例 #1
0
ファイル: GUIList.cs プロジェクト: brokoli78/ProjectRogue
        public override void KeyPress(KeyboardState state, KeyMapper mapper)
        {
            if(mapper.HasState("arrowDown", state) && selectedItem != listContent.Count - 1)
            {
                selectedItem++;

                if (firstDisplayedItem + numDisplayableItems - 1 < selectedItem)
                    firstDisplayedItem++;
            }

            if (mapper.HasState("arrowUp", state) && selectedItem != 0)
            {
                selectedItem--;

                if (firstDisplayedItem > selectedItem)
                    firstDisplayedItem--;
            }

            if(mapper.HasState("enter", state))
                selectedAction(selectedItem);

            base.KeyPress(state, mapper);
        }
コード例 #2
0
ファイル: Player.cs プロジェクト: brokoli78/ProjectRogue
        public bool OnKeyPress(KeyMapper keyMapper, KeyboardState state)
        {
            int tempX = x;
            int tempY = y;
            bool walked = false;

            if(keyMapper.HasState("moveSW", state))
            {
                tempX--;
                tempY++;
                walked = true;
            }
            else if(keyMapper.HasState("moveS", state))
            {
                tempY++;
                walked = true;
            }
            else if(keyMapper.HasState("moveSE", state))
            {
                tempX++;
                tempY++;
                walked = true;
            }
            else if(keyMapper.HasState("moveW", state))
            {
                tempX--;
                walked = true;
            }
            else if(keyMapper.HasState("wait1", state))
            {
                walked = true;
            }
            else if(keyMapper.HasState("moveE", state))
            {
                tempX++;
                walked = true;
            }
            else if(keyMapper.HasState("moveNW", state))
            {
                tempX--;
                tempY--;
                walked = true;
            }
            else if(keyMapper.HasState("moveN", state))
            {
                tempY--;
                walked = true;
            }
            else if(keyMapper.HasState("moveNE", state))
            {
                tempX++;
                tempY--;
                walked = true;
            }
            else
            {
                walked = false;
            }

            if(walked)
            {
                if (map.inMap(tempX, tempY))
                {
                    if (map[tempX, tempY].walkable)
                    {
                        move(tempX, tempY);
                        GameObject.newTurn();
                        return true;
                    }
                    else
                    {
                        if (delia)
                        {
                            if (trogRage > 10)
                            {
                                GameLog.newMessage("You bump into the wall. Nothing happens.");
                                GameLog.newMessage("All nearby enemies in the dungeon spend a turn laughing at your stupidity.", Color.LightBlue);
                            }
                            if (trogRage == 10)
                            {
                                GameLog.newMessage("You bump into the wall. You explode and die.");
                                GameLog.newMessage("Trog intervenes to save you. He says:", Color.Gold);
                                GameLog.newMessage(" I'm tired of saving you....therefore im taking all the explosions from you.", Color.Goldenrod);
                                GameLog.newMessage(" MUHAHAHAHAHAHAHAHAH", Color.Red);
                                trogRage++;
                            }
                            if (trogRage < 10)
                            {
                                GameLog.newMessage("You bump into the wall. You explode and die.");
                                GameLog.newMessage("Trog intervenes to save you. His advice:", Color.Gold);
                                GameLog.newMessage(" Maybe next time you don't do that. Reverting time.....", Color.Goldenrod);
                                trogRage++;
                            }
                        }
                    }
                }

            }
            return false;
        }
コード例 #3
0
ファイル: GUIModule.cs プロジェクト: brokoli78/ProjectRogue
 public virtual void KeyPress(KeyboardState state, KeyMapper mapper)
 {
 }