电锯切割狂

欢迎来到程序小院

电锯切割狂

玩法:把木块切成等分的碎片,每关都会有切割次数,木块数,切割越均匀分数越搞,
有简单、正常、困难、专家版,快去解锁不同版本进行切割吧^^。

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

html

<canvas width="420" height="525"></canvas>

css

canvas{
    display: block; 
    touch-action: none; 
    user-select: none; 
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 
    width: 440px; 
    height: 550px; 
    cursor: inherit; 
    margin-left: 320px; 
    margin-right: -320px;
}

js

var LevelButton = function(t, e, s, a, i, h) {
 Phaser.Button.call(this, game, t, e, null, i, h), this.lvl_number = a, 
  this.anchor.setTo(.5, .5), this.locked = !1, this.onInputDown.add(function() {
  game.add.tween(this.scale).to({
   x: 1.3,
   y: 1.3
  }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 0, 0, !0)
 }, this), this.miniature = new Phaser.Image(game, 0, 0, null), 
  this.miniature.anchor.setTo(.5, .6), this.miniature.renderable = !1, 
  this.addChild(this.miniature), this.stars = new Phaser.Image(game, 0, 8, null), 
  this.stars.anchor.setTo(.5, 0), this.stars.renderable = !1, this.addChild(this.stars)
};
LevelButton.prototype = Object.create(Phaser.Button.prototype), 
LevelButton.prototype.goToLevel = function() {
 if (!this.locked) {
  game.current_lvl = this.lvl_number;
  var t = game.add.tween(game.state.getCurrentState().fade_gfx).to({
   alpha: 1
  }, 300, Phaser.Easing.Sinusoidal.InOut, !0);
  game.lastRoom = "Category", t.onComplete.add(function() {
   game.state.start("Play")
  })
 }
}, LevelButton.prototype.refresh = function() {
 SaveLoad.unlocked_levels[game.current_category] < this.lvl_number ? (
  this.loadTexture("ssheet", "lvl_button_locked"), this.stars.renderable = !1, 
  this.miniature.renderable = !1, this.locked = !0) : (
  this.loadTexture("ssheet", "lvl_highlight"), 
  this.miniature.loadTexture("lvlmini", game.current_category.toString() + "_" + 
  this.lvl_number.toString()), this.miniature.renderable = !0, 
  this.stars.renderable = !0, 
  this.stars.loadTexture("ssheet", "lvl_star_" + 
  SaveLoad.level[game.current_category][this.lvl_number].toString()), this.locked = !1)
}, LevelButton.prototype.constructor = LevelButton, Preload = function() {}, 
Preload.prototype = {
 preload: function() {
  this.cm_logo = game.add.image(210, 150, "circusmoth"), 
    this.cm_logo.anchor.setTo(.5, .5), 
    this.preload_bg = game.add.image(57, 250, "loading_bar_0"), 
    this.preload_bar = game.add.image(57, 250, "loading_bar_1"), 
    this.loading = game.add.image(210, 330, "loading"), 
    this.loading.anchor.setTo(.5, .5), game.add.tween(this.loading.scale).to({
   x: 1.2,
   y: 1.2
  }, 1e3, Phaser.Easing.Sinusoidal.InOut, !0, 0, -1, !0), 
    this.load.setPreloadSprite(this.preload_bar), 
    game.load.bitmapFont("font_label", "assets/images/font_label.png", 
    "assets/images/font_label.fnt", null, 0), 
    game.load.bitmapFont("font_digits", "assets/images/font-digits.png", 
    "assets/images/font-digits.fnt", null, 4), 
    game.load.atlasJSONHash("ssheet","assets/images/spritesheet.png", 
    "assets/images/spritesheet.json"), 
    game.load.atlasJSONHash("lvlmini", "assets/images/lvlmini.png", 
    "assets/images/lvlmini.json"), 
    game.load.image("line_dbg", "assets/images/line_dbg.png"), 
    game.load.audio("music_sfx", "assets/sounds/music.mp3"), 
    game.load.audio("chainsaw_sfx", "assets/sounds/chainsaw_1s.mp3"), 
    game.load.audio("chainsaw_alt_sfx", "assets/sounds/chainsaw_1s_alt.mp3"), 
    game.load.audio("click_sfx", "assets/sounds/click.mp3"), 
    game.load.audio("transition_sfx", "assets/sounds/transition.mp3"), 
    game.load.audio("whoosh_sfx", "assets/sounds/whoosh.mp3"), 
    game.load.audio("label_pop_sfx", "assets/sounds/label_pop.mp3"), 
    game.load.audio("win_sfx", "assets/sounds/win.mp3"), 
    game.load.audio("lose_sfx", "assets/sounds/lose.mp3")
 },
 create: function() {
  this.game.stage.backgroundColor = "#FFFFFF", game.sfx = {}, 
    game.sfx.music = game.add.audio("music_sfx", 1, !0), game.sfx.click = 
    game.add.audio("click_sfx"), this.cm_logo.visible = !1, 
    this.preload_bg.visible = !1, this.preload_bar.visible = !1, 
    this.loading.visible = !1, game.sfx.chainsaw_index = 0, 
    game.sfx.chainsaw = game.add.audio("chainsaw_sfx"), 
    game.sfx.chainsaw_alt = game.add.audio("chainsaw_alt_sfx"), 
    game.sfx.transition = game.add.audio("transition_sfx"), 
    game.sfx.whoosh = game.add.audio("whoosh_sfx"), game.sfx.label_pop = 
    game.add.audio("label_pop_sfx"), game.sfx.win = game.add.audio("win_sfx"), 
    game.sfx.lose = game.add.audio("lose_sfx"), this.state.start("MainMenu")
 }
};
var Slice = function(t, e) {
 this.point_0 = t, this.point_1 = e, this.f0t1 = !1, this.f1t0 = !1
};
Slice.prototype.checkLine = function(t) {
 return this.point_0.i == t ? (this.f0t1 = !0, [this.point_0, this.point_1]) : 
  this.point_1.i == t ? (this.f1t0 = !0, [this.point_1, this.point_0]) : null
};
var Shape = function(t) {
 Phaser.Polygon.call(this, t), this.to_kill = !1, this.dead = !1, 
  this.slices = [], this.new_shapes = [], this.centroid = Phaser.Point.centroid(this.points)
};
Shape.prototype = Object.create(Phaser.Polygon.prototype), 
Shape.prototype.constructor = Shape, Shape.prototype.update = function() {}, 
Shape.prototype.prepareSlices = function(t) {
 for (var e = [], s = 0; s < this.points.length; s++) {
  var a, i = this.points[s];
  a = s == this.points.length - 1 ? this.points[0] : this.points[s + 1];
  var h = Phaser.Line.intersectsPoints(t.start, t.end, i, a, !0);
  null != h && (h.i = s, e.push(h))
 }
 e.sort(function(e, s) {
  var a = Phaser.Point.distance(t.start, e),
   i = Phaser.Point.distance(t.start, s);
  return a - i
 }), e.length > 0 && (this.contains(t.start.x, t.start.y) && e.splice(0, 1), 
  this.contains(t.end.x, t.end.y) && e.splice(e.length - 1, 1));
 for (var o = [], s = 0; s < e.length; s += 2) o.push(new Slice(e[s], e[s + 1]));
 this.slices = o
}, Shape.prototype.makeNewPolygon = function(t, e) {
 for (var s = [t, e], a = t.i, i = e.i; i++, i == this.points.length && (i = 0), 
  s.push(this.points[i]), i != a;) {
  var h = this.checkSliceLine(i);
  null != h && (i = h[1].i, s.push(h[0]), s.push(h[1]))
 }
 this.new_shapes.push(s)
}, Shape.prototype.checkSliceLine = function(t) {
 for (var e = 0; e < this.slices.length; e++) {
  var s = this.slices[e].checkLine(t);
  if (null != s) return s
 }
 return null
}, Shape.prototype.slice = function(t) {
 if (this.prepareSlices(t), 0 != this.slices.length) {
  this.to_kill = !0;
  for (var e = 0; e < this.slices.length; e++) {
   var s = this.slices[e];
   s.f0t1 || (this.makeNewPolygon(s.point_0, s.point_1), s.f0t1 = !0), 
      s.f1t0 || (s.f1t0 = !0, this.makeNewPolygon(s.point_1, s.point_0))
  }
  Phaser.Point.centroid(this.points, this.centroid)
 }
};
var Logo = function(t) {
 Phaser.Group.call(this, game, 0, 0), this.logo_0 = 
  game.add.image(60, t, "ssheet", "logo_0"), this.logo_1 = 
  game.add.image(117, t + 20, "ssheet", "logo_1"), this.logo_2 = 
  game.add.image(172, t, "ssheet", "logo_2"), this.logo_3 = 
  game.add.image(267, t + 5, "ssheet", "logo_3"), this.logo_4 = 
  game.add.image(325, t, "ssheet", "logo_4"), this.logo_5 = 
  game.add.image(382, t, "ssheet", "logo_5"), this.logo_0.anchor.setTo(.5, .5), 
  this.logo_1.anchor.setTo(.5, .5), this.logo_2.anchor.setTo(.5, .5), 
  this.logo_3.anchor.setTo(.5, .5), this.logo_4.anchor.setTo(.5, .5), 
  this.logo_5.anchor.setTo(.5, .5), game.add.tween(this.logo_0).from({
  y: -100
 }, 1200, Phaser.Easing.Elastic.Out, !0, 1020), game.add.tween(this.logo_1).from({
  y: -100
 }, 1420, Phaser.Easing.Elastic.Out, !0, 1060), game.add.tween(this.logo_2).from({
  y: -100
 }, 1200, Phaser.Easing.Elastic.Out, !0, 1050), game.add.tween(this.logo_3).from({
  y: -100
 }, 1410, Phaser.Easing.Elastic.Out, !0, 1120), game.add.tween(this.logo_4).from({
  y: -100
 }, 1200, Phaser.Easing.Elastic.Out, !0, 1080), game.add.tween(this.logo_5).from({
  y: -100
 }, 1410, Phaser.Easing.Elastic.Out, !0, 1050), this.add(this.logo_0), 
  this.add(this.logo_1), this.add(this.logo_2), this.add(this.logo_3), 
  this.add(this.logo_4), this.add(this.logo_5), 
  game.time.events.add(5 * Phaser.Timer.SECOND, this.init_bounce, this)
};
Logo.prototype = Object.create(Phaser.Group.prototype), 
Logo.prototype.constructor = Logo, Logo.prototype.init_bounce = function() {
 game.time.events.loop(6 * Phaser.Timer.SECOND, this.bounce, this)
}, Logo.prototype.bounce = function() {
 game.add.tween(this.logo_0).to({
  y: this.logo_0.y - 30
 }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 0, 0, !0), game.add.tween(this.logo_1).to({
  y: this.logo_0.y - 30
 }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 100, 0, !0), game.add.tween(this.logo_2).to({
  y: this.logo_0.y - 30
 }, 200, Phaser.Easing.Sinusoidal.Out, !0, 200, 0, !0), game.add.tween(this.logo_3).to({
  y: this.logo_0.y - 30
 }, 200, Phaser.Easing.Sinusoidal.Out, !0, 300, 0, !0), game.add.tween(this.logo_4).to({
  y: this.logo_0.y - 30
 }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 400, 0, !0), game.add.tween(this.logo_5).to({
  y: this.logo_0.y - 30
 }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 500, 0, !0)
};
var Background = function(t) {
 Phaser.Sprite.call(this, game, 0, 0), this.fixedToCamera = !0, 
  this.offset = t || 0, this.y_margin = game.height - 525, 
  this.sky = this.game.add.image(0, 0, "ssheet", "bg"), 
  this.sky.fixedToCamera = !0, this.sky.scale.y = (this.y_margin + 251) / 251, 
  this.cloud = this.game.add.image(100, 50, "ssheet", "cloud_0"), 
  this.cloud.fixedToCamera = !0, this.cloud.xx = 400, this.cloud2 = 
  this.game.add.image(500, 70, "ssheet", "cloud_0"), this.cloud2.xx = 1e3, 
  this.cloud2.fixedToCamera = !0, this.cloud3 = 
  this.game.add.image(1e3, 60, "ssheet", "cloud_0"), 
  this.cloud3.xx = 1600, this.cloud3.fixedToCamera = !0, 
  this.grass_2 = this.game.add.tileSprite(0, 
  this.y_margin + 200, game.width, 160, "ssheet", "bg_grass_2"), 
  this.grass_2.fixedToCamera = !0, this.grass_2.tilePosition.set(-500, 0), 
  this.grass_1 = this.game.add.tileSprite(0, 
  this.y_margin + 240, game.width, 187, "ssheet", "bg_grass_1"), 
  this.grass_1.fixedToCamera = !0, this.grass_1.tilePosition.set(-250, 0), 
  this.grass_0 = this.game.add.tileSprite(0, 
  this.y_margin + 310, game.width, 220, "ssheet", "bg_grass_0"), 
  this.grass_0.fixedToCamera = !0
};
Background.prototype = Object.create(Phaser.Sprite.prototype), 
Background.prototype.update = function() {
 this.grass_2.tilePosition.set((this.game.camera.x + this.offset) * -.2, 0), 
  this.grass_1.tilePosition.set((this.game.camera.x + this.offset) * -.5, 0), 
  this.grass_0.tilePosition.set((this.game.camera.x + this.offset) * -.8, 0), 
  this.cloud.cameraOffset.x = this.cloud.xx - .2 * this.game.camera.x, 
  this.cloud.xx -= .2, this.cloud2.cameraOffset.x = this.cloud2.xx - .2 * 
  this.game.camera.x, this.cloud2.xx -= .2, this.cloud3.cameraOffset.x = 
  this.cloud2.xx - .2 * this.game.camera.x, this.cloud3.xx -= .2, 
  this.cloud.xx < -200 && (this.cloud.xx = 1500), this.cloud2.xx < -200 && (
  this.cloud2.xx = 1500), this.cloud3.xx < -200 && (this.cloud3.xx = 1500)
}, Background.prototype.destroyBg = function() {
 this.sky.destroy(), this.grass_2.destroy(), this.grass_1.destroy(), 
  this.grass_0.destroy(), this.destroy()
}, Background.prototype.rescale = function() {
 this.y_margin = game.height - 525, this.sky.scale.y = (this.y_margin + 251) / 251, 
  this.grass_2.cameraOffset.y = this.y_margin + 200, this.grass_1.cameraOffset.y = 
  this.y_margin + 240, this.grass_0.cameraOffset.y = this.y_margin + 310
};
var Tutorial = function() {
 Phaser.Group.call(this, game), this.y = 150, this.bg = 
  game.add.image(-100, 125, "ssheet", "tut_bg"), this.bg.anchor.setTo(0, .5), 
  this.addChild(this.bg), this.game.add.tween(this).from({
  x: -750
 }, 1500, Phaser.Easing.Elastic.InOut, !0, 0), game.time.events.add(300, function() {
  SaveLoad.SFX && game.sfx.whoosh.play()
 }, this), this.current_page = 0, this.page_1 = game.add.group(), 
  this.addChild(this.page_1), 
  this.title = game.add.image(210, 20, "ssheet", "tut_title"), 
  this.title.anchor.setTo(.5, 0), this.page_1.addChild(this.title), 
  this.shape_w = game.add.image(210, 125, "ssheet", "tut_shape_w"), 
  this.shape_w.anchor.setTo(.5, .5), this.page_1.addChild(this.shape_w), 
  this.shape_bottom = game.add.image(210, 125, "ssheet", "tut_shape_bottom"), 
  this.shape_bottom.anchor.setTo(.5, .5), this.shape_bottom.visible = !1, 
  this.page_1.addChild(this.shape_bottom), 
  this.shape_top = game.add.image(210, 125, "ssheet", "tut_shape_top"), 
  this.shape_top.anchor.setTo(.5, .5), this.shape_top.visible = !1, 
  this.page_1.addChild(this.shape_top), 
  this.slice = game.add.image(100, 160, "ssheet", "tut_slice"), 
  this.slice.anchor.setTo(0, .5), this.slice.width = 0, 
  this.slice.rotation = -.12435499454676144, this.page_1.addChild(this.slice), 
  this.click_dot = game.add.image(100, 160, "ssheet", "tut_click_dot"), 
  this.click_dot.scale.setTo(1.2, 1.2), this.click_dot.alpha = 0, 
  this.click_dot.anchor.setTo(.5, .5), this.page_1.addChild(this.click_dot), 
  this.hand = game.add.image(100, 160, "ssheet", "tut_hand"), 
  this.page_1.addChild(this.hand), 
  this.page_2 = game.add.image(210, 20, "ssheet", "tut_page2"), 
  this.page_2.alpha = 0, this.page_2.anchor.setTo(.5, 0), 
  this.addChild(this.page_2), game.time.events.add(2e3, function() {
  this.resetAnimation()
 }, this), console.log("TUTORIAL"), console.log(this)
};
Tutorial.prototype = Object.create(Phaser.Group.prototype), 
Tutorial.prototype.constructor = Tutorial, Tutorial.prototype.update = function() {
 this.y = .28 * game.height
}, Tutorial.prototype.resetAnimation = function() {
 this.shape_top.visible = !1, this.shape_top.y = 125, 
  this.shape_bottom.y = 125, this.shape_bottom.visible = !1, 
  this.shape_w.visible = !0, this.hand.x = 100, this.hand.y = 160, 
  this.slice.width = 0, game.add.tween(this.hand).to({
  x: 300,
  y: 135
 }, 2e3, Phaser.Easing.Sinusoidal.InOut, !0, 0), game.add.tween(
  this.click_dot.scale).to({
  x: .5,
  y: .5
 }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 0), game.add.tween(
  this.click_dot).to({
  alpha: .5
 }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 0), game.add.tween(
  this.click_dot).to({
  x: 300,
  y: 135
 }, 2e3, Phaser.Easing.Sinusoidal.InOut, !0, 0), 
  SaveLoad.SFX && game.sfx.click.play(), game.add.tween(this.slice).to({
  width: 202
 }, 2e3, Phaser.Easing.Sinusoidal.InOut, !0, 0), game.add.tween(this.slice).to({
  alpha: 0
 }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 2500), 
  game.time.events.add(2500, function() {
  SaveLoad.SFX && game.sfx.label_pop.play(), 
    this.shape_top.visible = !0, this.shape_bottom.visible = !0, 
    this.shape_w.visible = !1, game.add.tween(this.click_dot.scale).to({
   x: 1.2,
   y: 1.2
  }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 0), 
    game.add.tween(this.click_dot).to({
   alpha: 0
  }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 0)
 }, this), game.add.tween(this.shape_bottom).to({
  y: 140
 }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 2500), game.add.tween(this.shape_top).to({
  y: 110
 }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 2500), game.add.tween(this.page_2).to({
  alpha: 1
 }, 500, Phaser.Easing.Sinusoidal.InOut, !0, 4500), game.add.tween(this.page_1).to({
  alpha: 0
 }, 500, Phaser.Easing.Sinusoidal.InOut, !0, 4200), game.add.tween(this).to({
  x: 750
 }, 1500, Phaser.Easing.Elastic.InOut, !0, 8500), game.time.events.add(8800, function() {
  SaveLoad.SFX && game.sfx.whoosh.play()
 }, this)
};
var CategoryButton = function(t, e, s, a, i, h) {
 function o() {
  this.unlocked && (SaveLoad.SFX && game.sfx.click.play(), 
    game.add.tween(this.scale).to({
   x: 1.3,
   y: 1.3
  }, 200, Phaser.Easing.Sinusoidal.InOut, !0, 0, 0, !0), 
    game.current_category = this.category, game.add.tween(game.camera).to({
   x: 840
  }, 1e3, Phaser.Easing.Sinusoidal.InOut, !0))
 }
 Phaser.Button.call(this, game, t, e, ""), this.onInputDown.add(o, this, 1), 
  this.anchor.setTo(.5, .5), this.category = s, 
  this.fill = new Phaser.Image(game, 0, 0, null), 
  this.fill.anchor.setTo(.5, .5), this.addChild(this.fill), 
  this.unlocked = !1, SaveLoad.all_stars < a ? (this.fill.loadTexture("ssheet", i), 
  this.reqStar = new Phaser.BitmapText(game, -115, 20, "font_digits", a.toString(), 25), 
  this.reqStar.anchor.setTo(1, 0), this.underline = new Phaser.Image(game, .5 * (
  this.reqStar.width + 47 + 153) - 165, 15, "ssheet", "to_unlock"), 
  this.star_ico = new Phaser.Image(game, 
  this.underline.x + 28, 17, "ssheet", "small_star"), this.star_ico.anchor.setTo(1, 0), 
  this.reqStar.x = this.star_ico.x - 38, this.addChild(this.underline), 
  this.addChild(this.reqStar), this.addChild(this.star_ico)) : (this.unlocked = !0, 
  this.fill.loadTexture("ssheet", h), maxStars = 54, 
  this.stars = new Phaser.BitmapText(game, 18, 20, "font_digits", SaveLoad.star[s] + "/" + 
  mxStars, 25), this.stars.anchor.setTo(1, 0), this.stars.x = this.stars.width - .5 * (
  this.stars.width + 47) + 5, this.star_ico = new Phaser.Image(game, 
  this.stars.x - 5, 17, "ssheet", "small_star"), this.addChild(this.stars), 
  this.addChild(this.star_ico))
};
CategoryButton.prototype = Object.create(Phaser.Button.prototype), 
CategoryButton.prototype.constructor = CategoryButton;
var TurnDevice = function() {
 Phaser.Group.call(this, game), this.fixedToCamera = !0, this.bg = 
  game.add.graphics(0, 0), this.bg.beginFill("#000000", 1), 
  this.bg.drawRect(0, 0, 420, 1500), this.bg.endFill(), this.add(this.bg), 
  this.please_turn = game.add.image(210, .5 * game.height, "ssheet", 
  "turn_device"), this.please_turn.anchor.setTo(.5, .5), this.please_turn.scale.setTo(2, 2), 
  this.add(this.please_turn)
};

