百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

朵拉钓鱼

toyiye 2024-06-21 12:06 10 浏览 0 评论

欢迎来到程序小院

朵拉钓鱼

玩法:鼠标对准鱼的位置点击左键进行钓鱼,钓到不同鱼有不同分数奖励,钓到鞋子-2,钓到鲨鱼游戏结束,统计分数,快去钓鱼吧^^。

开始游戏

html

<canvas id="gameCanvas" width="480" height="800"></canvas>

css

#main
{
    width:320px;
    margin:0 auto;
    background-color:#FFF;
}
.popup-base {
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    right:0;
    visibility:hidden;
    z-index:1000000;
    opacity:1;
    -moz-transition:all .3s;
    -webkit-transition:opacity .3s;
    -o-transition:all .3s;
    transition:all .3s;
    background:rgba(0,0,0,.3);
}

.popup-base.popup-visible {
    opacity:1;
    visibility:visible;
}

#popup-bg {
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    right:0;
}

.popup-base .dialog {
    position:absolute;
}

.dialog-prompt {
    margin-top:10px;
    text-align:center;
}

.dialog-buttons {
    padding:10px;
    text-align:right;
    background:-webkit-gradient(linear , 0% 0% , 0% 100%, from(#E6E6E6), to(#F7F6F6));
    border-bottom-left-radius:4px;
    border-bottom-right-radius:4px;
}

.popup {
    font-family:sans-serif;
    font-weight:700;
    text-align:center;
    font-size:12px;
    line-height:130%;
    /* text-transform:uppercase; */
    background-color:rgba(049,049,049,.7);
    border-radius:6px;
    -webkit-box-shadow:0px 0px 5px rgba(0,0,0,1);
    z-index:999999999;
}

js

//鱼对象
var fishObj = function (id, imgid, speed, direction, sizeindex, x, y, w, h, status, weight) {
  this.id = id;
  this.imgid = imgid;
  this.speed = speed;
  this.direction = direction;
  this.sizeindex = sizeindex;
  this.x = x;
  this.y = y;
  this.w = w;
  this.h = h;
  this.status = status;
  this.weight = weight;
}
//玩家对象
var MainObj = function () {
  this.direction = 2;
  this.status = -1;
  this.x = 130;
  this.y = 80;
  this.defaultY = 80;
  this.speed = brower.isIphone == true ? 100 : 105;
  this.lese = 0;
  this.isShark = 0;
}
//鲨鱼
var SharkObj = function () {
  this.flag = 0;
  this.direction = 1;
  this.speed = 4;
  this.x = 30;
  this.y = 180;
  this.w = 30;
  this.h = 20;
  this.status = 0;
  this.playnum = 10;
}
var mainObj = new MainObj();
var sharkObj = new SharkObj();
brower.InvaliBrower();
$(document).ready(function (e) {
  setInterval(function () { window.scrollTo(0, 2); }, 500);
  context = document.getElementById("mycanvas");
  if (context.getContext) {
      context = context.getContext("2d");
      loadedimg = new Image();
      loadedimg.src = '/default/game/dldy/img/load.png';
      loadedimg.onload=drawLoaded;        
      loadImages();
  } else {
      alert("is Not");
  }
});
//点击钓鱼事件
function Start(e) {
  e.preventDefault();
  var x = 0;
  var x_2 = 0;
  var y_2 = 0;
  if (window.innerWidth > 320) {
      if (brower.isIphone == false && brower.isMobile == false) {
          x_2 = e.clientX;
          y_2 = parseInt(event.clientY);
      } else {
          x_2 = event.touches[0].clientX;
          y_2 = parseInt(event.touches[0].clientY);
      }
      x = x_2 - parseInt((window.innerWidth - 320) / 2);
  } else {
      if (brower.isIphone == false && brower.isMobile == false) {
          x_2 = parseInt(event.clientX);
          y_2 = parseInt(event.clientY);
      } else {
          x_2 = parseInt(event.touches[0].clientX);
          y_2 = parseInt(event.touches[0].clientY);
      }
      x = x_2;
  }
  var need_y1 = 0;
  var need_y2 = 40;
  var need_x1 = 260;
  var need_x2 = 300;
  if(brower.isQQ==true){
      need_y1 = -30;
      need_y2 = 30;
      need_x1 = 290;
      need_x2 = 340;
  }
  if (x >= need_x1 && x <= need_x2 && y_2 >= need_y1 && y_2 <= need_y2) {
      jQuery("#mycanvas").unbind(brower.clickEventName);
      drawMsg(35);
  } else if (mainObj.status == -1 && mainObj.y == mainObj.defaultY) {
      if (x <= 75) {
          mainObj.direction = 0;
          mainObj.x = 50;
      }
      if (x > 75 && x <= 125) {
          mainObj.direction = 1;
          mainObj.x = 90;
      }
      if (x > 125 && x <= 170) {
          mainObj.direction = 2;
          mainObj.x = 130;
      }
      if (x > 170 && x <= 210) {
          mainObj.direction = 3;
          mainObj.x = 180;
      }
      if (x > 210) {
          mainObj.direction = 4;
          mainObj.x = 200;
      }
      mainObj.status = 0;
  }
}

//加载图片
function loadImages() {
  var imgOnload = function () {
      this.onload = null;
      ld++;
      loaded = ld;
  }
  for (var i = 0, ld = 0; i < imgfilelist.length; i++) {
      var img = new Image();
      img.onload = imgOnload;
      img.src = "/default/game/dldy/img/" + imgfilelist[i];
      if (img.complete) {
          img.onload();
      }
      imglist.push(img);
  }
}

//玩家钓鱼动作
function MainTimer() {
  var sx = mainObj.status > 0 ? mainObj.status * 46 : 0;
  if (mainObj.status == 3) {
      mainObj.y = parseInt(mainObj.y - ((mainObj.speed) * timer) / 100);
      if (mainObj.lese == 1) {
          if (mainObj.direction < 3)
              context.drawImage(imglist[32], 0, 0, 280, 226, mainObj.x - 16, mainObj.y + 15, 50, 50);
          else
              context.drawImage(imglist[33], 0, 0, 280, 226, mainObj.x, mainObj.y + 15, 50, 50);
      }

      if (mainObj.y <= mainObj.defaultY) {
          mainObj.y = mainObj.defaultY;
          mainObj.status = -1;
          if (mainObj.lese == 1) {
              mainObj.lese = 0;
              score - 2 < 0 ? score = 0 : score -= 2;
          }
          else {
              if (fishList.length > 0) {
                  for (var i = 0; i < fishList.length; i++) {
                      if (fishList[i].status == 1) {
                          switch (fishList[i].sizeindex) {
                              case -1: { score += 3; break; }
                              case 0: { score += 1; break; }
                              case 1: { score += 5; break; }
                          }
                          fishList.splice(i, 1); //成功吊到了一只鱼
                      }
                  }
              }
          }
      }
  }
  if (mainObj.status == 0) {
      mainObj.y = parseInt(mainObj.y + ((mainObj.speed - 90) * timer) / 100);
      //钓到鱼了
      if (fishList.length > 0) {
          for (var i = 0; i < fishList.length; i++) {
              if ((mainObj.x + 15 >= fishList[i].x) && (mainObj.x + 15 <= fishList[i].x +
              fishList[i].w) && (mainObj.y + 10 >= fishList[i].y && mainObj.y + 10 <= 
              fishList[i].y + fishList[i].h)) {
                  fishList[i].status = 1;
                  mainObj.status = mainObj.status + 1;
                  break;
              }
          }
      }
      if (mainObj.y >= height + 260) {
          mainObj.y = height + 260;
          mainObj.status = 3;
          mainObj.lese = 1;
      }


      //钓到鲨鱼
      if (((sharkObj.x >= mainObj.x && sharkObj.x <= mainObj.x + 46) || 
      ((sharkObj.x + sharkObj.w >= mainObj.x) && (sharkObj.x + sharkObj.w <= mainObj.x + 46))) 
      && ((sharkObj.y >= mainObj.y && sharkObj.y <= mainObj.y + 46) || 
      sharkObj.y + sharkObj.h >= mainObj.y) && (sharkObj.y + sharkObj.h <= mainObj.y + 46)) {
          sharkObj.status = 1;
          if (sharkObj.x > 150) {
              sharkObj.flag = 3;
          } else {
              sharkObj.flag = 1;
          }
          mainObj.isShark = 1;
          mainObj.status = 3;
      }

  } else if (mainObj.status > 0 && mainObj.status < 3) {
      mainObj.status = mainObj.status + 1;
  }

  context.beginPath();
  var qx;
  switch (mainObj.direction) {
      case 0: { qx = 65; break; }
      case 1: { qx = 107; break; }
      case 2: { qx = 150; break; }
      case 3: { qx = 195; break; }
      case 4: { qx = 220; break; }
  }
  context.moveTo(qx, 0);
  context.lineTo(mainObj.x + 18, mainObj.y);
  context.globalAlpha = 1;
  context.lineWidth = 1;
  context.stroke();
  context.closePath();
  context.drawImage(imglist[18], sx, 0, 46, 48, mainObj.x, mainObj.y, 35, 35);
}

源码

需要源码请关注添加好友哦^ ^

转载:欢迎来到本站,转载请注明文章出处https://ormcc.com/

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码