js簡單小游戲
1. 能否有js寫一個簡單的格鬥游戲
只會一點jQuery只能寫一點小游戲,稍微復雜的游戲遠遠不能滿足
2. js編寫的小游戲有哪些
有是有,但並不是很多,而且都是貪吃蛇之類的,非常小的游戲,即便是頁游也一樣。
能運行在瀏覽器端的語言,確實只有JS,但在開發階段,卻並不一定要使用JS寫。而是用其他語言寫,直接使用JS寫游戲,實在太自虐了。
JS本身的缺點非常嚴重,如果只是寫DOM的話,其實並沒什麼感覺,因為代碼量太少。
但如果寫類似游戲這種復雜邏輯,代碼量一變大,瞬間就令人崩潰了。弱類型,回調地獄問題,即便將來版本更新到ES10,也不可能完全解決。
如果你看過一個游戲項目的JS源碼,你會發現一個非常恐怖的現象。在代碼的最底部,有幾百個,甚至幾千個大括弧。。。。所有大型程序的JS源碼,拉到最底部,大概都是長這個樣子的:
} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }.Listen(127.0.0.1) } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }
大括弧的數量還必須絕對精準,少一個,或者多一個,都無法正常運行。。。這就是平時所說的回調地獄。由於JS項目總是函數裡面套函數,層層相套,這叫做回調函數。層數一多,就算你是N年的老手,也照樣懵比。。。。
所有的游戲項目,都比網頁特效的代碼量要多的多。。。比如寫一個鬥地主,就需要4,5萬行的JS代碼。。。。。最底部的大括弧數量,輕松上千。。。。
弱類型的缺陷更嚴重,但由於解釋起來篇幅會很長,所以這里就不提了。
所以為了避開JS本身太多的語法缺陷,一般游戲項目,都是使用其他語言編寫,最後再通過一些手段,編譯成JS。。。就如同你用一般編程語言編寫,最終運行的時候,只有1和0的道理一樣。。。在製作頁游的時候,一般都是用強類型語言編寫,最後開發完成之後,把那些強類型語言編寫的代碼,通過一些手段「轉換」成JS代碼。
「轉換」成JS代碼的方法有很多,其中在游戲行業比較主流的,一共有三種:
1,ActionScript語言,簡稱AS語言。也就是當年FLASH使用的那個語言。。。當年也曾輝煌過,後來隨著FLASH的沒落而逐漸沒落。。。但有很多H5游戲引擎,也同樣使用AS語言。比如LayaAir引擎等。
2,TypeScript語言,簡稱TS語言。由微軟出品,微軟和谷歌共同維護的一門完全符合ECMA標準的語言,可以視作JS的超集。超集這個概念怎麼理解呢?就是「所有的JS語言,同時也是TS語言,而TS比今天的JS,更像未來的JS」。就比如目前的JS版本只出到了ES6或ES7。那麼ES10是啥樣?現在並沒人見過,連ECMA組織也不知道。。。但有一點可以確定的是,它和TypeScript長的很像。而TS是包含JS的。換言之,JS本身也可以視作是TS的一部分。只是TS里的內容要遠比JS多的多。這語言主要有兩種用法,一是像AS語言一樣結合游戲引擎,比如cocos creator,白鷺等引擎都支持。還有一種用法就是。。。結合Three.JS之類的庫,完全按照JS本身的用法去使用。
3,C#語言。雖然JS得名字裡面帶個Java。但和它長的最像的語言,卻並不是JAVA,而是C#。簡單說就是:「JS的名字和JAVA有多像,語法就和C#有多像」。所以C#也比較容易轉換成JS。但這並不是重點,重點是有一個超級牛的游戲引擎,是使用C#作為開發語言的。就是大名鼎鼎的Unity3D。Unity3D可以直接把C#編寫的游戲項目,虛擬現實項目等,編譯發布到WebGL。
3. 如何用javascript寫一個網頁簡單的格鬥游戲
<pre t="code" l="js"><script type="text/javascript">
function demo()
{
this.test1 = function(){
alert('test1');
};
this.test2 = function(){
alert('test2');
}
}
var aa = new demo();
aa.test1();
aa.test2();
</script>結果會依次彈出test1test2
4. js簡單回合制小游戲
varboss=[
{name:"校長",energy:10000},
{name:"教務主任",energy:8000},
{name:"系主任",energy:6000},
{name:"輔導員",energy:5000},
{name:"任課老師",energy:12000}
];
varhero=[
{name:"小張",energy:7000},
{name:"小王",energy:7000},
{name:"小強",energy:7000}
];
varn=prompt("選擇一個英雄(0:小張,1:小王,2:小強)","");
varh=hero[n];
varb=boss[Math.floor(Math.random()*boss.length)];
vari=1;
while(true){
varhit=Math.floor(Math.random()*800);
varbit=Math.floor(Math.random()*1000);
h.energy-=bit;
b.energy-=hit;
if(b.energy>0&&h.energy<=0){
alert("winnerisboss");
break;
}elseif(h.energy>0&&b.energy<=0){
alert("winnerishero");
break;
}elseif(h.energy<=0&&b.energy<=0){
alert("DRAWGAME");
break;
}
alert("第"+i+++"次回合,英雄:"+h.name+"的能量剩餘:"+h.energy+",怪獸"+b.name+"的能量剩餘:"+b.energy);
}
5. 如何用純js代碼面向對象寫個簡單的21點游戲
1,html寫好界面,定義好class和id
2,為了模擬出撲克牌21點游戲,應先定義卡牌池中有1-10,J,Q,K每個數字和字母分別有4個
3,js中實現界面交互,如點擊開始按鈕,隨機從卡牌池中抽取一個數字或字母存入臨時變數a,並附於點數之和num其相應的點數
4,點擊抽牌按鈕隨機從卡牌池剩餘的卡牌中抽取,對應的卡牌存入變數a中,點數之和num=num+本次抽卡的點數
5,當num>21時提示玩家爆點,小於21點時可選按鈕抽牌,等於21點時提示恭喜之類的話,如果點擊完成抽牌則記錄此玩家點數
6,同理可擴充玩家至2,3,4....個,原理相同,不同玩家存儲對應的變數就可以了,最終通過所有<=21點的玩家num,num1,num2來判斷輸贏
7,同理可設置莊家,莊家在與其他玩家點數相同時贏得對方
8,在此基礎上就能增添許多功能了,比如每個玩家默認100金幣,有底注,每輪開始的時候可加註,如玩家不跟則底注輸掉無法參加游戲,等等之類的各種規則隨便發揮
6. 用js做打地鼠游戲怎麼讓地鼠動起來
首先准備好所需要的素材,簡單的如錘子,地鼠,地洞。然後開始製作做所需要的動畫個程序。動畫方面,主要是製作一個地鼠從地洞鑽出和鑽入的動畫影片剪輯,第一幀的狀態為停止。然後再場景中復制9個,擺放到指定位置(一般的地鼠游戲為9個洞穴)。程序的原理,簡單點是,錘子跟隨滑鼠的程序。計時程序,隨機出現地鼠程序,加分程序。重點是加分程序。在地鼠動畫的影片剪輯里,放置一個按鈕,出現在地鼠鑽出時。地鼠鑽出時如果被點擊到,加分即可。
7. JS經典小游戲
Javascript坦克大戰游戲、Javascript網頁破壞游戲。
8. 我想用 javascript 加上MYSQL寫網頁小游戲行的通嗎
理論上可以,但是估計你不可以,這個是要大神級的人物才能用js寫個簡單的小游戲。
仙劍那種的不可能用js寫出來,也沒有意義。
游戲開發的底層一般用c,c++,因為效率高。
然後變現的效果是用一些微軟的庫,或者其他的函數庫,然後再和模型聯繫上。
9. JavaScript利用Math隨機數,實現一個猜拳小游戲,
請輸入你的出拳數字<input/><br/>
<button>比賽</button>
<div></div>
<script>
window.onload=function(){
document.querySelector("button").onclick=function(){
varm=document.querySelector("div");
varx1=Number(document.querySelector("input").value);
if(x1<1||x1>3){
m.innerHTML="你輸入的數字有誤,只能是1、2、3";
}else{
varx2=Math.floor(Math.random()*3)+1;
m.innerHTML="結果:";
if(x1==x2){
m.innerHTML+="打平了";
}elseif((x2-x1)==1||(x1-x2)==2){
m.innerHTML+="你贏了";
}else{
m.innerHTML+="你輸了";
}
m.innerHTML+="<br/>你出拳:"+x1+"<br/>電腦出拳:"+x2;
}
}
}
</script>