README

Example Guide

贡献指南

▼ 项目列表

▼ Intermediate-Level Ideas

Book Finder App

To-Do 应用

命令行计算器

Markdown预览器

Emoji翻译器应用

Password Generator

Name Generator

Meme生成器应用

FlashCards应用

Charity Finder App

Podcast目录应用

Game Suggestion App

Simple Online Store

Flip Art App

HighStriker游戏

Sports Bracket Generator

时区提醒机器人

二维码徽章应用

卡片记忆游戏

Bit Masks App

Chrome主题扩展

Currency Converter

Drawing App

GitHub个人资料

Image Scanner

Markdown表格生成器

RegExp助手应用

Sales数据库应用程序

String Art

This or That Game

Typing Practice App

Voting App

Math Editor

▼ 初学者项目合集

Bin2Dec应用

Border Radius Previewer

CSV转JSON应用

Calculator App

Calendar App

因果应用

Christmas Lights App

Color Cycle App

倒计时器应用

Dollars To Cents App

Dynamic CSS Variables App

First Database App

Flip Image App

GitHub状态应用

Hello App

IOT邮箱应用

JSON转CSV应用

Javascript正则表达式验证

Key-Value 应用

Lorem Ipsum 生成器

Notes应用

Pearson回归应用

Pomodoro时钟

产品登陆页

Quiz应用程序

随机餐点生成器

随机数生成器

Recipe App

Roman to Decimal Converter

滑块设计

Stopwatch App

True or False App

Vigenere 密码

Weather App

Windchill App

Word Frequency App

▼ Advanced Ideas

Battleship Bot

Battleship游戏引擎

Boole Bot 游戏

Bug Race Game

Calorie Counter App

Chat应用

Contribution Tracker App

Elevator App

FastFood应用

GitHub时间线应用

GitTweet应用

Instagram克隆应用

Kudos Slackbot

Movie App

MyPodcast Library App

NASA系外行星查询

Shell Game

Shuffle-Deck-App

Slack 归档器

SpellIt-App

Survey App

电梯

等级: 3-高级

如果没有电梯,想想世界会变得多么艰难。特别是如果你每天都要走20层楼梯。但如果我们考虑一下,电梯甚至是在网络应用程序出现之前就已经实现了事件和事件处理器的原始实现之一。

电梯应用的目的是模拟电梯的操作,更重要的是,如何处理当建筑物的居民使用它时生成的事件。这个应用程序模拟了居民从任何楼层呼叫电梯,并按下电梯内的按钮来指示他们希望去哪一层。

限制

  • 每个楼层的上下按钮必须实现单一事件处理器。例如,如果有4层,应该实现一个单一的事件处理器而不是每个楼层两个(每个楼层两个按钮)。
  • 同样,电梯控制面板上的所有按钮也应该实现单一事件处理器,而不是为每个按钮实现独特的事件处理器。

用户故事

  • [ ] 用户可以看到一个四层建筑的横截面图,包括电梯井、电梯以及第一层的向上按钮、第二和第三层的向上和向下按钮,以及第四层的向下按钮。
  • [ ] 用户可以看到电梯控制面板上图表侧面的每个楼层的按钮。
  • [ ] 用户可以点击任何楼层的向上和向下按钮来召唤电梯。
  • [ ] 用户可以期望点击任何楼层的向上和向下按钮请求电梯会在它们被点击的顺序中被排队并服务。
  • [ ] 用户可以看到电梯在井道中向上和向下移动到被召唤到的楼层。
  • [ ] 用户可以点击电梯控制面板选择电梯应该行驶到的楼层。
  • [ ] 用户可以期望电梯在控制面板上的楼层按钮被点击前暂停5秒。如果在这段时间内没有点击楼层按钮,电梯将处理下一个呼叫请求。
  • [ ] 当没有请求要处理时,用户可以期望电梯回到第一层。

额外功能

  • [ ] 如果电梯请求次数超过允许的最大次数,用户可以看到一个警告声音。这个限制留给了开发者。
  • [ ] 当电梯到达某层时,用户可以听到声音。
  • [ ] 用户可以看到一个随机到达楼层的居民,以指示用户在哪个楼层应该点击向上或向下的电梯呼叫按钮。
  • [ ] 用户可以指定新居民到达的时间间隔,以便呼叫电梯。

有用链接和资源

先进先出队列(Wikipedia)

示例项目

电梯