希格工作室

顯示具有 AJAX 標籤的文章。 顯示所有文章
顯示具有 AJAX 標籤的文章。 顯示所有文章

2011年11月25日 星期五

令人懷念的MUD -- [AJAX GAME]自製簡易網頁的對戰小遊戲

https://sites.google.com/site/siggblog/sample/ajax-you-xi1

(進入遊戲後請先點素質)

這是我為了瞭解AJAX運作寫的,純網頁無FLASH,應該算即時的猜拳制的對戰,線上隨機找其他活人對戰(不過因為沒人玩,所以我加上電腦)。


會想要寫這個,無非是想用AJAX作什麼,其實網頁遊戲現在多的跟什麼一樣,只是都是用FLASH來做...,目前先試試用AJAX純網頁能做到啥程度,接下來和HTML5結合,看能玩出啥花樣?
但是有很大的問題,就是敝人沒什麼設計天份,也畫不出好看的圖~所以整體介面醜死了...



如果玩過後有什麼意見給我參考或反應(不能玩、沒反應、不平衡、畫面太亂、不會動、網路慢之類的),我會感激不盡的,但是如果要我畫上萌圖當角色之類的,我可能沒辦法~

因為只是一個畫面而已,所以沒有啥故事主題之類的,因此我也沒有替這個小遊戲命名。

在IE、firefox、Chrome測試都沒問題,其它版本未知,但是請勿用IE6...

基本上我想要知道我這種設計是否很吃頻寬,所以如果我網路被撐爆,我可能會關掉這個遊戲...

最後,如果你有意願賞光稍微玩一下的,在這裡說聲謝謝~



以下是說明和注意事項,懶得看的可以跳過

註冊
1.先點擊[註冊]建立帳號,註冊的帳號和暱稱無法與他人重復。
2.帳號最多12位,暱稱最多20個字,Email請盡量輸入能用的。
3.註冊成功後會發送註冊成功的Email(沒收到信也沒關係),密碼無法變更和查詢。

遊戲方式
1.遊戲是以線上找玩家直接對戰的方式
2.進入畫面後,左側可查看資訊,[遊戲資訊]可查看線上人數(約每1分鐘更新一次)。
3.點選[尋找對手]可以開始搜尋並等待其它按下[尋找對手]的玩家(若要停止則再按一次)。
4.當互相找到玩家後,[準備完成]會亮起,決定好你的[對戰指令],及看HP夠不夠後,就可以按下。
5.進攻方式目前分4種:重擊(AK)、刺擊(SK)、防禦(DF)、反擊(BK) (如果你有更好的名詞歡迎告知...)
在戰鬥進行中可以任意變更,來改變戰術,
基本上攻防互剋情況為:
     1.AK>SK>BK>AK
     2.AK和SK打DF時,SK較有利
     3.DF狀態下受到攻擊後,會進行蓄力狀態,當改進行攻擊時傷害會些許提高,最多可蓄10回合(會逐漸消退)。
     4.雙方都DF或BK時,無傷害,DF也不會蓄積。

6.戰鬥大約每兩秒為一回合,進行到一方或雙方HP歸零為止,就算中途關閉瀏覽器也是會打到底。
7.每次參加戰鬥,最少都會有1的EXP,EXP計算以對手等級計算,當比對手等級高時,每多1級少一些的EXP,勝方可獲得全部EXP,敗方則只有1/3,但無論如何,一定有1EXP
8.戰鬥結束後,或未開打前,都可以恢復你的HP值,恢復HP需已EXP作為代價,每100HP要1EXP,但10級以內不用,11~30需求減半,若EXP為0則都不用,不會掉級請放心。

人物狀態
1.人物狀態在畫面左方[人物資訊]裡可查看,當升級時HP,STR,DEF,AGI,DEX會亮起讓玩家提升素質,若點下去就不可返回,請注意。
2.人物狀態分為:
     LV:人物等級,最高99
     HP:血量,每次升級+10滴HP,升級也可用點數提升,每1點+10HP
     STR:力量,直接影響傷害,另外每1點+5HP
     DEF:防禦,降低對手的傷害
     AGI:迴避率(最多80%),及有機率產生額外傷害(最多33%,若在SK時發生,則會再稍微高一些)
     DEX:命中率,提高命中能力,以及些微提升最小/最大傷害值,
     EXP:經驗值
     升級點數:1級時有20點供選擇,每次升級有5點

