美文网首页
记录10 寻找埋藏的宝藏

记录10 寻找埋藏的宝藏

作者: suhuanzhen | 来源:发表于2017-01-08 12:21 被阅读0次

1,我们需要在藏宝地图图像中为藏宝选取一个随机的位置。地图的大小是 600 像素 ×400 像素的大小,左上角的像素的坐标将是{ x: 0,y: 0 },而右下角的像素将会是{ x: 599, y: 399 }。为了在藏宝图中设置一个随机的坐标点,我们为 x 值和 y 值分别选取随机数,我们编写了一个函数getRandomNumber来生成所需随机数。
2,宝藏的位置我们用一个对象target存储,该对象有两个属性,分别是x坐标和y坐标。
3,我们点击地图(也就是id为map的元素)时,需要记录单击的次数,计算每次距离宝藏有多远并显示出来。计算距离就是x轴距离平方+y轴距离平方的和,对和开方。getDistance 函数接受两个对象作为参数,即 event 和 target。event 对象是传递给单击事件处理程序的对象,并且它带有关于玩家单击的很多内建信息。target则是宝藏的位置。
根据点击事件,我们给出提示getDistanceHint函数。

<!DOCTYPE html>
<html>
<head>
    <title>Learn</title>
    <script type="text/javascript" src="jquery-3.1.1.min.js"></script>
</head>
<body>
    <h1 id="heading">Find the buried treasure!</h1>
    ![](map.jpg)
    <p id="distance">info:</p>
    <script type="text/javascript">
        var width = 600;
        var height = 400;
        var clicks = 0;
        var getRandomNumber = function(size){
            return Math.floor(Math.random() * size);
        };
        var getDistance = function(event,target) {
            var diffX = event.offsetX - target.x;
            var diffY = event.offsetY - target.y;
            return Math.sqrt( (diffX*diffX)  +  (diffY*diffY) );
        };
        var getDistanceHint = function(distance){
            if (distance <20){
                return "less than 20";
            } else if (distance < 40){
                return "less than 40";
            } else if (distance < 80){
                return "less than 80";
            } else if (distance < 160){
                return "less than 160";
            } else {
                return "far away the goal";
            }
        };
        var target = {
            x: getRandomNumber(width),
            y: getRandomNumber(height)
        };
        $("#map").click(function(event){
            clicks++;
            var distance= getDistance(event,target);
            var distanceHint=getDistanceHint(distance);
            $("#distance").text(distanceHint);
            if(distance < 15){
                alert("you find the goal with"+clicks+"clicks!");
            }
        });
    </script>
</body>
</html>

效果图如下:


image.png

注意,我们把else if写成else id整个<script>标签内的内容都得不到执行,而页面显示是script标签前面的内容所以得到显示。

相关文章

  • 记录10 寻找埋藏的宝藏

    1,我们需要在藏宝地图图像中为藏宝选取一个随机的位置。地图的大小是 600 像素 ×400 像素的大小,左上角的像...

  • 寻找埋藏在古宅处的神秘宝藏

    我找到了宝藏! 事情开始于一件很悲伤的事,我九十多岁的奶奶因为久病缠身,虽然我们所有人都尽力的照顾并住院治疗,但还...

  • 鉴宝,到底是珍宝还是假宝?

    泱泱中华,上下五千年。中华文明历史悠久源长,埋藏着许多的宝藏。而这些宝藏现在已经散落在各地,有些在博物馆,有些埋藏...

  • Xcode搜索黑魔法 Xcode Search: 被埋藏的宝藏(

    原文链接Xcode Search: the Hidden Gems Xcode Search: 被埋藏的宝藏 作为...

  • 寻找宝藏

    今天我和同学看捡到一张藏宝图,图上画着金币,玩偶,珠宝……不过要得到这些,必须要按照参保图上的路走才行。 我们去找...

  • 寻找宝藏

    阳春三月,万物复苏,暖暖春日,开启2021年第一次的感官班之旅! 孩子们行走途中,欣赏着沿途的风景,感受芳香馥郁,...

  • 寻找宝藏

    传说在森林之外,藏着最奇特的宝藏。 对于竹流村的村民来说,这话题并不新鲜。 有人说,森林里险象丛生,有危险的动物,...

  • 失败计划

    你把灵魂埋藏 等待我的死亡 我在去终点的路上 你在寻找埋藏的地方

  • 2018.12.21

    无人熟络的边角,拿来典藏生活,像埋藏多年以后的宝藏,想要熠熠生辉却不愿示人。

  • 寻找生活的宝藏

    昨天晚上,儿子带了邻居的小同学回来一起在家里做作业,两个人一边说说笑笑一边做作业。 我心想,这也许...

网友评论

      本文标题:记录10 寻找埋藏的宝藏

      本文链接:https://www.haomeiwen.com/subject/dkyqbttx.html