diff --git a/index.html b/index.html
new file mode 100644
index 0000000..22c55c8
--- /dev/null
+++ b/index.html
@@ -0,0 +1 @@
+
game
\ No newline at end of file
diff --git a/output/index.html b/output/index.html
new file mode 100644
index 0000000..df4ac84
Binary files /dev/null and b/output/index.html differ
diff --git a/sires.json b/sires.json
new file mode 100644
index 0000000..4ac00e1
--- /dev/null
+++ b/sires.json
@@ -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"
+}
\ No newline at end of file
diff --git a/src/components/Game.vue b/src/components/Game.vue
index 7c43c5d..b3bccbf 100644
--- a/src/components/Game.vue
+++ b/src/components/Game.vue
@@ -44,6 +44,7 @@
img(v-if='items&&items[4]' :src='"/weapeon_"+items[4][1]+".png"')
.money Cash {{money}}$
.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}')
.enemy(v-for='e in enemies' :style='{ "left": e.left + "px", "top": e.top + "px" }')
.hp
@@ -73,7 +74,8 @@ export default {
bullets: [],
level: 1,
items: [],
- orders: []
+ orders: [],
+ players: []
}
},
// >>>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)
// table created
+
+//CREATE TABLE enemies(id int, hp int, posX int, posY int)
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() {
+ this.marketModal = true
window.session.request(`SELECT * FROM orders`).result().then((r) => {
var val = r.asString().split("\n").map(i => i.split(", "))
val.splice(0, 1)
this.orders = val
- this.marketModal = true
})
},
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) => {
var val = r.asString().split("\n").map(i => i.split(", "))
@@ -108,19 +166,17 @@ export default {
this.money = parseInt(r.asString().split("\n")[1] )
})
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]){
var val = r.asString().split("\n").map(i => i.split(", "))
val.splice(0, 1)
val.unshift([0,0,0,0])
- console.log(val)
this.items = val
}
})
},
sellItem: function() {
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]}`)
this.marketSellPrice = null
this.marketSellSelected = null
@@ -132,7 +188,7 @@ export default {
let num = randomInteger(1,4)
this.show_weapeon = num
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)
}else {
alert("Not enough cash. Need 20$")
@@ -160,18 +216,30 @@ export default {
this.bullets.splice(i, 1)
if(v.hp - 10 < 0){
this.enemies.splice(j, 1)
+ window.session.request(`DELETE FROM ENEMIES WHERE id = ${v.id}`).result().then(r=>{
+ console.log('killed')
+ })
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()))
- this.level = this.level + 1
+ window.session.request(`UPDATE users SET cash = ${this.money} WHERE id = ${window.localStorage.getItem("game")}`)
+ this.level = this.level>5?5:this.level + 1
for(let l=0; l {
+ this.enemies.push({
+ left: x,
+ top: y,
+ hp: 100,
+ id
+ })
})
}
}else {
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)`
});
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') {
// up arrow
if(this.top - 50 >= 0) {
@@ -235,12 +304,13 @@ export default {
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({
- left: randomInteger(50, window.innerWidth - 50),
- top: randomInteger(50, window.innerHeight - 50),
- hp: 100
- })
+ this.getEnemies()
+ this.getPlayers()
var self = this;
setInterval(function(){
self.regenerate();
@@ -519,6 +589,13 @@ export default {
&-inner
height: 5px
background: green
+ .playerFriend
+ width: 40px
+ height: 40px
+ position: absolute
+ background-image: url(/player.png)
+ background-size: 100% 100%
+ transition: top .3s, left .3s
.player
width: 40px
height: 40px