js实现斗地主纸牌扑克小游戏代码
代码语言:html
所属分类:游戏
代码描述:js实现斗地主纸牌扑克小游戏代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>开心斗地主 </title> <style> body { padding: 0; margin: 0; height: 100%; background-color: #eee; font-size: 12px; -webkit-touch-callout: none; -webkit-user-select: none; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-text-size-adjust: none; } #main { margin: 0 auto; width: 1008px; } #textContainer { margin: 0 auto; font: 24px arial, verdana; font-weight: bold; color: #333; position: absolute; top: 200px; left: 450px; text-align: center; text-shadow: 0 2px 2px #ccc; } </style> <script type="text/javascript" > var casual = {}; casual.trace = function () { for (var c = [], a = 0; a < arguments.length; a++) c.push(arguments[a]); typeof console != "undefined" && typeof console.log == "function" && console.log(c.join(" ")) }; casual.inherit = function (c, a) { var b = function () { }; b.prototype = a.prototype; c.superClass = a.prototype; c.prototype = new b; c.prototype.constructor = c }; casual.delegate = function (c, a) { var b = a || window; if (arguments.length > 2) { var d = Array.prototype.slice.call(arguments, 2); return function () { var e = Array.prototype.slice.call(arguments); Array.prototype.unshift.apply(e, d); return c.apply(b, e) } } else return function () { return c.apply(b, arguments) } }; casual.copy = function (c, a, b) { if (typeof c !== "object") return c; var d = c.valueOf(); if (c != d) return new c.constructor(d); if (c instanceof c.constructor && c.constructor !== Object) { d = a ? new a : casual.clone(c.constructor.prototype); for (var e in c) if (a || c.hasOwnProperty(e)) d[e] = c[e] } else { d = {}; for (e in c) d[e] = c[e] } if (b) for (e in b) d[e] = b[e]; return d }; casual.clone = function (c) { casual.__cloneFunc.prototype = c; return new casual.__cloneFunc }; casual.__cloneFunc = function () { }; (function () { var c = function (a, b, d, e, f, g) { this.a = a != undefined ? a : 1; this.b = b != undefined ? b : 0; this.c = d != undefined ? d : 0; this.d = e != undefined ? e : 1; this.tx = f != undefined ? f : 0; this.ty = g != undefined ? g : 0 }; casual.Matrix = c; c.prototype.concat = function (a) { var b = this.a, d = this.c, e = this.tx; this.a = b * a.a + this.b * a.c; this.b = b * a.b + this.b * a.d; this.c = d * a.a + this.d * a.c; this.d = d * a.b + this.d * a.d; this.tx = e * a.a + this.ty * a.c + a.tx; this.ty = e * a.b + this.ty * a.d + a.ty }; c.prototype.concatTransform = function (a, b, d, e, f, g, h) { var i = 1, j = 0; if (f % 360) { f = f * Math.PI / 180; i = Math.cos(f); j = Math.sin(f) } if (g != 0) this.tx -= g; if (h != 0) this.ty -= h; this.concat(new c(i * d, j * d, -j * e, i * e, a, b)) }; c.prototype.rotate = function (a) { var b = Math.cos(a); a = Math.sin(a); var d = this.a, e = this.c, f = this.tx; this.a = d * b - this.b * a; this.b = d * a + this.b * b; this.c = e * b - this.d * a; this.d = e * a + this.d * b; this.tx = f * b - this.ty * a; this.ty = f * a + this.ty * b }; c.prototype.scale = function (a, b) { this.a *= a; this.d *= b; this.tx *= a; this.ty *= b }; c.prototype.translate = function (a, b) { this.tx += a; this.ty += b }; c.prototype.identity = function () { this.a = this.d = 1; this.b = this.c = this.tx = this.ty = 0 }; c.prototype.invert = function () { var a = this.a, b = this.b, d = this.c, e = this.d, f = this.tx, g = a * e - b * d; this.a = e / g; this.b = -b / g; this.c = -d / g; this.d = a / g; this.tx = (d * this.ty - e * f) / g; this.ty = -(a * this.ty - b * f) / g }; c.prototype.clone = function () { return new c(this.a, this.b, this.c, this.d, this.tx, this.ty) }; c.prototype.toString = function () { return "(a=" + this.a + ", b=" + this.b + ", c=" + this.c + ", d=" + this.d + ", tx=" + this.tx + ", ty=" + this.ty + ")" } })(); (function () { var c = function (a, b, d, e) { this.x = a != undefined ? a : 0; this.y = b != undefined ? b : 0; this.width = d != undefined ? d : 0; this.height = e != undefined ? e : 0 }; casual.Rectangle = c; c.prototype.intersects = function (a) { return this.x <= a.x + a.width && a.x <= this.x + this.width && this.y <= a.y + a.height && a.y <= this.y + this.height }; c.prototype.intersection = function (a) { var b = Math.max(this.x, a.x), d = Math.min(this.x + this.width, a.x + a.width); if (b <= d) { var e = Math.max(this.y, a.y); a = Math.min(this.y + this.height, a.y + a.height); if (e <= a) return new c(b, e, d - b, a - e) } return null }; c.prototype.containsPoint = function (a, b) { return this.x <= a && a <= this.x + this.width && this.y <= b && b <= this.y + this.height }; c.prototype.clone = function () { return new c(this.x, this.y, this.width, this.height) }; c.prototype.toString = function () { return "(x=" + this.x + ", y=" + this.y + ", width=" + this.width + ", height=" + this.height + ")" } })(); (function () { var c = { _counter: 0 }; casual.NameUtil = c; c.getUID = function () { return c._counter++ }; c.createUniqueName = function (a) { var b = a.charCodeAt(a.length - 1); if (b >= 48 && b <= 57) a += "_"; return a + c.getUID() }; c.displayObjectToString = function (a) { var b; for (a = a; a != null; a = a.parent) { var d = a.id != null ? a.id : a.name; b = b == null ? d : d + "." + b; if (a == a.parent || a.parent instanceof Stage) break } return b } })(); (function () { var c = function (a, b, d) { this.type = a; this.params = this.currentTarget = this.target = null; this.bubbles = b != undefined ? b : false; this.cancelable = d != undefined ? d : false }; casual.EventBase = c; c.prototype.stopPropagation = function () { }; c.prototype.preventDefault = function () { }; c.prototype.clone = function () { return casual.copy(this) }; c.prototype.dispose = function () { delete this.type; delete this.target; delete this.currentTarget; delete this.params }; c.prototype.toString = function () { return "[EventBase type=" + this.type + "]" } })(); (function () { var c = function (a, b, d) { casual.EventBase.call(this, a, b, d); this.mouseY = this.mouseX = 0 }; casual.inherit(c, casual.EventBase); casual.StageEvent = c; c.ENTER_FRAME = "enterframe"; c.MOUSE_DOWN = "mousedown"; c.MOUSE_UP = "mouseup"; c.MOUSE_MOVE = "mousemove"; c.MOUSE_OVER = "mouseover"; c.MOUSE_OUT = "mouseout"; c.supportTouch = function () { return typeof Touch == "object" }; c.prototype.toString = function () { return "[StageEvent type=" + this.type + ", mouseX=" + this.mouseX + ", mouseY=" + this.mouseY + "]" } })(); (function () { var c = function () { }; casual.EventManager = c; c._maps = {}; c._sources = {}; c._listeners = {}; c._counter = 1; c.addEventListener = function (a, b, d) { var e = c._maps[b]; if (e == undefined) e = c._maps[b] = {}; var f = c._sources[a]; if (f == undefined) f = c._sources[a] = c._counter++; if (e[f] == undefined) e[f] = {}; e = e[f]; a = c._listeners[d]; if (a == undefined) a = c._listeners[d] = c._counter++; if (!(a in e)) { e = e[a] = {}; e.type = b; e.src = f; e.listener = d; return true } return false }; c.removeEventListener = function (a, b, d) { var e = c._maps[b]; if (e == undefined) return false; var f = c._sources[a]; if (f == undefined) return false; e = e[f]; if (e == undefined) return false; var g = true, h; for (h in e) if (c._listeners[d] == h) { delete c._listeners[d]; delete e[h] } else g = false; if (g) { delete c._maps[b][f]; delete c._sources[a] } return true }; c.removeEventListenerByType = function (a, b) { var d = c._maps[b]; if (d == undefined) return false; var e = c._sources[a]; if (e == undefined) return false; d != undefined && delete d[e]; e = true; for (var f in d) { e = false; break } e && delete c._maps[b]; return true }; c.removeAllEventListeners = function (a) { if (c._sources[a] == undefined) return false; for (var b in c._maps) { var d = c._maps[b]; d[scrid] != undefined && delete d[scrid] } delete c._sources[a] }; c.dispatchEvent = function (a, b) { var d = c._maps[b.type]; if (d == undefined) return false; var e = c._sources[a]; if (e == undefined) return false; d = d[e]; if (d == undefined) return false; if (!b.target) b.target = a; for (var f in d) { e = d[f].listener; typeof e == "function" && e.call(a, b) } return true }; c.hasEventListener = function (a, b) { var d = c._maps[b]; if (d == undefined) return false; var e = c._sources[a]; if (e == undefined) return false; return d[e] != undefined } })(); (function () { var c = function () { }; casual.EventDispatcher = c; c.prototype.addEventListener = function (a, b) { casual.EventManager.addEventListener(this, a, b) }; c.prototype.removeEventListener = function (a, b) { casual.EventManager.removeEventListener(this, a, b) }; c.prototype.removeEventListenerByType = function (a) { casual.EventManager.removeEventListenerByType(this, a) }; c.prototype.removeAllEventListeners = function () { casual.EventManager.removeAllEventListeners(this) }; c.prototype.dispatchEvent = function (a) { casual.EventManager.dispatchEvent(this, a) }; c.prototype.hasEventListener = function (a) { return casual.EventManager.hasEventListener(this, a) } })(); (function () { var c = function () { casual.EventDispatcher.call(this); this.name = NameUtil.createUniqueName("DisplayObject"); this.id = null; this.height = this.width = this.y = this.x = 0; this.scaleY = this.scaleX = this.alpha = 1; this.regY = this.regX = this.rotation = 0; this.mouseEnabled = this.visible = true; this.useHandCursor = false; this.stage = this.parent = null }; casual.inherit(c, casual.EventDispatcher); casual.DisplayObject = c; var a = document.createElement("canvas"); a.width = a.height = 1; c.__hitTestContext = a.getContext("2d"); c.__hitTestTolerance = 100; c.prototype.getCurrentWidth = function () { return Math.abs(this.width * this.scaleX) }; c.prototype.getCurrentHeight = function () { return Math.abs(this.height * this.scaleY) }; c.prototype.getStage = function () { if (this.stage) return this.stage; for (var b = this; b.parent;) b = b.parent; if (b instanceof casual.Stage) return this.stage = b; return null }; c.prototype.localToGlobal = function (b, d) { var e = this.getConcatenatedMatrix(); if (e == null) return { x: 0, y: 0 }; var f = new casual.Matrix(1, 0, 0, 1, b, d); f.concat(e); return { x: f.tx, y: f.ty } }; c.prototype.globalToLocal = function (b, d) { var e = this.getConcatenatedMatrix(); if (e == null) return { x: 0, y: 0 }; e.invert(); var f = new casual.Matrix(1, 0, 0, 1, b, d); f.concat(e); return { x: f.tx, y: f.ty } }; c.prototype.localToTarget = function (b, d, e) { b = this.localToGlobal(b, d); return e.globalToLocal(b.x, b.y) }; c.prototype.getConcatenatedMatrix = function () { for (var b = new casual.Matrix, d = this; d != null; d = d.parent) { b.concatTransform(d.x, d.y, d.scaleX, d.scaleY, d.rotation, d.regX, d.regY); if (d instanceof casual.Stage) break } return b }; c.prototype._transform = function (b, d) { if (d) { var e = this.localToGlobal(0, 0); if (e.x != 0 || e.y != 0) b.translate(e.x, e.y) } else b.translate(this.x, this.y); this.rotation % 360 > 0 && b.rotate(this.rotation % 360 / 180 * Math.PI); if (this.scaleX != 1 || this.scaleY != 1) b.scale(this.scaleX, this.scaleY); d || b.translate(-this.regX, -this.regY); b.globalAlpha *= this.alpha }; c.prototype._render = function (b, d, e) { if (!(!this.visible || this.alpha <= 0)) { b.save(); d || this._transform(b, e); this.render(b); b.restore() } }; c.prototype.render = function () { }; c.prototype.hitTestPoint = function (b, d, e, f) { if (!e) { f = this.globalToLocal(b, d); return f.x >= 0 && f.x <= this.getCurrentWidth() && f.y >= 0 && f.y <= this.getCurrentHeight() } e = c.__hitTestContext; e.setTransform(1, 0, 0, 1, -b, -d); this._render(e, false, true); f = f || c.__hitTestTolerance; b = false; try { if (e.getImageData(0, 0, 1, 1).data[3] >= f) b = true } catch (g) { trace("hitTestPoint:", this, g) } e.canvas.width = 0; e.canvas.width = 1; return b }; c.prototype.hitTestObject = function (b, d, e) { var f = this.getRect(this.getStage()), g = b.getRect(this.getStage()); if (!d) return f.intersects(g); f = f.intersection(g); e = e || c.__hitTestTolerance; if (f && f.width > 0 && f.height > 0) { d = false; try { var h = c.__hitTestContext; h.canvas.width = f.width; h.canvas.height = f.height; h.setTransform(1, 0, 0, 1, -f.x, -f.y); this._render(h, false, true); var i = h.getImageData(0, 0, f.width, f.height).data; h.canvas.width = 0; h.canvas.width = f.width; h.setTransform(1, 0, 0, 1, -f.x, -f.y); b._render(h, false, true); var j = h.getImageData(0, 0, f.width, f.height).data; for (b = 0; b < i.length;) { if ((i[b] > 0 || i[b + 1] > 0 || i[b + 2] > 0 || i[b + 3] >= e) && (j[b] > 0 || j[b + 1] > 0 || j[b + 2] > 0 || j[b + 3] >= e)) { d = true; break } b += 4 } } catch (k) { } h.canvas.width = 0; h.canvas.width = h.canvas.height = 1; return d } return false }; c.prototype.getRect = function (b) { b = this.localToTarget(0, 0, b); return new Rectangle(b.x, b.y, this.getCurrentWidth(), this.getCurrentHeight()) }; c.prototype.onMouseEvent = null; c.prototype.toString = function () { return NameUtil.displayObjectToString(this) } })(); (function () { var c = function () { casual.DisplayObject.call(this); this.children = []; this.mouseChildren = true }; casual.inherit(c, casual.DisplayObject); casual.DisplayObjectContainer = c; c.prototype.addChild = function (a) { if (this.getChildIndex(a) != -1) { a.parent = this; return a } a.parent && a.parent.removeChild(a); this.children[this.children.length] = a; a.parent = this; return a }; c.prototype.addChildAt = function (a, b) { if (this.getChildIndex(a) != -1) { a.parent = this; return a } a.parent && a.parent.removeChild(a); this.children.splice(b, 0, a); a.parent = thi.........完整代码请登录后点击上方下载按钮下载查看
网友评论0