#!/usr/bin/env python
# -*- coding:utf-8 -*-
# FileName: 00_Escape.py
# Development starting date: 2013.01.05
# Modification date log    : 2013.01.05, 2013.02.06
# Last modification date   : 2013.02.12
# Developer: Peter. w (peterwolf.wang@gmail.com)
# This Software/Scipt is protected by copyright and other intellectual property laws and treaties.
# Droidtown Linguistic Technology Co., Ltd. owns the copyright, and other intellectual property rights in the Software/Script.
# 卓騰語言科技有限公司 版權所有 Copyright 2012 Droidtown Ling. Tech. Co., Ltd All Rights Reserved.

import time

def attack(survivors=4):
    print("Chapter 00: The Escape.")

    #午休時間悅耳的音樂從隱藏在天花板裡的指向型擴音器中響起。安裝在各個角落裡的擴音器放出調整過的振動輕輕推動著空氣，
    #精確追蹤著辦公室裡每個座位上工作人員的位置，並在工作人員的耳畔才讓音波開始共鳴。這樣的設計美妙之處在於，即便所有
    #的擴音器同時響起，也只有在工作人員的耳朵旁邊才能聽到完整的個人化午休提示音樂。

    #由於指向型的擴音器會讓共鳴只在收聽對象的耳邊產生，因此辦公室仍然維持著一如以往的安靜。只見大家紛紛站起身來，伸展
    #手腳，跟隨著整個城市裡各大樓裡人們的腳步，開始移動到一樓的中庭或是人行道上的咖啡座，準備悠閒地享受三個小時的午休
    #時間。

    #「三小時，就和上午的工作時間一樣長…」一名正走出城市運輸 (City Trans) 中控大樓的軟體系統工程師沒有特定主題地隨
    #便想著：「五點下班以後，還來得及到河堤旁的公園慢跑，順便拍幾張夕陽的照片哩…不過今天中午吃什麼好呢…」

    #看著在馬路上近乎無聲地來來往往的電動車，「這是城市運輸公司的驕傲...」他想著：「從 2025 年起，高速量子電腦產品和
    #巨量數據 (Big Data) 的應用技術終於全面普及化，每個家庭裡都裝有管家程式，24 小時全年無休地接收家庭成員的所有生理
    #信號、影音紀錄、購物偏好、生活習慣…等等，留存成巨量數據的一部份後，再和各城市的分散式主機連線以供進一步的分析。因
    #此，各種飲食、服飾、社交活動、購物廣告…等等的訊息，也都因這些巨量數據的分析而個人化了。」

    #一個城市住民平均每天仍會收到大約 50 封廣告信，但被收件人視為是「垃圾信」的比例已經降到 0.02% 以下。除了前述的
    #「食」、「衣」、「住」和「育樂」以外，在「行」的方面，各大城市裡有 97% 的汽車都不屬於個人所有，而是城市運輸系統
    #的一部份。剩下的 3% 也都只是部份人士的古董收藏，在市面上已經買不到汽油的情況下，也只能擺著好看而已…

    #「畢竟所有資源從生產到回收已經全部由機器處理了，現在大部份人的工作，就是把自己心裡所想的東西變成程式碼，然後讓機器
    #去執行罷了…」他低頭盯著地上的感應地磚，這是告訴城市電動車路口即將有東西接近用的感應器。有了這些感應地磚，行人不需要
    #在路口停下腳步，城市電動車自然會計算行人的即時位置，並預算好安全距離以做出迴避路線的規劃。

    #剛穿越馬路，正準備踱向街角那家新開的餐廳時，突然間，有股不太對勁的感覺從背後竄起…

    #太安靜了！雖然城市電動車本來就沒什麼聲音，但現在實在太安靜了，怎麼回事？他回過頭來，卻看到原本在馬路上川流不息的城市
    #電動車全都停了下來。

    #「系統故障？這麼大規模？糟糕…出大事了！」他一邊想著這麼大規模的故障，可能出錯的原因會是什麼，一邊開始回頭拔腿狂奔。
    #跑沒幾步，他前方的路人也開始朝著他跑來，他正覺得奇怪時，遠方的街角傳來一聲尖叫。他一定神，才發現整條街上的城市電動車
    #都像是奔牛節的狂牛一樣朝著旁邊本來正悠閒地享受午餐的民眾全力衝刺…

    #冷不防，頭頂傳來「碰～鏘～」接著，從天上撒下一地的玻璃渣。他抬起頭來只在眼角瞄到一個兩足機器跳上對面大樓的屋頂。
    #緊接著，一陣刺耳的電池引擎加速聲朝他衝來。

    #平時做為休閒興趣的跑步鍛練，在這個時候產生了實際的效果。他不算跑得很快的跑者，但和身邊的人相比，他就是快上那麼一兩步。
    #這種時候，一兩步的差別，就是生與死的距離。

    #「不行，我一定要趕回辦公室去！」雖然很想停下來救救身邊受傷的路人，但他心裡知道得很清楚，只有從辦公室裡的電腦登入主機系統，
    #才有可能全面停止這場單方面的大屠殺。

    #衝進城市運輸的辦公大樓大廳，情況也沒有好到哪裡去。只見平常在各部門間遞送物件的小型電動車也以那小小的馬達發出怒吼，一下
    #一下地衝撞著大廳裡的同事。雖然它的威力不足以致命，但一旦被它的取物機器手臂抓住，它立刻轉著高扭力的橡皮履帶，把到手的獵物
    #往門外拖去，交給外面的城市電動車「處理」！

    #連線！整個城市所有的設備都是彼此交織在同一個網路下的。是恐怖攻擊嗎？

    #「兔大！兔大！這裡！」他抬頭看到幾個同一部門的下屬一邊緊緊攀附著牆角的防火逃生梯，一邊向他大聲招呼！

    #看準時間，三步併作兩步地最後衝刺...在千鈞一髮之際，他也攀上了逃生梯的最後一級橫桿。

    #「往上爬啊！上面一定有逃生通道！」他向下屬指示著：「我們快點進辦公室去讓主機緊急停機！」

    #「兔大！來不及了！我們就是從辦公室逃出來的。」剛才向他招呼的同事哭喪著一張臉報告著。

    #「烈兔，我們現在怎麼辦？」更高的地方，一個女孩子的聲音冷冷地傳了過來。

    #他不用抬頭就知道，部門裡會這樣連名帶姓叫他的，只有雲杉一個人。唉...都說好兔不吃窩邊草，可惜當時年紀小，
    #他們兩個又是同一時期進公司的...不對，現在不是回顧人生的時候，還不是。剛才不是看到頂樓有東西逃了出去嗎？
    #雖然他不知道頂樓到底有什麼，但他知道現在留在低樓層，一定只有死路一條。

    #「往上爬，一直爬到頂樓去！」他抬頭向上面的三個人指示著。同時這才看清楚，一串防火梯上頭，包括他共有四個人
    #攀在梯子上，最上面的是他的前女友雲杉，接著是機械部的林貓和和他一樣屬於軟體開發部的新人斑犀...

    #「上面有什麼？為什麼要上頂樓？頂樓不是採購研發部的樓層嗎？」雲杉沒好氣地一口氣吐出三個問題。

    #烈兔才突然想到，怎麼會有部門叫「採購研發部」？城市運輸公司裡明明就有採購部，也有研發部。採購就採購，買來
    #的東西不論是原型零件還是併購來的技術，後續的研究交給研發部就可以了，為什麼會特別獨立一個部門叫「採購研發部」？
    #這其中一定有文章？！

    #「我不知道上面有什麼，但是我剛剛在外面看到頂樓有東西打破玻璃逃了出去！」他暗暗希望這樣微弱的說辭能說服向來
    #不把他的意見當一回事兒的雲杉。

    #「小姐，不管上面有什麼，但下面有一堆機器因為你們亂寫的程式正在瘋狂殺人，這樣的理由應該夠叫你往上爬了吧？」
    #一直沒說話的林貓沒好氣地補了一句。

    #他早就聽說機械部的同事常常抱怨軟體開發部寫出來的操作程式「缺乏對機械的愛」，常常搞得他們辛辛苦苦才組裝好的設備，
    #因為操作程式的缺陷而燒毀或是因為做了超出承受範圍的動作而受損。

    #他幾乎想像得到雲杉一定是先扁了扁嘴，再將左邊的的眉毛不以為然地一挑，然後才開始往上爬的。

    #於是，他們開始了這段 89 層樓的垂直旅程...不知道是因為距離地面愈來愈遠，還是因為倖存的人數愈來愈少，在他們的腳下，
    #尖叫聲已經不像城市電動車剛開始暴走時那麼頻繁了...

    endLine = "黑夜．如同白晝一般明！(阿推.)"
    for i in endLine:
        if i == "．":
            time.sleep(2)
        else:
            time.sleep(0.3)
            print(i)

if __name__ == "__main__":
    attack()
