⑴ 怎麼製作一個網頁游戲

一、簡單的程序框架。
webgame程序構成:
三大部分。
第一是數據流程。第二是程序。第三是美術。
其中,數據流程包括了功能。也只有在功能中才能體現數據流程。
數據流程相當的麻煩,後面再討論。
比如最簡單的賣買產品。
要實現這個功能。
那麼需要有產品基礎表、產品詳細表、商店表、背包表。如果擴展性更強,相應的雙表是少不不了的。
表的問題都簡單了。關鍵是這個物品有什麼用。這樣物品的來源,一大堆數據,物品的走向,又是一大堆數據。
最後,這些數據得繞成一個圈。
繞圈是一件困難的事情。特別是功能和道具多了起來的時候。難度是2的n次方。
美術:
UI。簡潔漂亮的界面總會有好處。
小圖標。道具,地圖,裝備。一類至少10個吧?大體上百把個是需要的。
程序分5個部分:
伺服器定時器。(C語言或自己設定伺服器)定時循環執行某一段代碼。而這段代碼主要是根據資料庫的數據進行更新。這個可以找個C語言程序員來做。對於C語言程序員來講,這個功能是相當的簡單。當然,具體的處理數據的判斷和操作資料庫,需要你自己寫。讓C語言程序員給你段標准代碼就行了。完全支持sql語句的。
功能頁面、功能函數。主要就是數據存取,判斷,數據走向。
ajax函數。(可選)某些需要偽即時的功能要用到。
javascript函數。(可選)模擬客戶端的數據計算。也就是webgame的與時間相關的數據。分為兩部分。一部分是真實數據,是由伺服器端的定時器計算的。另一部分是只有初始值,客戶端顯示用的。不需要即時同步,僅僅需要模擬同步就行。
資料庫。一大堆基礎數據表和詳細數據表。基礎數據表:比如等級1到等級100的用戶的屬性初始值。詳細數據表:每個用戶的具體屬性。

二、一個詳細的例子。
單純的討論數據流程是件痛苦的事情。
討論程序而不給代碼也是比較痛苦。
這里用的是php+mysql的。
那就按一個超簡單的webgame的方式來討論。配上適當的代碼。應該有所幫助。不足的地方也請大家指出,對我個人也是幫助。
我們不去考慮游戲的可玩性,數值平衡等等問題。我們先只考慮一個簡單例子的實現。
那麼一個webgame的基本內容需要些什麼呢?
資料庫:玩家、地圖、城市、建築、武器、士兵。
功能:登陸、升級、個人戰斗、士兵之間的戰斗、與城市的戰斗、修建建築、打造武器、買賣道具。
(注意:每一個功能,必然對應1個或多個數據表。上面資料庫中所列的只是基礎中的基礎。)
首先是地圖、城市、建築。
這里認為,地圖可以有多張,城市在地圖上,建築在城市內。
地圖表
Map :Map_ID ,X坐標, Y坐標,City_ID(城市ID),描述。
其中Map_ID是指地圖的id。不是自動編號。一張地圖就是一個Map_ID,可以重復。
城市表
City:City_ID,城市名字,城市所有人,城市等級,城市資源,描述。
建築表
Build:ID,City_ID,建築名稱,建築等級,建築功能。
其中,地圖表確定城市的位置,城市表確定城市的相關數據以及所有人,建築表內的多條信息屬於某一個城市。
建表後,顯示出來。
一個for循環。把地圖表整個取出來就ok。
跟普通網站的新聞列表沒太大區別。不同的是,你需要取得X坐標和Y坐標定位。可以用tabel也可以用div。
class Map//地圖類
{
var $Map_ID;
function Map_bg_css($Map_ID) {
$this->Map_ID = $Map_ID;

mysql_select_db($db_name,$link);
$sql=」select * from map where Map_ID=』」.$this->Map_ID.」『 limit 1″;
$result=mysql_query($sql,$link);
echo 「<style type=」.」text」.」/」.」css>」;
$rs=mysql_fetch_array($result);

echo 「#map{」;
echo 「position:absolute;」;
echo 「width:」.$rs[X坐標].」px;」;
echo 「height:」.$rs[Y坐標].」px;」;
echo 「z-index:0;」;
echo 「left:0px;top:0px;}」;

}

