麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > JS > 正文

用js重建星際爭霸

2024-09-06 12:44:15
字體:
來源:轉載
供稿:網友

演示地址

    http://www.script8.com/works/sc/index.htm

 

背景介紹
  對很多人來說,javaScript是一種頗為神秘的語言,這種語言由瀏覽器解析,可以實現很復雜的功能,但在實際中又使用甚少。在以相對定位為基礎的網站體系中,js并不是必不可少的,最早的瀏覽器并不支持js,只需使用純靜態的html,也能建立功能完備的網站。對于頁面開發人員來說,使用js的時候估計也就是用于數據合法性檢查而已。近年來,隨著ajax概念崛起,js的使用有所增加,不過除了web郵箱等少數工具型的網站之外,其作用仍然是輔助性的。
  實際上,js作為最流行的腳本語言,功能是非常強大的,筆者就曾經利用js來模擬星際爭霸。大家都知道,星際爭霸是即時戰略游戲史上的里程碑,在玩家心目中的地位是不言而喻的,泡在各種各樣的網吧里玩星際曾經是筆者生活的一部分。僅憑一腔熱血,我就著手用js來開發星際,這是一次堅難的歷程,充滿了挫折,也享受到了樂趣,最后能夠完成,卻是開始時我也沒有奢望到的。
  js星際源碼最早發布于無憂腳本的論壇里,得到了很多網友的好評,讓我感動之余,也唯有更加努力。通過這次開發,我的js開發技術有了很多提高,還認識了許多喜歡js開發的朋友,幸哉!js星際現在的存放地址是http://www.script8.com/works/sc/index.htm,有興趣的朋友歡迎參與討論。


解決方案
  尋徑算法是游戲的基礎,也是運算量最大的部分。我沒有使用A*算法,因為對腳本來說開銷太大了,而是自主開發一種新算法,稱之為交點法,特點是線性尋徑,運算量比較小,缺點是不能保證結果為最短路徑。交點法的基本思路簡述如下:
  1.從起點到終點畫直線,與障礙物相交時,總會出現對應的穿入點和穿出點。
  2.從穿入點的兩個方向同時繞行障礙物,選擇先到達穿出點的路線作為前進路線,這樣就得到了一條比較原始的路線。
  3.對路線進行優化,判斷兩點是否形成通路,刪除冗余點,得到最終的路徑。
  尋徑時大量使用了判斷是否障礙點的運算,一般的做法是遍歷數組,分別比較才能得到結果。我把障礙點序列變成一個長字符串,通過字符串包含關系就可以判斷出當前點是否障礙點,這樣就減少了很多運算量。
  js星際所實現的,相當于是星際爭霸的開場部分,即采礦、制造建筑物和生產士兵,戰斗部分略有涉及。在編碼之前,就需要有許多準備工作,光是圖片的制作就非常煩鎖,需要萬分的耐心才行。另外,我還用hta技術開發了一個地圖編輯器,用于生成地圖數據。
  游戲里的控制面板比較精簡,縮略地圖和選擇信息集成到右上角的一個小面板里,其他部分都屬于游戲場景。每個移動單位有8個方向,以槍兵為例,需要用24張圖片來表現站立和走動各種姿態。這些圖片都集成在一張大圖里,根據走動或站立情況,顯示其中的對應部分,比如在走動時,判斷出走動方向,一邊移動槍兵位置,一邊三張圖片輪顯,表現出走動的情形。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 91成人午夜性a一级毛片 | h色网站在线观看 | 狠狠干天天操 | 亚洲视频欧美 | 国产成人在线播放视频 | 一级毛片播放 | 狠狠一区二区 | 中文字幕视频在线播放 | 欧美三区在线 | 欧美一级网| 超碰人人做人人爱 | 国产精品成人一区二区三区吃奶 | 国内久久久久 | 国产精品久久久久久模特 | 久久色在线 | 久久精品免费国产 | 国产一国产一级毛片视频在线 | 国产成人自拍视频在线 | 369看片你懂的小视频在线观看 | 欧美成人一区二区三区 | 黄色片视频在线观看 | 亚洲最新黄色网址 | 久久久电影电视剧免费看 | 久久99国产伦子精品免费 | 久久精品com | 亚洲少妇诱惑 | 久久精品一区二区三区四区五区 | gogo全球大胆高清人露出91 | 毛片在线看免费 | 国内久久久久 | 国产精品久久久久久久不卡 | 久色免费| 国产精品久久久久国产精品三级 | 精品一区二区三区在线观看国产 | 91在线免费观看 | 麻豆一区二区99久久久久 | 香蕉秀| 91av国产在线 | 成年性羞羞视频免费观看无限 | 国产成人高清在线观看 | www.91sese|