This commit is contained in:
h8art 2019-06-23 16:39:10 +03:00
parent 49707200f4
commit 967c89c2f2
4 changed files with 108 additions and 19 deletions

1
index.html Normal file
View File

@ -0,0 +1 @@
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=/favicon.ico><link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.2/animate.min.css><title>game</title><link href=/css/app.be4ca99e.css rel=preload as=style><link href=/js/app.eb976afe.js rel=preload as=script><link href=/js/chunk-vendors.6f8ae286.js rel=preload as=script><link href=/css/app.be4ca99e.css rel=stylesheet></head><body><noscript><strong>We're sorry but game doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/js/chunk-vendors.6f8ae286.js></script><script src=/js/app.eb976afe.js></script></body></html>

BIN
output/index.html Normal file

Binary file not shown.

11
sires.json Normal file
View File

@ -0,0 +1,11 @@
{
"kty": "RSA",
"n": "wtpgu9VWUFAoFaPA45SXYeqKbzsNUGh6dMIxicWnXVBpH1urI9YpJRlIBIRjy3cNrBavDbFcuoyL00i-3qhHtMW2I4VcY4ja2JkMy0fAe4OfkSp3yHcNnw-vPmc5Z9yrSRWWecdssquX3_-z31Z0wyp1sOYku4E4zeJB2mH5njgaaqQBqKe6aGMN8aQyuPEWUdVlim5wamtp_tK9GcSev0HhEj5MXSNgL7rTHj0I0_i0jX5lt4GkRwq4gry8veM--cqCYlbEsZPsa-MpxSSQo2-r5YI1hHCZpGO0Hs65F0Q0NXhsTCSwBsdFthYq8nMF2s4AiYVZhpJIWkKuOUPDbDxCIzyMoSE7Esja4rd-88lFxedeBbX_fH550xgaaIwvWuuRr1Ofp9E637Aij2h_IVU2ij9ZUQRjn6lW0bwUdHFsaTziKrNXeHTJlArlc7tXnHQTBj45Zu0DdesWtrVGnGtRqdDaPDhcbcel_E7vOakWENCnjI1UUxLqLEztuwOtx-yXIyOrQC9wtOI7QUBDx_hEIhc3ul3b_74wJfhlCOanU5q8Sl5S9RvkaN0sHMXc5SYgLqgso61BJ-eY2CvQiYEzy2gHtqzFzyy-RA1Lx65k6tHMkXiikLdmNB7Xpn9m8nk5s2Ecl7L0zhNm4e9orUGU1vLPixyDiypDq3qwGOU",
"e": "AQAB",
"d": "HabHs626Tcx03R4nOzqgcskTOev9ka_keqIWkcWfO2cCKEB14aU0a63WNMHEwfCjBv4Is4e6-bRrjsJyMUXga5Tuq6cesRLhYrafqMuJcgJMpPWWds4PJ5Zmb5Obu79r3VpIpM2BMAtGuFKcF697Yzux3zKWgmYes83rgYUJTFdzRakhi33CsyHnvE7lXRlq8RcNNayqtLcV0S5WknZGRgqLapBKZJ3-hCTk_aQCFOey6hlC91LmId1yyIpaGndbXP3BK5_SnMdK4fwWniZ7UDOtL-bJqBbOeqKlhU6mAfFiFIT3zfqDQvTOGfBzpqN0T6CrmkHNptnZ4spk4tf6A9l2-6yDGQInj2H_8XLzu9KNsz_nYmvADlYRaN37LA6Jm9ZeKVw0ioSpb4_S7DLGqTNEtuwe4jsIEjC9TOD8IL7uKsXJ3oasqMctH48ThZLs7tgJU6KKBpzUVnwQp5sIgWC4fKyAY3Y6quB8kLFdVfhd-OtPTshZ-6UpShvgAg3fcFiNDnDeD_lDP-XBtmgpCX_aT5LJkiXVnSepYQOEaiRfOfU6_B4DCA-a09DyJu7IjwN5imvxqzhfCF_vz47GvXlImTn5Qmh7gWryot_jBpPYrwIwxqdO6jPLSXan5A0WN6i_eqFddoOhacK-XdGe_WEl3ystT50veJTkzK1Z7sE",
"p": "6go4KVblA09Y0YFnPU-XAoEceFCmxa4BWH7Jim7MScYsF2wWpoW85wXjuwhZgPnq_QqwDOM7r8_Gbje-vWTjWrwUp2owY1upg7W7VNC3m0u0TfcqnE93xtXiFYyAvt2W2PIaBhfoxQrSZCm52OpnAM4MLHzWx75r-suoRqrWd-Z_8AVvXg7hAQPfbHLzJkobIKFJNxt-Lazh9O60N5nhq9QYgEFySJzmBjyCqBFjreIZ27vspTe6MjgT9W96HsvIXMZkqJP-YEGhIK6CZvazkwFY5Kz4c0Ahd0aTOqhpDluKRgMLZ_BH7i3PkgGAEMRO5vSBavJ4Mlb9x2XcJaCrsQ",
"q": "1SLdqbcEjJeet3nW_bW4qkmbtfxlJbK9Zc0QtIHLSwTH2BMEz8HhBugMLHv8AI0yMBP5mEvfvCvOHvmofE-sUoAhje5bRvF6Sd7E6kO-jWJ-zYUIlTdZUjPBdr1Tq4EdXIXF7cvMhEhqJqNFuQppApZhEbe1jK7Gv0eHQStbFwWTMqty4cHT0HhAp6r8jafMftM_oIykhgdAj51FlDHqjZLRb9TvNoNB603q4pQQoK6JKmS4-fHGsppfahwIRk4Irpp2rH7gUu-VM078CLMedHr78ZhtWvogh7p1iZASeMOd0vnI1YQajcUVp7ePnNtGc80rlfgpDfsEOckoOKDxdQ",
"dp": "MfeMlgbfTh2asOAX0pczfm1iTq2pbXsA_ovTK6MMKpQMxdNl4pebBRfUzxGxSkARU4T8oUPCcn7BtrZgGr93at_M6RFa01u2jVA3dpw5FwbKr_qdNlIhGGqBomgk9JsKobbOp45jO-5bjNb7vrwM0bcsEjN1B6A4HYttmejPcTndBrmiVUqH71eMU_MWxo37zLOilglgnw_SDiEIiPZpn-3gbUGLzMTyt1Ij8w4DYhRrwOYWWA_VyPMAD96FDB4l4OjahMNUA-j_JaMcZC83l6Mp_2iOgsymWHjQ5i0egNo6Y0gzHzXFpaxSLLH1TZ8b2WNKXjL2RokcFX5ByibLgQ",
"dq": "anWK4L3A8PS-24hpQbrmLXCs7T7Pyv-3qMTAJll6kNMnex8s1RVTcB6yDfo0CpZ8ThV8I30qmRQMVd6AMO-e9Gp52CoJv6rYWVODajxCTt621bMwcU__NpcReFzjERRh9RgAoGGemyiMlRYSunWftCInBDGN5mJadaqlvYCJdDtdpf6LWIZ3ZXbbXKSEl8EL3QFpk6kMeMHglpuI6JfyP5rpMAHdJo5ze7Qksd4hXBEyBFHhLz977zQ6moa7_1n07jnLMygApoxzKvi13SaS_L19YNSxMrMjUohpMzgaceXLzFjl3vioRs39nhOLEV9ZlngR4EvfPdN27eIzS-3gDQ",
"qi": "f0Ma7C56ZNagwbKh4PUAbJvoackWEgd6SGgPENFw_lvo41i6ApAkoj_-wGlG0rdOHmtM1FziSJb3LCv1jpJe_AZQtGW73tPo0ppZURMSsuqXnJjFnpbcITXqPUGDURwMDy_6Dj3bpzpwE1cO8A15S1Xpbd7HxmS-hCLADxPaRMmfkbs7saFOw5nz67V7c4z6I52Lb1361QR0BBO3gPBtUhimblNO-0QJf9Fn8gPMy9mxe8B8tGW35CVCnJdjTKknPp_S1z0Hr5sPd3Zb5V22u38UcpshPYOhgt6V2iUfRSq15xKEWeHy8w-KMtVSnJM-V8hBAYTVayBARQpT436ccA"
}