源码

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

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

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

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

相关文章

c++的三大特性之关于继承

目录 继承的概念及定义 基类和派生类对象赋值转换 继承中的作用域 派生类的默认成员函数 继承与友元&#xff0c;静态成员 继承的概念及定义 概念&#xff1a; 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类…

【计算机毕业设计】SSM二手交易网站

项目介绍 该项目分为前后台&#xff0c;前台普通用户角色&#xff0c;后台管理员角色。 管理员主要功能如下&#xff1a; 登陆,商品分类管理,商品管理,商品订单管理,用户管理等功能。 用户角色主要功能如下&#xff1a; 包含以下功能&#xff1a;查看所有商品,用户登陆注册…

ctfshow——PHP特性

文章目录 web 89web 90web 91web 92web 93web 94web 95web 96web 97web 98web 99 web 89 使用人工分配 ID 键的数值型数组绕过preg_match. 两个函数&#xff1a; preg_match()&#xff1a;执行正则表达式&#xff0c;进行字符串过滤。preg_match函数用法&#xff0c;正则表达式…

springboot漫画网站源码和论文

随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&#xf…

2024美赛数学建模常用数学建模模型之——层次分析法

一、层次分析法的基本原理与步骤 人们在进行社会的、经济的以及科学管理领域问题的系统分析中&#xff0c;面临的常常是 一个由相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。层次 分析法为这类问题的决策和排序提供了一种新的、简洁而实用的建模方法。 …

