怪物联萌小游戏

欢迎来到程序小院

怪物联萌

玩法:将怪物连体,怪物只能直线上下左右移动,躲过障碍物,共16关卡,
不同关卡不同界面,遇到金币记得吃掉金币哦,会获得更高分数,快去闯关吧^^。

开始游戏icon-default.png?t=N7T8https://www.ormcc.com/play/gameStart/264

html

<canvas id="canvas" width="638" height="893"></canvas>

css

body,html {
  margin: 0;
  padding: 0; 
  background-color: #fff;
  height: 100%;
  width: 100%;
  display:block;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#canvas {
    background-color: #fff;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -172px;
    margin-left: -160px;
    z-index: 1;
}

js

function isArrayContains(e, t) {
 return -1 < e.indexOf(t)
}
function y185(e, t) {
 e.cacheCanvas = t.cacheCanvas;
 e.cacheID = t.cacheID;
 e._cacheWidth = t._cacheWidth;
 e._cacheHeight = t._cacheHeight;
 e._cacheOffsetX = t._cacheOffsetX;
 e._cacheOffsetY = t._cacheOffsetY;
 e._cacheScale = t._cacheScale
}
function y96(e) {
 isLevelEditor && console.log(e)
}
function y506(e) {
 e.scaleX = e.scaleY = 1.2 * y164 * (e.defaultScale ? e.defaultScale : 1)
}
function y380(e) {
 e.scaleX = e.scaleY = y164 * (e.defaultScale ? e.defaultScale : 1)
}
function y206(e) {
 e.parent && e.parent.removeChild(e)
}
function y110(e, t) {
 y206(e);
 t && t.addChild(e)
}
function y110WithIndex(e, t, n) {
 y206(e);
 t && t.addChildAt(e, n)
}
function setSpriteScale(e, t) {
 e.scaleX = e.scaleY = t
}
function y124(e, t, n, r) {
 r.text != n && (r.text = n, n = r.getBounds(), r.x = e - (n.width >> 1) * r.scaleX, 
  t && (r.y = t - (40 >> 1) * r.scaleY))
}
function setAnimationSpeed(e, t) {
 e._animation.speed = t
}
function setNextAnimation(e, t) {
 e._animation.next = t
}
function randomizeAnimFrame(e) {
 e.currentAnimationFrame = Math.floor(30 * Math.random())
}
function createReverseAnim(e, t) {
 var n = REVERSE_y287 + t;
 if (!e.getAnimation(n)) {
  for (var r = e.getAnimation(t), i = {
    name: n,
    next: r.next,
    speed: r.speed,
    frames: []
   }, s = r.frames.length - 1; 0 <= s; s--) i.frames.push(r.frames[s]);
  e._animations.push(n);
  e._data[n] = i
 }
}
function playReverseAnim(e, t) {
 e.gotoAndPlay(REVERSE_y287 + t)
}
function y306() {
 y328 = y481(160, 322, .8, sponsorLogoFrame, y254, null, null)
}
function y379(e, t, n, r, i, s, o, u, a) {
 y328 || y306();
 y110(y328, r);
 n *= .7;
 y139 = t;
 y502 = e + 10;
 y83 = s;
 y108 = o;
 y328.scaleX = y328.scaleY = n;
 y328.alpha = i ? i : 1;
 y78 = u;
 y147();
 (e = y355.getAnimation(sponsorLogoFrame)) && e.frames && 0 < e.frames.length && (e = 
  y355.getFrameBounds(e.frames[0]), y328.setBoundingBox(e.x * n, e.y * n, e.width * n,
  e.height * n))
}
function y147() {
 y328 && (y328.x = y502, y328.y = y139, y83 === y93 ? y328.x += y170() : y83 === y232 && (
  y328.x -= y170()), y108 === y280 ? y328.y += y199() / y78 : y108 === y73 && (y328.y -= 
  y199() / y78))
}
function startSponsorAds() {
 sponsorApi && (isAdPauseSoundMuted = isMute, sponsorApi.GameBreak.request(onAdBeginPause,
  onAdEndUnpause))
}
function onAdBeginPause() {
 y96("ad pause, , sound is muted: " + isMute);
 isAdPauseSoundMuted = isMute;
 isMute = !0;
 stopBgMusic()
}
function onAdEndUnpause() {
 y96("ad unpause, sound was muted: " + isAdPauseSoundMuted);
 (isMute = isAdPauseSoundMuted) || y452()
}
function initParticleManager() {
 y497.addChild(y262)
}
function setParticlesToFront() {
 y110(y262, y497)
}
function y53Explode(e, t, n, r, i, s) {
 for (var o, u = 0; u < n; u++) {
  o = u * (2 * Math.PI / n);
  partSin = Math.cos(o);
  partCos = Math.sin(o);
  o = y53(r, e, t, 1, i ? i : y262);
  if (!o) break;
  setParticleParamsByIndex(o, s ? s : 0)
 }
}
function setParticleParamsByIndex(e, t) {
 var n = 1.3;
 e.y14 = 0;
 e.y11 = 20 * Math.random();
 0 === t ? (e.maxScale = .7, e.y37 = .2 * FPS, partScale = .2 + .2 * Math.random()) : 1 
  === t ? (n = 4, e.maxScale = 1.3, e.y37 = .3 * FPS, e.y14 = 0, e.y11lpha = .05, e.y11 = 
  20 * Math.random(), partScale = .4 + .6 * Math.random()) : 2 === t && (n = 2, e.maxScale 
  = 1.3, e.vis.alpha = 1, e.y37 = .3 * FPS, e.y11 = 20 * Math.random(), partScale = 
  .4 + .6 * Math.random());
 e.vis.scaleX = e.vis.scaleY = partScale;
 e.y9 = (n + Math.random() * n) * partCos;
 e.y10 = (n + Math.random() * n) * partSin
}
function createDiePart(e, t) {
 var n = y53(y509, e, t, 1, y262);
 n && (n.y38(11), n.y39("deathanimv", !0), n.y11lpha = .05, n.y37 = 1.5 * FPS, n.y9 = 
  0, n.y10 = -1, n.y11 = 0)
}
function createGoodPlayExplode(e, t) {
 for (var n, r = 0 == t ? 90 : -120, i = 0; 8 > i; i++) {
  var s = i * (Math.PI / 2 / 8) - Math.PI / 4;
  0 < t && (s += Math.PI);
  var o = Math.cos(s),
   s = Math.sin(s);
  n = .2 + .2 * Math.random();
  n = y53(y160, r, 0, n, monsterCont);
  if (!n) break;
  n.y39("particle1v");
  n.y11lpha = .1;
  n.y34 = .02;
  n.vis.visible = !1;
  n.y37 = .5 * FPS;
  n.maxScale = .6;
  n.y9 = (1.5 + 1.5 * Math.random()) * o;
  n.y10 = (1.5 + 1.5 * Math.random()) * s;
  n.y11 = 20 * Math.random()
 }
}
function y292(e, t, n) {
 if (e = y53(y509, e, t, .8, y262)) e.y38(n), e.y37 = .2 * FPS, e.y9 = 0, e.y10 = -.8, 
  e.y11 = 0
}
function createGlassExplode(e, t) {
 for (var n, r = e, i = t, s = 0; 4 > s; s++) {
  switch (s) {
   case 0:
    r = e - 10;
    i = t - 30;
    break;
   case 1:
    r = e + 10;
    i = t - 30;
    break;
   case 2:
    r = e - 10;
    i = t - 10;
    break;
   case 3:
    r = e + 10, i = t - 10
  }
  n = y53(PART_GLASS_TYPE, r, i, 1, y262);
  if (!n) break;
  n.y14 = 0;
  n.maxScale = 0;
  n.y14 = 0;
  n.y11lpha = .08;
  n.y34 = -.08;
  n.isReverse = !0;
  partScale = 1;
  n.vis.scaleX = n.vis.scaleY = partScale;
  n.y11 = 30 * Math.random() - 15;
  n.y9 = 1.3 - 2.6 * Math.random();
  n.y10 = 1.3 - 2.6 * Math.random()
 }
}
function y456() {
 var e = y53(y509, 160, topVisionLine + y52 / 2, 1, y262);
 e && (e.y38(11), e.y11lpha = 1, e.y37 = 1.5 * FPS, e.y9 = 0, e.y10 = 0, e.y11 = 0, 
  e.vis.rotation = -360, e.vis.scaleX = e.vis.scaleY = .1, createjs.Tween.get(e.vis, {
  override: !0
 }).to({
  rotation: 0,
  scaleX: 1,
  scaleY: 1
 }, 600).wait(600).to({
  alpha: 0
 }, 200))
}
function createAchievPart(e) {
 for (var t = 210, n = 10, r = 0, i, s = 0; s < y311.length; s++) i = y311[s], i.type === 
  PART_ACHIEV_TYPE && (t = i.vis.y - 50, n += 200, r++);
 if (i = y53(PART_ACHIEV_TYPE, -130, t, .8, y497)) i.y39("achievdesc" + e), i.y11lpha = 
  1, i.y37 = 3.2 * FPS + .2 * r, i.y9 = 0, i.y10 = 0, i.y11 = 0, i.vis.rotation = 0, 
  i.vis.scaleX = i.vis.scaleY = .7, i.vis.alpha = 1, createjs.Tween.get(i.vis, {
  override: !0
 }).wait(n).to({
  x: 5
 }, 600, y244).wait(2e3).to({
  x: -130
 }, 400, createjs.Ease.sineIn)
}
function y53(e, t, n, r, i) {
 var s;
 y311Lenght = y311.length;
 if (y311Lenght > y454) {
  for (var o = 0; o < y311Lenght; o++)
   if (y311[o].type === y160) {
    s = y311[o];
    break
   }
  s || (s = y311[0]);
  s.reset(e, i, r)
 } else s = y453(e, i, r);
 s.setPos(t, n);
 isArrayContains(y311, s) || y311.push(s);
 return s
}
function y134(e) {
 isArrayContains(disposedParts, e) || disposedParts.push(e)
}
function y453(e, t, n) {
 if (0 < disposedParts.length) {
  var r = disposedParts.pop();
  r.reset(e, t, n);
  return r
 }
 return new y513(e, t, n)
}
function y195() {
 y56 = y311.length;
 for (var e = 0; e < y56; e++) y342 = y311[e], y342.tick(), y342.isNeedDispose && 
  disposeNeededParts.push(y342);
 for (; 0 < disposeNeededParts.length;) disposeNeededParts.pop().dispose()
}
function initField() {
 ROW_FIELD_END = FIELD_ROWS - ROWS_MARGIN - 1;
 CELL_FIELD_END = FIELD_CELLS - CELLS_MARGIN - 1;
 shadowContainer = new createjs.Container;
 y497.addChild(shadowContainer);
 y390 = new createjs.Container;
 y497.addChild(y390);
 for (var e = 0; e < FIELD_CELLS; e++) {
  for (var t = [], n = 0; n < FIELD_ROWS; n++) t.push(BLOCK_SPACE_TYPE);
  map.push(t)
 }
}
function createBlock(e, t, n, r) {
 disposeBlockAt(t, n);
 e == BLOCK_SPACE_TYPE ? map[t][n] = BLOCK_SPACE_TYPE : (r || (r = "defB" + t + "r" + n),
  e = getBlockFromPool(e, y390, r), e.setPos(getXByCell(t), getYByRow(n)), 
  e.setIndex(t, n), e.rememberPos(), isArrayContains(allBlocks, e) || allBlocks.push(e), 
  map[t][n] = e, isHero(e) && (findFriends(e), allHeroes.push(e)))
}
function getBlockFromPool(e, t, n) {
 if (0 < disposedBlocks.length) {
  var r = disposedBlocks.pop();
  r.reset(e, t, n);
  return r
 }
 return new BaseBlock(e, t, n)
}
function disposeBlockAt(e, t) {
 var n = getBlockAt(e, t);
 n && n != BLOCK_SPACE_TYPE && n.dispose()
}
function y201(e) {
 isArrayContains(disposedBlocks, e) || disposedBlocks.push(e)
}
function deleteBlockFromMap(e) {
 map[e.cell][e.row] == e && (map[e.cell][e.row] = BLOCK_SPACE_TYPE)
}
function getXByCell(e) {
 return (e + 1 - CELLS_MARGIN) * CELL_SIZE + MARGIN_LEFT - CELL_SIZE / 2
}
function getYByRow(e) {
 return (e + 1 - ROWS_MARGIN) * CELL_SIZE + MARGIN_TOP
}
function getLevelCode() {
 for (var e = [], t = 0; t < FIELD_CELLS; t++) {
  for (var n = [], r = 0; r < FIELD_ROWS; r++) {
   var i = map[t][r];
   i == BLOCK_SPACE_TYPE ? n.push(BLOCK_SPACE_TYPE) : n.push(i.type)
  }
  e.push(n)
 }
 e.push(getBonusCode());
 return e
}
function y192ByCode(e) {
 isLevelLoading = !0;
 disposeLevel();
 addInstructions();
 lightsV.visible = !0;
 isShadowDisabled || (shadowContainer.visible = !0);
 for (var t = 0; t < FIELD_CELLS; t++)
  for (var n = e[t], r = 0; r < FIELD_ROWS; r++) {
   var i = n[r]; - 1 < i && createBlock(i, t, r)
  }
 loadBonusesByCode(e[FIELD_CELLS]);
 y275();
 isLevelLoading = !1;
 setCloudsVisibility(!0)
}
function disposeLevel() {
 disposeMinigame();
 disposeInstructions();
 for (var e = allBlocks.length, t = 0; t < e; t++) allBlocks.pop().dispose();
 allHeroes = [];
 headHero = null;
 isDangerCollided = isLevelCompleted = isHeroMoving = !1;
 levelCollectedStarsNum = levelTotalStarsNum = 0;
 disposeBonuses();
 isOldButtonActivated = !1
}
function y192(e) {
 y50 = e;
 y50 >= y115.length && (y50 = y115.length - 1);
 setBgByLevel(y50, !1);
 IsMinigameLevel(y50) ? loadMinigame(y50) : y192ByCode(y115[y50]);
 setParticlesToFront();
 showIngameSponsorLogo();
 isGamePaused = !1
}
function y507() {
 isDisableWin ? rey192FromEditor() : y192(y50)
function y131() {
 y50++;
 y50 >= y115.length && (y50 = 0);
 y192(y50)
}
function y275() {
 y390.sortChildren(zOrderSortFunction)
}
function zOrderSortFunction(e, t) {
 if (e.isFullTop && !t.isFullTop) return 1;
 if (!e.isFullTop && t.isFullTop) return -1;
 if (e.isFullTop && t.isFullTop) {
  if (e.zIndex > t.zIndex) return 1;
  if (e.zIndex < t.zIndex) return -1
 }
 return e.baseBlock.row < t.baseBlock.row ? -1 : e.baseBlock.row > t.baseBlock.row ? 
  1 : e.isOnBottom && !t.isOnBottom ? -1 : !e.isOnBottom && t.isOnBottom ? 
  1 : !e.isOnTop && t.isOnTop ? -1 : e.isOnTop && !t.isOnTop ? 1 : 0
}
function SearchMovePath(e, t) {
 var n = 100,
  r, i;
 lastDir = t;
 e.oldFriendsNum = e.friends.length;
 if (t == DIR_LEFT || t == DIR_RIGHT) {
  for (var n = SearchMininumStepsHoriz(e, t, n), s = 0; s < e.friends.length; s++) r = 
    e.friends[s], n = SearchMininumStepsHoriz(r, t, n);
  i = StepHorizByDir(e.cell, t, n);
  updateStarsCollectionStatus(n);
  if (0 > i || i > FIELD_CELLS - 1) {
   e.deadMove(t);
   return
  }
  if (i == e.cell) lastDir = -1, isHeroMoving = !1, e.restorePosWithFriends();
  else {
   for (s = 0; s < e.friends.length; s++) {
    r = e.friends[s];
    var o = StepHorizByDir(r.cell, t, n);
    relocate(r, o, r.row)
   }
   e.move(i, e.row, getXByCell(i), getYByRow(e.row));
   playLaunchSound()
  }
 } else if (t == DIR_UP || t == DIR_BOTTOM) {
  n = SearchMininumStepsVert(e, t, n);
  for (s = 0; s < e.friends.length; s++) r = e.friends[s], n = SearchMininumStepsVert(
    r, t, n);
  i = StepVertByDir(e.row, t, n);
  updateStarsCollectionStatus(n);
  if (0 > i || i > FIELD_ROWS - 1) {
   e.deadMove(t);
   return
  }
  if (i == e.row) lastDir = -1, isHeroMoving = !1, e.restorePosWithFriends();
  else {
   for (s = 0; s < e.friends.length; s++) r = e.friends[s], o = StepVertByDir(
      r.row, t, n), relocate(r, r.cell, o);
   e.move(e.cell, i, getXByCell(e.cell), getYByRow(i));
   playLaunchSound()
  }
 }
 resetStarsCollectionSteps()
}
function SearchMininumStepsVert(e, t, n) {
 if (!isNextVertAreFriend(e, t)) {
  t = SearchLastFreeRow(e, t);
  e = Math.abs(t - e.row);
  if (t < ROWS_MARGIN || t > ROW_FIELD_END) e = 100;
  if (e < n) return e
 }
 return n
}
function isNextVertAreFriend(e, t) {
 var n = StepVertByDir(e.row, t, 1);
 return (n = getBlockAt(e.cell, n)) ? isHero(n) : !1
}
function SearchLastFreeRow(e, t) {
 var n = StepVertByDir(e.row, t, 1),
  r = 1;
 for (checkStarCollide(r, e.cell, n); IsFreeOrFriend(e, e.cell, n);) n = StepVertByDir(
  n, t, 1), r += 1, checkStarCollide(r, e.cell, n); - 1 < n && n < FIELD_ROWS && (
  n = StepVertByDir(n, t, -1));
 return n
}

源码

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/366413.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年美赛 (C题MCM)| 温网积分 |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时&#xff0c;你是否曾经感到茫然无措&#xff1f;作为2022年美国大学生数学建模比赛的O奖得主&#xff0c;我为大家提供了一套优秀的解题思路&#xff0c;让你轻松应对各种难题。 让我们来看看美赛的C题&#xff01; 完整内容可以在文章末尾领…

简述MinewSemi的GNSS模块引领体育与健康科技革新

体育与健康科技领域的创新一直在推动人们更健康、更活跃的生活方式。创新微公司的GNSS模块正成为这一变革的关键推动力。本文将深入研究MinewSemi的GNSS模块在体育和健康追踪领域的创新应用&#xff0c;探讨其如何帮助个体更全面地了解和改善自己的身体状态。 1. 个性化运动轨迹…

⒒电子产品拆解分析-英语四六级耳机

⒒电子产品拆解分析-英语四六级耳机 一、功能介绍二、电路分析以及器件作用1、4054锂电池充电电路2、RDA5807FP收音机电路三、其它一、功能介绍 ①可接收FM50~108广播电台频率;②关机可备份当前接收的频率和音量;③内置锂电池可充电使用;④可接多功能线到手机或电脑当头戴耳…

校园网网络规划与设计——计算机网络实践报告

W...Y的主页 &#x1f60a; 代码仓库分享&#x1f495; 目录 一、设计目的 二、软硬件环境 三、理论基础 四、设计方案 五、网络配置步骤 六、设计过程中出现的问题及相应解决办法 八、参考资料 一、设计目的 深入理解网络工程的三层层次设计模型&#xff1b; 掌握网络…

漏洞02-SQL注入

SQL注入 文章目录 SQL注入$query"select id,email from member where username$name";$query"select id,email from member where usernamevince";$query"select id,email from member where usernamexx";$query"select id,email from memb…

函数重载你真的了解吗?

1.什么叫函数重载&#xff1f; 函数重载&#xff08;Function Overloading&#xff09;是指在同一个作用域内&#xff0c;允许定义多个具有相同名称但参数列表不同的函数。具体而言&#xff0c;函数重载允许你定义同名的函数&#xff0c;但这些函数应该有不同的参数类型、参数个…

算法学习——华为机考题库1(HJ1 - HJ10)

算法学习——华为机考题库1&#xff08;HJ1 - HJ10&#xff09; HJ1 字符串最后一个单词的长度 描述 计算字符串最后一个单词的长度&#xff0c;单词以空格隔开&#xff0c;字符串长度小于5000。&#xff08;注&#xff1a;字符串末尾不以空格为结尾&#xff09; 输入描述&…

wangEditor v4的简单使用

当前文档是 wangEditor v4 版本的。 wangEditor v5 已经正式发布&#xff0c;可参考文档。 v5 发布之后&#xff0c;v4 将不再开发新功能。 介绍 English documentation wangEditor4 —— 轻量级 web 富文本编辑器&#xff0c;配置方便&#xff0c;使用简单。 官网&#…

apache web服务内存泄露解决

文章目录 apache web服务内存泄露解决问题根源问题解决 apache web服务内存泄露解决 问题根源 apache在使用过程中&#xff0c;内存在逐步增长&#xff0c;重启服务后也没有用&#xff0c;经过多方资料排查由于是MaxRequestsPerChild配置引起的&#xff0c;注意apache2.4系列改…

有趣的CSS - 输入框选中交互动效

页面效果 此效果主要使用 css 伪选择器配合 html5 required 属性来实现一个简单的输入框的交互效果。 此效果可适用于登录页入口、小表单提交等页面&#xff0c;增强用户实时交互体验。 核心代码部分&#xff0c;简要说明了写法思路&#xff1b;完整代码在最后&#xff0c;可直…

MySQL 索引和事务

目录 1 索引1.1 简介1.2 使用1.3 示例 2 事务2.1 简介2.2 使用 1 索引 1.1 简介 索引是一种特殊的文件&#xff0c;包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引&#xff0c;并指定索引的类型&#xff0c;各类索引有各自的数据结构实现。 索引底层是…

代码随想录算法训练营第二十四天|● 理论基础 ● 77. 组合

仅做学习笔记&#xff0c;详细请访问代码随想录 ● 理论基础 ● 77. 组合 ● 理论基础 回溯法解决的问题 回溯法&#xff0c;一般可以解决如下几种问题&#xff1a; 组合问题&#xff1a;N个数里面按一定规则找出k个数的集合 切割问题&#xff1a;一个字符串按一定规则有几…

【JavaEE进阶】 图书管理系统开发日记——叁

&#x1f334;前言 在前面我们实现了用户登录的接口。现在我们来实现图书列表展示页面。 &#x1f38b;数据准备 创建图书表&#xff0c;并初始化数据 -- 图书表 DROP TABLE IF EXISTS book_info; CREATE TABLE book_info (id INT ( 11 ) NOT NULL AUTO_INCREMENT,book_nam…

通用缓存SpringCache

概述 在项目中&#xff0c;我们通常会把高频的查询进行缓存。如资讯网站首页的文章列表、电商网站首页的商品列表、微博等社交媒体热搜的文章等等&#xff0c;当大量的用户发起查询时&#xff0c;借助缓存提高查询效率&#xff0c;同时减轻数据库压力。 目前的缓存框架有很多:…

银行数据仓库体系实践(16)--数据应用之财务分析

总账系统 在所有公司中&#xff0c;财务分析的基础都是核算&#xff0c;那在银行的系统体系中&#xff0c;核算功能在业务发生时由业务系统如核心、贷款、理财中实现登记&#xff0c;各业务系统会在每天切日后统计当天各机构的核算科目的发生额与余额&#xff0c;并统一送到总账…

基于SSM的个性化旅游攻略定制系统设计与实现(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的个性化旅游攻略定制系统设计与实现&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xf…

Google Play上架:因行为透明度被拒审或下架的政策自查(基于区块链的内容)

近期很多朋友的项目出现因行为透明度问题被谷歌拒审或者已经上架的包被下架甚至封号,今天解释一下为什么会被封号下架,根据是什么? 目录 政策发布时间与截止时间政策内容政策背景政策解析和问题讲解政策发布时间与截止时间 基于区块链的内容相关政策,于2023-07-12 公布,…

大数据 - Hadoop系列《三》- MapReduce(分布式计算引擎)概述

上一篇文章&#xff1a; 大数据 - Hadoop系列《三》- HDFS&#xff08;分布式文件系统&#xff09;概述-CSDN博客 目录 12.1 针对MapReduce的设计构思 1. 如何对付大数据处理场景 2. 构建抽象编程模型 3. 统一架构、隐藏底层细节 12.2 分布式计算概念 12.3 MapReduce定义…

最近nvm安装报错的原因找到了——npm原淘宝镜像正式到期!

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热爱技术和分享&#xff0c;欢迎大家交流&#xff0c;一起学习进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 背景 错误原因 问题排查 淘宝镜像 证书到期 问题解决 结语 背景 我们…

华为配置接口二三层切换示例

配置接口二三层切换示例 组网图形 图1 配置非自协商模式下速率和双工模式组网图 二三层切换简介配置注意事项组网需求配置思路操作步骤配置文件 二三层切换简介 基于接口板的硬件构造&#xff0c;某些形态设备上接口只能作为二层以太网接口&#xff0c;某些形态设备上接口…
最新文章