Ank*_*vda 3 html javascript css jquery
我正在创建一个简单的游戏,有 9 个分区,每个 8 个分区中都隐藏着一只企鹅,第 9 个分区中有一个怪物。现在我的游戏运行良好,但我想做的是每次加载页面时,分区的排列都应该改变,以便为游戏添加随机性。
这是我的代码:
$(document).ready(function() {
//This code will run after your page loads
$('body').on('mousedown', '.yeti', function(event) {
alert("Yaaaarrrr!");
});
});Run Code Online (Sandbox Code Playgroud)
<div class="gameholder">
<div class="title"></div>
<div class="penguin1"></div>
<div class="penguin2"></div>
<div class="penguin3"></div>
<div class="penguin4"></div>
<div class="penguin5"></div>
<div class="penguin6"></div>
<div class="penguin7"></div>
<div class="penguin8"></div>
<div class="yeti"></div>
</div>Run Code Online (Sandbox Code Playgroud)
添加图像和一些定位后,div这就是它的样子

控制好你的动物
考虑为所有游戏元素创建一个容器,因为您只想随机化它们的顺序,因为您不想让标题与所有这些元素混合在一起:
<div class='game-container'>
<div class="penguin1"></div>
<div class="penguin2"></div>
<div class="penguin3"></div>
<div class="penguin4"></div>
<div class="penguin5"></div>
<div class="penguin6"></div>
<div class="penguin7"></div>
<div class="penguin8"></div>
<div class="yeti">
</div>
Run Code Online (Sandbox Code Playgroud)
将它们洗牌
这应该使它们更容易通过一个简单的 jQuery 扩展函数进行随机化,就像这个相关线程中提到的这个函数一样:
$.fn.randomize = function(selector){
(selector ? this.find(selector) : this).parent().each(function(){
$(this).children(selector).sort(function(){
return Math.random() - 0.5;
}).detach().appendTo(this);
});
return this;
};
Run Code Online (Sandbox Code Playgroud)
您可以在页面加载后简单地调用以下命令来组合这两种方法:
$(document).ready(function(){
// Define your randomize function here
// Randomize all of the elements in your container
$('.game-container').randomize('div');
});
Run Code Online (Sandbox Code Playgroud)
例子
<div class='game-container'>
<div class="penguin1"></div>
<div class="penguin2"></div>
<div class="penguin3"></div>
<div class="penguin4"></div>
<div class="penguin5"></div>
<div class="penguin6"></div>
<div class="penguin7"></div>
<div class="penguin8"></div>
<div class="yeti">
</div>
Run Code Online (Sandbox Code Playgroud)
$.fn.randomize = function(selector){
(selector ? this.find(selector) : this).parent().each(function(){
$(this).children(selector).sort(function(){
return Math.random() - 0.5;
}).detach().appendTo(this);
});
return this;
};
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function(){
// Define your randomize function here
// Randomize all of the elements in your container
$('.game-container').randomize('div');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3164 次 |
| 最近记录: |