【C语言】程序练习(四)

大家好&#xff0c;这里是争做图书馆扫地僧的小白。非常感谢各位的支持&#xff0c;也期待着您的关注。 目前博主有着C语言、C、linux以及数据结构的专栏&#xff0c;内容正在逐步的更新。 希望对各位朋友有所帮助同时也期望可以得到各位的支持&#xff0c;有任何问题欢迎私信与…

安卓Android Studio读写FM1208CPU卡源码

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?spma1z10.5-c-s.w4002-21818769070.11.6c46789elLwMzv&id615391857885 <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout x…

STL-string

目录 &#x1f4a1;介绍 &#x1f4a1;string的基本操作 &#x1f4a1;string的构造函数 &#x1f4a1;string赋值操作 &#x1f4a1;string字符串拼接 &#x1f4a1;string的查找和替换 &#x1f4a1;string字符串比较 &#x1f4a1;string字符存取 &#x1f4a1;str…

全志R128硬件设计指南②

PCB设计 叠层设计 R128采用两层板或四层板设计。 2层板设计参考 4层板设计参考 SoC Fanout R128封装采用 8x8mm QFN设计&#xff0c;0.35mm ball pitch&#xff0c;0.17mm ball size&#xff0c;可支持 2 层板方案与 4 层板方案。 两层板 Fanout 建议 尽量保证 SOC 背面 …

