コード例 #1
0
 public AdventureScreen(Quinoa quinoa)
 {
     dtm = new DrawManager();
     this.quinoa = quinoa;
     this.tileOffsetX = 0;
     this.tileOffsetY = 0;
     this.targetX = 0;
     this.targetY = 0;
     this.targetMaxDistance = 1;
     this.inventoryTargetX = 0;
     this.inventoryTargetY = 0;
     this.tradeTargetX = 0;
     this.tradeTargetY = 0;
     this.characterIndex = 0;
     this.targetY = 0;
     this.mapSelectAction = MapSelectAction.VERB;
     this.mode = AdventureScreenMode.MAP;
     this.lastHungerStatus = "";
     this.verb = ItemVerb.NULL;
     this.verbItem = null;
     this.verbIndex = 0;
     this.tradeMonster = null;
     this.tradePageIsPlayer = true;
     this.regionCycleCounter = Quinoa.REGION_CYCLE_FREQUENCY;
 }
コード例 #2
0
        public void setMode(AdventureScreenMode newMode)
        {
            switch(newMode)
            {
                case AdventureScreenMode.MAP:
                    this.mode = AdventureScreenMode.MAP;
                    quinoa.getUI().refresh();
                    break;

                case AdventureScreenMode.HELP:
                    this.mode = AdventureScreenMode.HELP;
                    quinoa.getUI().refresh();
                    break;

                case AdventureScreenMode.DIALOG:
                    this.mode = AdventureScreenMode.DIALOG;
                    quinoa.getUI().refresh();
                    break;

                case AdventureScreenMode.MAP_SELECT:
                    targetX = quinoa.getPlayer().x;
                    targetY = quinoa.getPlayer().y;

                    switch(quinoa.getPlayer().facing)
                    {
                        case Direction.N:
                        if(targetY > 0)
                        {
                            targetY--;
                        }
                        break;

                        case Direction.S:
                        if(targetY < quinoa.getCurrentRegionHeader().getRegion().getHeight() - 2)
                        {
                            targetY++;
                        }
                        break;

                        case Direction.W:
                        if(targetX > 0)
                        {
                            targetX--;
                        }
                        break;

                        case Direction.E:
                        if(targetX < quinoa.getCurrentRegionHeader().getRegion().getWidth() - 2)
                        {
                            targetX++;
                        }
                        break;
                    }

                    this.mode = AdventureScreenMode.MAP_SELECT;
                    quinoa.getMessageManager().addMessage("Press " + charToStr(ENTER_KEY) + " to select an area.");
                    quinoa.getUI().refresh();
                    break;

                case AdventureScreenMode.INVENTORY:
                    this.mode = AdventureScreenMode.INVENTORY;
                    this.inventoryTargetX = 0;
                    this.inventoryTargetY = 0;
                    quinoa.getUI().refresh();
                    break;

                case AdventureScreenMode.CHARACTER:
                    this.mode = AdventureScreenMode.CHARACTER;
                    quinoa.getUI().refresh();
                    break;

                case AdventureScreenMode.VERB_PICK:
                    this.mode = AdventureScreenMode.VERB_PICK;
                    quinoa.getMessageManager().addMessage("Press " + charToStr(ENTER_KEY) + " select an action.");
                    this.verb = ItemVerb.NULL;
                    this.verbIndex = 0;
                    quinoa.getUI().refresh();
                    break;

                case AdventureScreenMode.TRADE:
                    this.tradeTargetX = 0;
                    this.tradeTargetY = 0;
                    this.tradePageIsPlayer = true;
                    quinoa.getMessageManager().addMessage("Press " + charToStr(ENTER_KEY) + " to sell or buy the selected item.");
                    quinoa.getMessageManager().addMessage("Press " + charToStr(EXIT_KEY) + " to stop trading.");
                    this.mode = AdventureScreenMode.TRADE;
                    quinoa.getUI().refresh();
                    break;
            }
        }