View File

@ -44,6 +44,7 @@
img(v-if='items&&items[4]' :src='"/weapeon_"+items[4][1]+".png"') img(v-if='items&&items[4]' :src='"/weapeon_"+items[4][1]+".png"')
.money Cash {{money}}$ .money Cash {{money}}$
.game(@click='shoot') .game(@click='shoot')
.playerFriend(v-for='p in players' :style='{ "left": p.left + "px", "top": p.top + "px", "transform": "rotate("+p.rotate+"deg)" }')
.player#player(:style='{"left": left + "px", "top": top + "px", "transform": rotate}') .player#player(:style='{"left": left + "px", "top": top + "px", "transform": rotate}')
.enemy(v-for='e in enemies' :style='{ "left": e.left + "px", "top": e.top + "px" }') .enemy(v-for='e in enemies' :style='{ "left": e.left + "px", "top": e.top + "px" }')
.hp .hp
@ -73,7 +74,8 @@ export default {
bullets: [], bullets: [],
level: 1, level: 1,
items: [], items: [],
orders: [] orders: [],
players: []
} }
}, },
// >>>CREATE TABLE weapeons(id int, type int, level int, userId int) // >>>CREATE TABLE weapeons(id int, type int, level int, userId int)
@ -81,17 +83,73 @@ export default {
// >>>CREATE TABLE orders(id int, price int, type int, userId int) // >>>CREATE TABLE orders(id int, price int, type int, userId int)
// table created // table created
//CREATE TABLE enemies(id int, hp int, posX int, posY int)
methods: { methods: {
getEnemies: function() {
window.session.request(`SELECT * FROM enemies`).result().then((r)=>{
var val = r.asString().split("\n").map(i => i.split(", "))
val.splice(0, 1)
console.log(r)
this.enemies = []
if(val.length <= 1){
let id = randomInteger(500, 2000000)
let x = Math.floor(randomInteger(50, window.innerWidth - 50))
let y = Math.floor(randomInteger(50, window.innerHeight - 50))
window.session.request(`INSERT INTO enemies VALUES(${id}, 100, ${x}, ${y})`).result().then((r) => {
this.enemies.push({
left: x,
top: y,
hp: 100,
id
})
})
}else{
val.forEach(v=>{
if(v){
this.enemies.push({
left: v[2],
top: v[3],
hp: v[1],
id: v[0]
})
}
})
}
setTimeout(()=>this.getEnemies(), 1000)
})
},
getPlayers: function() {
window.session.request(`SELECT * FROM players`).result().then((r)=>{
console.log(r.asString())
var val = r.asString().split("\n").map(i => i.split(", "))
val.splice(0, 1)
this.players = []
console.log(val)
val.forEach(v=>{
console.log(v)
if(v&&v[0]!==window.localStorage.getItem("game")){
this.players.push({
left: v[1],
top: v[2],
angle: v[3]
})
}
})
setTimeout(()=>this.getPlayers(), 500)
})
},
openMarket: function() { openMarket: function() {
this.marketModal = true
window.session.request(`SELECT * FROM orders`).result().then((r) => { window.session.request(`SELECT * FROM orders`).result().then((r) => {
var val = r.asString().split("\n").map(i => i.split(", ")) var val = r.asString().split("\n").map(i => i.split(", "))
val.splice(0, 1) val.splice(0, 1)
this.orders = val this.orders = val
this.marketModal = true
}) })
}, },
buyItem: function(o){ buyItem: function(o){
window.session.request(`INSERT INTO weapeons VALUES(${randomInteger(500, 2000000)}, ${o[2]}, 0, ${window.localStorage.getItem("game")})`).result() window.session.request(`INSERT INTO weapeons VALUES(${randomInteger(500, 2000000)}, ${o[2]}, 0, ${window.localStorage.getItem("game")})`)
window.session.request(`SELECT * FROM users`).result().then((r) => { window.session.request(`SELECT * FROM users`).result().then((r) => {
var val = r.asString().split("\n").map(i => i.split(", ")) var val = r.asString().split("\n").map(i => i.split(", "))
@ -108,19 +166,17 @@ export default {
this.money = parseInt(r.asString().split("\n")[1] ) this.money = parseInt(r.asString().split("\n")[1] )
}) })
window.session.request(`SELECT * FROM weapeons WHERE userId = ${window.localStorage.getItem("game")}`).result().then((r) => { window.session.request(`SELECT * FROM weapeons WHERE userId = ${window.localStorage.getItem("game")}`).result().then((r) => {
console.log(r.asString().split("\n"))
if(r.asString().split("\n")[1]){ if(r.asString().split("\n")[1]){
var val = r.asString().split("\n").map(i => i.split(", ")) var val = r.asString().split("\n").map(i => i.split(", "))
val.splice(0, 1) val.splice(0, 1)
val.unshift([0,0,0,0]) val.unshift([0,0,0,0])
console.log(val)
this.items = val this.items = val
} }
}) })
}, },
sellItem: function() { sellItem: function() {
let iInd = this.marketSellSelected let iInd = this.marketSellSelected
window.session.request(`INSERT INTO orders VALUES(${randomInteger(500, 2000000)}, ${this.marketSellPrice}, ${this.items[iInd][1]}, ${window.localStorage.getItem("game")})`).result().then((r) => console.log(r.asString())) window.session.request(`INSERT INTO orders VALUES(${randomInteger(500, 2000000)}, ${this.marketSellPrice}, ${this.items[iInd][1]}, ${window.localStorage.getItem("game")})`)
window.session.request(`DELETE FROM weapeons WHERE id = ${this.items[iInd][0]}`) window.session.request(`DELETE FROM weapeons WHERE id = ${this.items[iInd][0]}`)
this.marketSellPrice = null this.marketSellPrice = null
this.marketSellSelected = null this.marketSellSelected = null
@ -132,7 +188,7 @@ export default {
let num = randomInteger(1,4) let num = randomInteger(1,4)
this.show_weapeon = num this.show_weapeon = num
setTimeout(()=>this.show_weapeon = null, 3000) setTimeout(()=>this.show_weapeon = null, 3000)
window.session.request(`INSERT INTO weapeons VALUES(${randomInteger(500, 2000000)}, ${num}, 0, ${window.localStorage.getItem("game")})`).result().then((r) => console.log(r)) window.session.request(`INSERT INTO weapeons VALUES(${randomInteger(500, 2000000)}, ${num}, 0, ${window.localStorage.getItem("game")})`)
this.items.push(num) this.items.push(num)
}else { }else {
alert("Not enough cash. Need 20$") alert("Not enough cash. Need 20$")
@ -160,18 +216,30 @@ export default {
this.bullets.splice(i, 1) this.bullets.splice(i, 1)
if(v.hp - 10 < 0){ if(v.hp - 10 < 0){
this.enemies.splice(j, 1) this.enemies.splice(j, 1)
window.session.request(`DELETE FROM ENEMIES WHERE id = ${v.id}`).result().then(r=>{
console.log('killed')
})
this.money += 10 this.money += 10
window.session.request(`UPDATE users SET cash = ${this.money} WHERE id = ${window.localStorage.getItem("game")}`).result().then((r) => console.log(r.asString())) window.session.request(`UPDATE users SET cash = ${this.money} WHERE id = ${window.localStorage.getItem("game")}`)
this.level = this.level + 1 this.level = this.level>5?5:this.level + 1
for(let l=0; l<this.level; l++){ for(let l=0; l<this.level; l++){
this.enemies.push({ let id = randomInteger(500, 2000000)
left: randomInteger(50, window.innerWidth - 50), let x = Math.floor(randomInteger(50, window.innerWidth - 50))
top: randomInteger(50, window.innerHeight - 50), let y = Math.floor(randomInteger(50, window.innerHeight - 50))
hp: 100 window.session.request(`INSERT INTO enemies VALUES(${id}, 100, ${x}, ${y})`).result().then((r) => {
this.enemies.push({
left: x,
top: y,
hp: 100,
id
})
}) })
} }
}else { }else {
v.hp -= 10 v.hp -= 10
window.session.request(`UPDATE enemies SET hp = ${v.hp - 10} WHERE id = ${v.id}`).result().then((r) => {
console.log('dmg')
})
} }
} }
}) })
@ -210,7 +278,8 @@ export default {
eyes.style.transform = `rotate(${rotationDegrees}deg)` eyes.style.transform = `rotate(${rotationDegrees}deg)`
}); });
addEventListener("keydown", (e) => { addEventListener("keydown", (e) => {
arrow.style.transform = "rotate(" + Math.atan2(event.clientY - arrowY, event.clientX - arrowX) + "rad)"; let pRad = Math.atan2(event.clientY - arrowY, event.clientX - arrowX)
arrow.style.transform = "rotate(" + pRad + "rad)";
if (e.keyCode == '87') { if (e.keyCode == '87') {
// up arrow // up arrow
if(this.top - 50 >= 0) { if(this.top - 50 >= 0) {
@ -235,12 +304,13 @@ export default {
this.left += 50 this.left += 50
} }
} }
//CREATE TABLE players(id int, posX int, posY int, angle int)
window.session.request(`UPDATE players SET angle = ${pRad} WHERE id = ${window.localStorage.getItem("game")}`)
window.session.request(`UPDATE players SET posX = ${this.left} WHERE id = ${window.localStorage.getItem("game")}`)
window.session.request(`UPDATE players SET posY = ${this.top} WHERE id = ${window.localStorage.getItem("game")}`)
}) })
this.enemies.push({ this.getEnemies()
left: randomInteger(50, window.innerWidth - 50), this.getPlayers()
top: randomInteger(50, window.innerHeight - 50),
hp: 100
})
var self = this; var self = this;
setInterval(function(){ setInterval(function(){
self.regenerate(); self.regenerate();
@ -519,6 +589,13 @@ export default {
&-inner &-inner
height: 5px height: 5px
background: green background: green
.playerFriend
width: 40px
height: 40px
position: absolute
background-image: url(/player.png)
background-size: 100% 100%
transition: top .3s, left .3s
.player .player
width: 40px width: 40px
height: 40px height: 40px