C#高级:Lambda表达式分组处理2(WITH ROLLUP关键字)

目录 一、问题引入 二、with rollup查询 三、去掉多余数据 四、拓展 一、问题引入 查询SQL后结果如下&#xff0c;字段分别是用户、项目、批次、工作时间&#xff1a; SELECT UserID,ProjectID,ProBatchesID,WorkHour FROM MAINTABLE GROUP BY HourFiller ,ProjectID ,…

LeetCode 热题 100——42. 接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表…

总结MySQL 的一些知识点:MySQL 排序

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

YOLOv5独家原创改进:一种新颖的自适应空间相关性金字塔注意力 ,实现小目标暴力涨点

💡💡💡本文改进:自适应空间相关性金字塔注意力 ----提取特征图的多尺度空间信息,并且进行空间相关特征重标定,最后选择性地增强有效的特征,最终在YOLOv5进行实现,在小目标检测领域上实现暴力涨点。 收录 YOLOv5原创自研 https://blog.csdn.net/m0_63774211/…

常见网络协议

1.DNS协议 &#xff08;域名系统&#xff09; DNS协议使用的端口号是53 位于OSI模型中的应用层 DNS系统的作用&#xff1a;将域名&#xff08;网址&#xff09;解析为IP地址。 DNS的基本原理是&#xff1a;将域名映射到IP地址 DNS工作流程 当用户给定一个域名&#xff0…