其它事項
1.發呆大約5分鐘沒作任何動作的話,會被強制登出,此時做任何動作會回到登入畫面。
2.承上,由於沒有寫登出~若已登入卻把整個瀏覽器關掉再開的話,可能要等5分鐘才能再登入
3."理論上"一種瀏覽器只能登入一個帳號,而且已登入的角色不能重復在其它地方再登入
4.升級時HP會補滿,但增加HP時不會恢復HP
5.現階段理論上24HR都能進入遊戲,如果無法登入...大概是被操爆了。
6.增加線上聊天,不過仍有點問題


我自己的暱稱: 希格

2011年8月16日 星期二

令人不解的VS2008 AJAX and AJAXToolkit with TabContainer

至今為止仍停留在ASP.NET的基礎的我,
對於什麼MVC、WPF、WCF...之類的雖然多少知道一些,但總覺得沒什實感。

AJAX也是。

相信有碰過AJAX的都不陌生,不過對我很陌生,雖然我知道它在做什麼的,但是工作上沒用到,所以也不曾理會過(真不稱職)。

現在才去試著去瞭解它在VS上的開發,因此我很開心的打開VS2008,選了AJAX範本



然後你會發現它預設帶了這個東西


<asp:ScriptManager ID="ScriptManager1" runat="server" />
微軟的解釋是:控制項可管理具有 AJAX 功能的 ASP.NET 網頁所適用的用戶端指令碼。依預設,ScriptManager 控制項會透過網頁對 Microsoft AJAX Library 註冊指令碼。這可讓用戶端指令碼使用類型系統延伸模組,以及支援部分頁面呈現與 Web 服務呼叫等功能。
http://msdn.microsoft.com/zh-tw/library/cc295440(v=Expression.40).aspx
總之就是要有它才會動就對了。

接著我想做類似這種東西的功能










http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/tabs/tabs.aspx

但是VS2008內建卻沒有?









GOD!只有這5個你也敢出來混。

原來還得自己去上面的網址抓套件.......

當我抓好並增加到我的組件後,多了非常多的套件,真是非常之感動。

結果當我簡單打好了基本的標籤語法後(我習慣都用打的)


<asp:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="1">
            <asp:TabPanel runat="server" HeaderText="TabPanel1" ID="TabPanel1">
            <HeaderTemplate>123</HeaderTemplate>
            <ContentTemplate>456</ContentTemplate>
            </asp:TabPanel>
            <asp:TabPanel ID="TabPanel2" runat="server" HeaderText="TabPanel2">
                <HeaderTemplate>234</HeaderTemplate>
            <ContentTemplate>678</ContentTemplate>
            </asp:TabPanel>
        </asp:TabContainer>

依2008的運行方式來想,這種東西應該是不需要額外再去Bind它,所以我就很自然的Run下去

疑?

空白的?

WTF?

我做Ajax上傳時也不會這樣啊
https://sites.google.com/site/siggblog/sample/shangchuanjizidongfasongmail

當我右鍵下去發現資料都是存在的,但是style都是hidden,我還很天真的寫了script去指定它顯示.....結果不行。

於是我就TabContainer1.Visable=true;TabContainer1.DataBind();之類的蠢事。
結果當然也是不行。

於是我開始Google,但是完全沒有人有這種問題,而且每個人都是直接向我這樣打就能Run了,我說....是七月到了我見鬼嗎?難到就真這麼神奇?

於是我花了兩個小時在幹這鬼打牆的事,由於我個人認為這應該是件滿蠢的事,所以我也不打算問人(上網問)。

最後我終於GOO到了一個BLOG
http://www.zhangyongjun.com/BLOG/article.asp?id=6618

我原本以為這份文件對我沒什麼用處,就草草看完然後繼續找,但是我越找越覺得哪怪怪的,於是我又回頭重看一次,看到了一個重點。

如下圖

ToolkitScriptManager?
怎麼有種即視感?

想到沒?

這跟我一開始建好的PAGE裡的<asp:ScriptManager ID="ScriptManager1" runat="server" />不是很像嗎?

於是我先不管它這麼多,照著網頁上的做,我拉了一個ToolkitScriptManager出來
結果發生了

只能在此頁面加入一個 ScriptManager 的執行個體。

的錯誤。

故得知ScriptManager一個頁面應該只能擁有一個,而且ToolkitScriptManager和ScriptManager是相同的東西。

於是我試著把ScriptManager給砍了,只留ToolkitScriptManager再試行一次。






喔喔喔喔!

喔喔喔喔!!


喔喔喔喔!!!


見證奇蹟的時刻到了。





果然是件很蠢的事情啊!



簡而言之

用AjaxControlToolkit就要用ToolkitScriptManager,至於ScriptManager是沒辦法使用的。

這叫人情何以堪

學我最近去上課的老師常說的一句話

這個時後我只有一個字可以形容:氣!