Guest User

Untitled

a guest
Dec 10th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.52 KB | None | 0 0
  1. from flask import g
  2. class Ship:
  3.     @staticmethod
  4.     def create_ship(owner,name,x,y,z):
  5.         #See if owner already has a ship
  6.         query = g.db.execute('SELECT ship_id FROM ships WHERE owner=? AND name=?',[owner,name])
  7.         ship = query.fetchone()
  8.         if ship != None:
  9.             return False; #Owner already has ship with the same name, fuck it
  10.         #Create new entry on db for ship
  11.         g.db.execute("INSERT INTO ships (owner,name,x,y,z) VALUES (?,?,?,?,?)",[owner,name,x,y,z])
  12.         g.db.commit()
  13.         #Get id of new ship
  14.         query = g.db.execute('SELECT ship_id FROM ships WHERE name=? AND owner=?',[name,owner])
  15.         ship_id = query.fetchone()[0]
  16.         #We have data for new character, create it.and return it
  17.         return Ship(ship_id)
  18.     location_type = 1
  19.     def __init__(self,ship_id):
  20.         query = g.db.execute('SELECT * FROM ships WHERE ship_id=?',[ship_id])
  21.         ship = query.fetchone()
  22.         self.makeFromRow(ship)
  23.     def makeFromRow(self,row):
  24.         if row == None:
  25.             self.isShip = False
  26.         else:
  27.             self.ship_id = row[0]
  28.             self.location_id = self.ship_id
  29.             self.owner = row[1]
  30.             self.name = row[2]
  31.             self.x = row[3]
  32.             self.y = row[4]
  33.             self.z = row[5]
  34.             self.isShip = True
  35.     def move(self,x,y,z):
  36.         self.x += x
  37.         self.y += y
  38.         self.z += z
  39.         self.saveData()
  40.     def getDisplayName(self):
  41.         from Starlane import Character
  42.         return self.name + " [" + Character(self.owner).name + "]"
  43.     def saveData(self):
  44.         g.db.execute("UPDATE ships SET owner='?', name='?', x=?, y=?, z=? WHERE ship_id = '?'", [self.owner, self.name, self.x, self.y, self.z, self.ship_id])
  45.         g.db.commit()
Add Comment
Please, Sign In to add comment