KVM配置桥接

1、KVM桥接作用 &#xff08;1&#xff09;KVM的NAT网络默认是Linux操作系统里面的virtbr0网卡&#xff0c;它充当的就是KVM虚拟机里面的NAT网卡&#xff08;就是192.168.122.0网段的这张网卡&#xff09;。因为KVM采用的NAT网络&#xff0c;所以KVM虚拟机能否上网&#xff0c…

利用ChatGLM3构建Prompt实现Text2SQL

之前使用ChatGLM3的自定义工具实现了查询MySQL数据库&#xff0c;但感觉功能还是比较受限。 https://blog.csdn.net/weixin_44455388/article/details/135270879?spm1001.2014.3001.5501 使用ChatGLM3实现Text2SQL 前言Text2SQL的构建第一阶段&#xff1a;SQL脚本构建&#xf…

JVM:字节码

JVM&#xff1a;字节码 前言1. JVM概述 前言 1. JVM概述 1. JVM vs JDK vs JRE JVM Java 虚拟机&#xff08;JVM&#xff09;是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现&#xff08;Windows&#xff0c;Linux&#xff0c;macOS&#xff09;&#xff0c;目的是…

静态网页设计——个人简介网站

前言 使用经典前端三件套HTMLCSSJavascript编写了一个关于个人简介的静态网页&#xff0c;可以根据自己的需要&#xff0c;十分简单的进行修改。 首页 首页由上方的菜单栏以及菜单栏下面的轮播图组成&#xff0c;再往下走&#xff0c;是关于自己的兴趣爱好的部分&#xff0c…

为什么亚马逊卖家一定要有独立站?新手低成本快速搭建跨境电商独立站完整图文教程

目录 前言&#xff1a;为什么亚马逊卖家一定要有独立站&#xff1f; 为什么不选Shopify建站&#xff1f; 效果展示 一、购买域名 二、购买主机托管 三、搭建网站 前言&#xff1a;为什么亚马逊卖家一定要有独立站&#xff1f; 最近不少卖家朋友来问独立站建站方面的问题…

【Linux系统编程二十六】:线程控制与线程特性(Linux中线程库/线程创建/线程退出/线程等待)

【Linux系统编程二十六】&#xff1a;线程控制与线程特性 一.Linux线程库pthread1.线程控制块2.线程tid3.线程栈 二.线程控制1.线程创建2.线程退出3.线程等待 三.线程的特性1.独立栈2.局部存储3.线程可分离 一.Linux线程库pthread 在Linux中&#xff0c;是没有明确的线程概念的…