function Map_bg($Map_ID){
$this->Map_ID = $Map_ID;

$sql=」select * from map where Map_ID=』」.$this->Map_ID.」『」;
$result=mysql_query($sql,$link);
while($rs=mysql_fetch_array($result))
{
echo 「<div id=Layer_bg_」.$rs[X坐標].」_」.$rs[Y坐標].」>」;
echo 「<img src=」.$rs[Map_bg].」 border=0 title=」.$rs[ID].」></div>」;

}

}
}
上面是一個很簡單的地圖類。代碼可能不太正確,意思是正確的。就是根據map表中的坐標,生成了一組div層,以及這一組層的css。
你可以改為table的。你可以也把坐標放到一個欄位里,用數組的形式取。
使用的時候,用
new map;
map(N);
其中N是map表裡的地圖Map_ID.
城市內的建築也類似。如果要顯示出來的話。

有了地圖和城市後。
涉及到的問題就是城市裡資源的產生。
這時候,City表裡需要有可供判斷的時間和數量的欄位。
比如:產生資金量Money,產生資金花費的時間Action_Time,上次產生資金時間Money_time。
這兩個欄位的數值應該在City_base表裡出現。(即城市基礎表,不同等級,不同類型城市的對應數值。這是給策劃填數據用的,建好表後就等策劃去頭痛吧。如果你身兼數職。。。)
如何自動產生資源呢?
我們可以在城市所有人改變的時候,寫入一個時間。或者在城市初始化的時候寫入一個時間。
$Now_Time=date(』Y-m-d H:i:s』);
(說明:$開頭是變數的意思。php里特有的。如果是asp的話可以寫成。Now_Time=Now() )
把$Now_Time寫入到Money_time里。
update(」UPDATE City SET Money_time=』$Now_Time WHERE City_ID=』$City_ID』 LIMIT 1;」);
$City_ID是你自己定義的。指某一個城市。如:$City_ID=1;
我們假定當前城市產生資金量為100。即$Money=100;(具體的數值,應該是由City_base表裡取出的。)
假設間隔時間為$Action_Time,我們再假定是每小時執行一次。即$Action_Time=3600;(具體的數值,是根據你的初始化表裡取得的。也可以根據城市等級或者用戶等級取得。反正隨便你自己怎麼設定。)
這時候,有基礎時間了。有基礎資金產量了。有間隔時間了。
讓它循環執行起來就行了。
上面說過,服務端用C語言定時器。客戶端用javascript。
服務端,資源定時器設定為5分鍾執行一次。那麼我們的誤差就是5分鍾。對網頁游戲來說,可以接受。(戰斗的定時器得1分鍾吧。當然伺服器夠牛的話,幾秒鍾都可以。)
每次執行什麼代碼呢?
首先得新建一個定時器任務的表。目的就是讓定時器知道需要執行哪些程序和數據的更新。表內容比如:城市資源更新。當然,這個表可要可不要。建立的好處是方便處理類似保護狀態不產生資源之類的問題。
服務端程序:
獲得當前伺服器時間。
獲得當前需要更新城市。
判斷伺服器時間與$Money_time的時間差。(時間戳,具體的時間戳網上資料滿多的。)
判斷時間差是否大於$Action_Time。
大於,則更新資源。同時更新$Money_time。
小於,則無操作。
客戶端程序:
獲得當前伺服器時間。
獲得當前城市的$Money,$Money_time,$Action_Time。
使用javascript顯示剩餘時間的倒計時,以及增加的資源量。
客戶端特殊情況觸發:
因為客戶端顯示的資源情況是偽同步,所以當客戶端使用該資源的時候。需要服務端將當前的實際資源更新,屬於定時器處理的時間也需要更新。
即,當客戶端觸發涉及資源的情況時,立即更新當前資源。同時更新定時器中會用到的$Money_time。這樣才不會造成,看的資源用不到,或者定時器重復產生資源。
總體來說。這部分程序都很簡單。難點在C語言定時器的製作,以及前台javascipt倒計時的寫法上。
C語言定時器,找個C語言程序員,超簡單;前台的javascipt,網上有很多倒計時的代碼,找個來改改就能用。
<SCRIPT LANGUAGE=」JavaScript」>
var maxtime = 這里是你的時間差///一個小時,按秒計算,自己調整!
function CountDown(){
if(maxtime>=0){
minutes = Math.floor(maxtime/60);
seconds = Math.floor(maxtime%60);
msg = 「你的文字說明」+minutes+」分」+seconds+」秒」;//動態顯示剩餘時間。
document.all["timer"].innerHTML=msg;
//if(maxtime == 3) document.all["timer"].innerHTML=』只剩3秒!』;
–maxtime;
}
else{
clearInterval(timer);
document.all["timer"].innerHTML=』時間到』;
}
}
timer = setInterval(」CountDown()」,1000);
</SCRIPT>
<div id=timer></div>
這個是網上找的代碼。稍微修改就可以用的。這里只是顯示了倒計時。也可以改為顯示資源的增加情況。
C語言里操作mysql資料庫。
// TODO: Add your control notification handler code here
bool bRes = m_dbConn.Connect(」資料庫ip地址」, 3306 , 「用戶名」, 「[email=d203!@#ghj]密碼[/email]「, 「資料庫名」);
if(!bRes)
{
AfxMessageBox(」connect fail」);
return;
}
string strSql = 「select * from city limit 1″;//所有顯示或取值類的都用這段。中間的sql語句可以自己構造。
ResultSet* rs = m_dbConn.ExecuteQuery(strSql);
while(rs->Next())
{
string str = rs->GetString(」username」);
AfxMessageBox(str.c_str());
}
/*
strSql = 「update city set money=money +100 where City_ID=』xxx』」;//所有的增加、刪除、更新都用這段,中間的sql語句可以自己構造。
bRes = m_dbConn.ExecuteUpdate(strSql);
if(!bRes)
{
AfxMessageBox(」ExecuteUpdate fail」);
}
*/
m_dbConn.Close();
定時器的主函數。
void CBeiLiDlg::Go()
{
while(true)
{
// AfxMessageBox(」go」);

Sleep(5*1000);//毫秒。定時器刷新時間。
}
}
//相當的簡單..。
當然。這里的C的代碼不能直接用。只是一部分。
地圖、城市、基本上算是有了。
接下來是城市裡的建築。
上面講的資源增加,其實定位在建築上更准確。不過建築的分類和數值會復雜很多。那是策劃考慮的問題。
建築上,只講一個前台的修建效果。
當然,這個效果是可有可無。你可以直接給個類似新聞列表的顯示,再加個倒計時就行。
顯示的效果就是,點修建後。不刷新頁面,調入一張動畫圖片。並在時間到後自動轉換為其他圖片。
<script language=』javascript』>
function xiujian()
{
top.abc.document.getElementById(』前台建築位置所在圖片的id』).src=』修建後建築的圖片地址』;
//顯示修建後的建築圖片。可以加上後台時間判斷。其中abc,是建築所在層的id,
}
function xiujian1()
{
setTimeout(』xiujian()』,5000);//動畫時間5秒。這里也可以加入時間判斷。當時間不到的完成的時候,繼續調用動畫。
}
function donghua()
{
top.abc.document.getElementById(』前台建築位置所在圖片的id』).src=』建築動畫所在的地址』;//顯示修建動畫。
}
donghua();
xiujian1();
</script>
後台部分,把時間到增加資源的代碼改為時間到增加或更新建築就行了。又是增加N個表。。
建築基礎表:產出,類型,圖片等等。。
建築詳細表:屬於哪個城市,可以在城市表裡關聯。關聯的方式不同會對程序有很大的影響。各種關聯方式都行,但是一旦關聯方式確定後,最好別改動。
現在建築也有了。用類似的定時方式,打工,徵兵等等都可以實現。
戰斗,
兵的參數:兵種,數量,攻擊,防禦等等。
戰斗的臨時表:誰的兵,打誰,出發時間,戰斗時間,戰斗結果。
這里的幾個字到是簡單。實際的表會復雜一些。
webgame中,戰斗的過程分兩種,
一種是給出雙方參數,時間到,就根據公式計算結果。
一種是半即時或者即時的戰斗,可以邊打邊喝葯邊用技能的那種。
第一種流程。
點出兵。這時候,兵的參數,出發時間,到達時間,都記錄進戰斗臨時表。
定時器中,處理戰斗的部分,判斷時間是否到開打的時候。到開打的時間了,則取得被攻擊方的兵的參數。然後通過幾個公式計算結果。處理結果,比如誰的兵掛了多少,戰場掉落了多少錢,城市被誰搶到了。一大堆判斷以及updata。(這里的定時器處理和獲得資源的定時器處理是很類似的。)
最後把結果分別發給雙方。(又涉及到一個簡訊息系統。)
第二種流程。
點攻擊。馬上就處理數據。打打npc好做。玩家之間對戰,也可以把被攻擊的玩家當成npc來處理。
兩個人或兩人以上即時戰斗。需要用到ajax了。目前在技術上和理論上是沒問題的,還沒實際寫代碼,所以不好講。
很簡單的公式,兩種戰斗都可以用到:
intval(sqrt($User_B_AP)-sqrt($User_A_DP));
根號下攻擊-根號下防禦=傷害。

⑵ 網頁i游戲什麼好呢,誰推薦個

大小世界,動作橫版解謎類游戲,游戲中,隨著玩家的逐漸成長,會參與到拯救世界的整體事件中,體會到改變世界的成就感,豐富的關卡,趣味的任務故事,各種解密,收集, NPC,等等,都會陪伴著玩家成長。以上的這些內容也會隨著關卡特色的改變而改變。大量的裝備及道具,讓玩家可以自由更換,從而打造出屬於自己性格的游戲角色。不僅如此,《大小世界》里還為玩家准備了強大的合成系統,各式各樣的裝備圖樣,按照圖樣,玩家在關卡中收集材料,打造出獨特的裝備,於此同時玩家還有機會打造出第一無二的裝備

⑶ 經典網頁游戲代表

2010必玩網頁游戲排行榜

1.摩爾庄園(綜合評分:★★★★★★★★☆☆)

摩爾庄園是一個快樂美妙的網上虛擬樂園,健康、快樂、創造、分享是這個樂園的主題。在摩爾庄園,每個小夥伴都化身一隻可愛的小鼴鼠摩爾,穿上自己挑選的漂亮裝扮,帶上自己喜歡的玩耍道具,跟其它的小摩爾一起玩游戲、打水仗、捉迷藏,可以一起來到雪山上,進行一場刺激的摩爾滑雪比賽,還可以在農場里整理蔬菜,在牧場里養小動物。

2.絲路英雄(綜合評分:★★★★★★★★☆☆)

《絲路英雄》以漢朝英雄探尋絲綢之路,抵禦異族為背景,描繪了圍繞著絲路周邊剛健寬厚的東方民族,浪漫主義的西方民族以及神出鬼沒的神秘中東勢力所發生的風雲戰史。通過冒險副本的展開,無雙英雄的加入,博弈式的戰斗方式,讓絲路的戰爭更加的多樣刺激。你可以選擇單人修煉,多人組隊殺怪,還可以成立聯盟,一呼百應的成為萬王之王。

3.大富豪(綜合評分:★★★★★★★★☆☆)

《大富豪》是一款最接近現實的模擬經營網頁游戲,十分受創業者的喜愛,尤其是對喜歡賺錢賺錢的朋友來講,是一種誘惑。游戲無需任何下載,無電腦配置要求,只需一個普通瀏覽器,就可以進入一個屬於經商的世界,作為董事長,你需要有足夠的智慧在這個夢想之都發展,讓你的商業傳奇傳遍夢想之城。
《大富豪》是一款號稱終結金融危機的商業經營webgame。這類經商游戲,因此在金融危機下深受玩家追捧。

4.天書奇談(綜合評分:★★★★★★★★☆☆)

「天下之事合久必分,原本這天書界內為朝雲一國所統制。」300年前,長生門的掌門江靈子偶遇一本無字天書。參悟數年後,得道飛升,留下了自己得道的心得《歸元密錄》,一時間修仙之風盛行。江靈子得道飛升之後,無字天書降落人間。300年後,武林風雲再起,一場決戰拉開序幕……
為了追尋無字天書的下落,《天書奇談》玩家將扮演一個修仙奇才去拯救亂世,演繹一段充滿神話幻想的傳奇故事。

5.仙域(綜合評分:★★★★★★★☆☆☆)

《仙域》是一款費時三年耗資千萬打造的東方仙俠背景的MMORPG網頁游戲,它是網頁游戲第一款2.5D作品,具有里程碑意義。它突破性的推出了多人共乘的坐騎系統,並將帶有濃郁文化的奇經八脈引入到了角色和角色的寵物中。游戲中通過超過100萬字的任務為主線,將玩家緊緊凝聚在一起。

6.彈彈堂(綜合評分:★★★★★★☆☆☆☆)

《彈彈堂》被譽為人型瘋狂坦克+冒險島結合的最佳Q版游戲,可愛的游戲畫面,童話般的場景,百變時尚的換裝,讓5i游戲網的《彈彈堂》成為玩家的最愛。而游戲中戰斗的華麗特效、技巧的較量、趣味的輔助道具系統,也讓這款游戲備受男性玩家青睞。

7.熱血三國 (綜合評分:★★★★★★☆☆☆)

《熱血三國》是一款三國背景的網路即時戰略游戲。它採用全新的flash網頁技術,在IE瀏覽器上輸入游戲網址,即可進行游戲。《熱血三國》擁有遠超同類游戲的精美畫面、龐大復雜的戰略系統和無與倫比的游戲可玩性,是戰略類游戲的巔峰之作。《熱血三國》的玩家將在游戲中扮演一名亂世中崛起的將領,逐步建設城池,發展建築,提升科技,招募軍隊,並開拓新的城池。烽火戰國

8.(綜合評分:★★★★★☆☆☆☆)

《烽火戰國》是騰訊公司全力打造的一款策略類網頁游戲,也是騰訊首款自主研發的網頁游戲;這款游戲以戰國爭霸為背景,故事內容大氣磅礴,各種任務扣人心弦,游戲畫面寫實精緻,游戲進入快捷、操作簡單;在游戲體驗上強調並注重玩家之間的合作、成長及相互對抗,引導玩家團隊間的大型PK及玩家與國家間的對抗,讓玩家身臨其境地感受運籌帷幄、爭霸天下,改寫歷史的豪情和爽快。

9.英雄之城 (綜合評分:★★★★★☆☆☆☆)

《英雄之城》是一款集戰爭策略、角色扮演、模擬經營三種流行要素為一體的網頁游戲。游戲以戰爭策略為主,並採用了在單機游戲中較流行的英雄無敵題材。以人、精靈、亡靈、野蠻人四大種族之間的矛盾建立世界觀和游戲背景,使玩家在游戲過程中也能夠感受到重溫英雄無敵帶來的快樂。

10.武林英雄 (綜合評分:★★★★★☆☆☆☆)

《武林英雄》是一款角色扮演類網頁游戲,游戲正在公測,打開網頁就能玩。《武林英雄》故事發生在六國合縱抗擊強秦的時期,為了探詢古代秘術而利用時光機穿越回春秋戰國時期的各位精英們,以流浪者的身份秘密加入六國,拿起武器,協助六國抵禦強秦的侵略。為了成功達到目的,各位英雄們必須學會古代武學,來完成這造福千古的偉業!

11.商業大亨(綜合評分:★★★★★★★☆☆☆)

《商業大亨ONLINE》是一款商業類模擬經營網頁游戲。玩家將扮演一位創業者,從零開始,在「自由城」中拼搏。通過努力,不斷的擴大自己的事業版圖與社會地位,直至成為聲名顯赫的社會名流,最終建立一個強大的商業帝國。在這里,可以實現您的夢想,成就超凡偉業,構建出自己心中的商業王國!從建立公司那一刻開始,迎接您的將是不斷的挑戰和思考。

12.武林傳奇2(綜合評分:★★★★★★★☆☆☆)

《武林傳奇2》是「武林傳奇」系列的續作,前作曾被業界評定為最成熟的RPG網頁游戲。作為51wan兩周年的獻禮力作,以全新的游戲畫面、史詩級的劇情背景、可自由養成的神器系統、萬能的個人家園等四大特色為大家呈現了一款更中國、更武俠的網頁游戲。

13.明朝時代(綜合評分:★★★★★★★☆☆☆)

《明朝時代》是09年最潮流的Webgame史詩巨作,是角色扮演、策略、冒險等多種游戲模式的完美結合。整個游戲以大明王朝為背景,復古的人物造型、地大物博的中國地圖,加上豐富的游戲系統和新穎的游戲設定,打開網頁,就能開始明朝之旅。

14.三國風雲 (綜合評分:★★★★★★☆☆☆☆)

《三國風雲》是一款無需安裝客戶端就可以直接在瀏覽器上玩的MMOSLG(多人在線模擬策略)游戲。游戲結合了模擬經營和戰爭策略,玩家需要通過對資源的原始積累來發展城市建設,通過招募武將和軍隊來提升軍事實力,通過合縱連橫來謀取成熟的外交關系,最後擴張自己的實力而雄霸一方或完成統一大業。

15.魔力學堂 (綜合評分:★★★★★★☆☆☆☆)

《魔力學堂》是一款以架空大陸幻想校園劇本為背景題材的大型角色扮演類回合制Q版網頁游戲。該游戲由杭州泛城科技專業游戲製作團隊精心製作,將現有最優秀的網頁游戲技術與夢幻式的校園文化相結合,被稱為「WebGame版哈里波特」。

⑷ 哪一款網頁游戲比較好玩

差不了多少的.少毒點吧:http://game.21cn.com

⑸ 求游戲王網頁游戲!!!

雖然不是網頁游戲,但是我比較推薦這個(可以聯機的):

游戲王ygocore:4645張卡,目前持續更新中,主流卡組、常用的卡、新卡基本都有(比如甲蟲、聖刻、英豪、先史遺產、魔式甜點、魔導書、齒輪齒輪等系列),全自動操作。 可以利用FH伺服器、mycard、信景等方式很方便得和其他玩家聯機對戰。

⑹ 建設城池的網頁游戲

我玩的大俠傳,裡面的美女很多啊,,還有女僕系統的···呵呵

⑺ 網頁游戲什麼最好玩

朋友你好!
在我玩過的網頁游戲里《三國》是最好玩的:畫質很精美,,是像戰爭策略類的那種,玩起來輕松容易,還有,也不用下載挺方便的,……(當然,優點還有很多,比經營類的好玩多了,它一定會讓你喜歡上的!)強烈推薦!
參考資料:http://u.9wee.com/uport/u60116959_107_0_0
滿意就點贊啊!
謝謝!

⑻ 游戲王有沒有網頁游戲

有,游戲王OW,但是需要花錢,而且卡不全,沒有超量怪獸,不建議使用

請你選擇以下幾種方式玩游戲王
1、iDuel、NBX:全卡(5400多張),但是每一個效果都需要手動操作。
2、ygocore:4671張卡,【最新版還支持2VS2模式】,目前持續更新中,主流卡組、常用的卡、新卡基本都有(比如甲蟲、聖刻、英豪、先史遺產、魔式甜點、魔導書、齒輪齒輪等系列),全自動操作。 可以利用FH伺服器、mycard、信景等方式很方便地和其他玩家聯機對戰。
3、用NDS模擬器玩WCS2011卡片漢化版
4、用PSP模擬器玩TF6卡片漢化版

只有第三種和第四種是有電腦AI的,其他兩種只能在網上找人對戰
【建議使用ygocore,去網路的「游戲王ygocore」貼吧能下載 】