H5遊戲開發:惡魔抽卡 (新)
文章目錄
今天我教大家如何開發一個簡易的抽卡遊戲
[後期正在持續更改準備改天上傳原始碼]
開發環境需求
(1)所使用的的編輯器: vscode
(2)語言 : html + css + js
它的名字叫做:
惡魔抽卡
請原諒我是放蕩不羈的惡魔,命運在於自己手中,一開始只是概率的問題
遊戲規則
惡魔值的作用,惡魔值是你活在這個遊戲世界裡面的生命值,如果惡魔值耗盡,背景馬上變得刺眼,只能gameover
(1)點選按鈕後,開始從一組卡組中抽去卡牌,卡組中的卡牌是隨機分佈的,每次點選按鈕後出一張卡牌並翻開正面向玩家展示,如果是厄運卡牌,玩家被淘汰;
(2)如果是好運卡牌,玩家繼續抽卡,抽卡只有抽到機會卡才能擁有免遭一次淘汰的機會。
如果成功抽完卡組中的卡牌,恭喜你,遊戲勝利,你是絕對歐皇,
否則,自己檢視最下面的惡魔值,少則反省,多則歡喜。ok ?
前端三步驟
第一步:html+css;
第二步:js;
第三步: 找bugs T^T;
開始行動 >>>
第一步:html+css
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- 引入自定義css檔案 -->
<link rel="stylesheet" href="cardsGame.css">
<title>惡魔抽卡</title>
</head>
<body>
<div class="container">
<div id="cardShow">卡牌展示區域</div>
<div id="startButton">開始抽卡</div>
<div id="countArea">
<ul>
<li>已抽卡次數:0</li>
<li>機會卡:0</li>
<li>惡魔值:0</li>
</ul>
</div>
</div>
<script src="cardsGame.js"></script>
</body>
</html>
先寫html程式碼再定義樣式,效果如下,目前只有字:
第二步,現在開始寫css程式碼,定義元素樣式:
body {
background-color: black;
padding: 0;
margin: 0;
}
.container {
width: 400px;
height: 576px;
border: 1px solid white;
border-radius: 6px;
margin: auto;
margin-top: 50px;
}
/* 卡牌展示區域 */
#cardShow {
display: block;
width: 320px;
height: 400px;
margin: auto;
margin-top: 20px;
border-radius: 10px;
background-size: 100%;
background-repeat: no-repeat;
background-image: url('./img/evil0.jpg');
animation: pictureChange ease 10s infinite;
}
@keyframes pictureChange{
0%{
transform: rotateY(0deg);
}
50%{
transform: rotateY(180deg);
}
100%{
transform: rotateY(0deg);
}
}
/* 定義開始按鈕樣式 */
#startButton {
display: block;
float: left;
width: 96px;
height: 30px;
margin-top: 20px;
margin-left: 37%;
border-radius: 9px;
background-color: rgb(165, 165, 165);
color: black;
font-size: 15px;
line-height: 30px;
text-align: center;
cursor: pointer;
user-select: none;
}
/* 定義滑鼠移動到開始按鈕上時按鈕的樣式 */
#startButton:hover {
background-color: rgb(59, 59, 59);
color: rgb(255, 255, 255);
}
/* 統計區域 */
#countArea {
display: block;
float: left;
width: 230px;
height: 70px;
margin-left: 86px;
margin-top: 26px;
border: 1px solid rgb(255, 255, 255);
border-radius: 12px;
background-color: rgb(102, 102, 102);
color: aliceblue;
}
#countArea ul {
margin-left: -40px;
text-align: center;
list-style: none;
}
#countArea ul li{
margin-top: -6px;
line-height: 24px;
font-size: 16px;
}
現在好看多了,效果如下:
第三步,現在開始寫js程式碼,通過點選按鈕改變卡牌和抽卡記錄的資料:
var starButton = document.getElementById('startButton');
var cardShow = document.getElementById('cardShow');
var Li = document.getElementById('countArea').getElementsByTagName('li');
var countAready = 0;//定義抽卡次數
var countChange = 0;//定義機會卡
var evilIndex = 0;//定義惡魔值
var meeting = true;//定義一個閥值,遇到淘汰卡為假,沒遇到為真,為後面裁決玩家是否被淘汰的判斷程式碼提供資訊
starButton.onclick = function () {
// 隨機數決定抽卡的卡號和惡魔值,惡魔值=卡號=i
i = Math.floor(Math.random() * 10);
cardShow.style.backgroundImage = 'url(./img/evil' + i + '.jpg)';
countAready++;//每點選一次就記錄一次抽卡次數
// 更據隨機數i和是否遇見淘汰卡meeting來決定玩家資料
if (i == 1) {
meeting = false;
}
else if (i == 5 && meeting != false) {
countChange++;
evilIndex += i;
alert('恭喜獲得機會卡牌');
} else if (countChange > 0 && meeting == false) {
countChange--;
evilIndex -= i;
meeting = true;
alert('遺憾的是,這是張淘汰卡;幸運的是因為機會卡的庇佑,你只是失去的惡魔值為' + evilIndex + ',而不會被淘汰');
} else if (countChange <= 0 && meeting == false) {
meeting = true;
alert('很抱歉,你是個悲哀的惡魔,不幸抽中淘汰卡,孤獨的你將面對關閉的地獄大門!最後你獲得的惡魔值為' + evilIndex);
for (var z = 0; z < Li.length; z++) {
Li[z].style.visibility = 'hidden';
starButton.style.visibility = 'hidden';
cardShow.style.backgroundImage = 'url(./img/gameover.jpg)';
document.body.style.backgroundColor = 'red';
}
} else {
evilIndex += i;
}
//改變玩家資料
Li[0].innerHTML = '已抽卡次數:' + countAready;
Li[1].innerHTML = '機會卡:' + countChange;
Li[2].innerHTML = '惡魔值:' + evilIndex;
}
遊戲點選後效果:
第四步,接下來寫最後一步,也就是解決bugs
這個地方就不寫了,bug需要玩了才能發現,注意,是bugs(複數哦!),後續大家參考更改吧!這是一個簡單的抽卡運氣類小遊戲demo
相關文章
- H5活動抽獎H5
- 扭蛋抽卡遊戲開發反思:不要挑戰玩家的習慣遊戲開發
- 抽卡體驗設計:關於盲盒、抽卡、開箱的一切
- 銀河惡魔城入門指南
- 類銀河惡魔城——角色操作
- 如何設計“銀河惡魔城”遊戲遊戲
- NODSX2304B. 抽卡
- 化惡魔為天使,巧移ViewState至SqlServerViewSQLServer
- 聊聊抽卡這件事——從系統與使用者行為資料全面分析抽卡設計
- H5遊戲開發:套圈圈H5遊戲開發
- 無限制的抽卡遊戲,只有抽到了才會又快樂又道德遊戲
- eBPF 雙子座:天使 or 惡魔?| 龍蜥技術eBPF
- 如果NBA與抽卡遊戲合二為一遊戲
- H5遊戲開發:消滅星星H5遊戲開發
- H5遊戲開發:貪吃蛇H5遊戲開發
- H5 遊戲開發:推金幣H5遊戲開發
- H5遊戲開發:一筆畫H5遊戲開發
- 魂系列、惡魔城和開放世界——關卡結構理論和非線性流程設計方法淺析
- 好用的抽認卡製作工具:Studies mac版Mac
- 40. 製作勝利和抽卡皮膚
- 41. 抽卡皮膚的實際邏輯
- H5 六邊形消除遊戲開發H5遊戲開發
- H5 遊戲開發:橫屏適配H5遊戲開發
- H5 遊戲開發:指尖大冒險H5遊戲開發
- 惡魔化身:新型勒索BlackMatter Windows和Linux通吃WindowsLinux
- 惡搞微軟新LOGO微軟Go
- 【年終福利】《騰訊遊戲開發精粹》系列抽獎,100%中獎!遊戲開發
- H5遊戲開發的一乘輕騎---PhaserH5遊戲開發
- H5 遊戲開發:遊戲引擎入門推薦H5遊戲開發遊戲引擎
- 卡牌地牢冒險遊戲《魔卡地下城》正式發售!現已登陸Steam遊戲
- 類銀河惡魔城和類魂的區別是什麼?
- 銀河惡魔城設計——鏡頭設計和美術設計
- H5遊戲、H5遊戲開發公司、H5原始碼 活動遊戲 公司宣傳 大公 司活動營銷H5遊戲開發原始碼
- H5 遊戲開發:決勝三分球H5遊戲開發
- 以貌取人的氪金抽卡遊戲——你離歐洲到底有多遠?遊戲
- 《赤痕:夜之儀式》:當《惡魔城》在眾籌平臺上重生
- 《暗影火炬城》:做一款現代化的銀河惡魔城遊戲遊戲
- 《LUCID》:一款“類蔚藍銀河惡魔城”遊戲的開發故事遊戲