本文整理汇总了Python中models.History.guess方法的典型用法代码示例。如果您正苦于以下问题:Python History.guess方法的具体用法?Python History.guess怎么用?Python History.guess使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类models.History
的用法示例。
在下文中一共展示了History.guess方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: cancel_game
# 需要导入模块: from models import History [as 别名]
# 或者: from models.History import guess [as 别名]
def cancel_game(self, request):
""" Cancels a game from it's urlsafe key """
game = get_by_urlsafe(request.urlsafe_game_key, Game)
if not game:
raise endpoints.NotFoundException("Game not found")
if not game.game_over and not game.canceled:
game.canceled = True
msg = "Game canceled"
hist = History()
hist.guess = "-1"
hist.message = msg
print hist
game.history.append(hist)
game.put()
return game.to_form(msg)
else:
return game.to_form("You cannot cancel a game that is already over")
示例2: _make_move
# 需要导入模块: from models import History [as 别名]
# 或者: from models.History import guess [as 别名]
def _make_move(self, game, user, at_position, p):
try:
history = History(parent=game.key)
history.user = user.key
history.guess = p.coordinate
history.turn = game.turn
if game.player1_turn:
history.player_turn = 1
else:
history.player_turn = 2
if at_position <= 0:
message = 'Miss!'
history.result = 'miss'
history.put()
game.set_fired(user, p.d)
game.put()
else:
message = "Hit!"
history.result = 'hit'
ships_query = Ship.query(ancestor=game.key)
filter_query = ndb.query.FilterNode('user', '=', user.key)
ships_query1 = ships_query.filter(filter_query)
filter_query = ndb.query.FilterNode('type', '=', at_position)
ships_query2 = ships_query1.filter(filter_query)
ship = ships_query2.get()
if not ship:
filter_query = ndb.query.FilterNode(
'type', '=', str(at_position))
ships_query3 = ships_query1.filter(filter_query)
ship = ships_query3.get()
ship.hits += 1
game.set_fired(user, p.d)
if(ship.is_sank()):
message += " Ship %s sank" % ShipType(at_position)
game.sink_ship(user, at_position)
history.put()
ship.put()
game.put()
except ValueError as e:
raise endpoints.BadRequestException(e)
return game.to_form(message)
示例3: make_guess
# 需要导入模块: from models import History [as 别名]
# 或者: from models.History import guess [as 别名]
def make_guess(self, request):
""" Guess a letter for the word to guess in a game.
A letter can only be guessed once.
Returns a game form with a list of characters that have been guessed and a list with letters in the correct
place for the word.
"""
game = get_by_urlsafe(request.urlsafe_game_key, Game);
if not game:
raise endpoints.NotFoundException("Game not found!")
if game.game_over:
return game.to_form("Game is already over!")
if request.guess not in string.ascii_letters:
raise endpoints.BadRequestException("Guess must be a letter!")
if len(request.guess) > 1:
raise endpoints.BadRequestException("You can only guess a single letter!")
if string.upper(request.guess) in game.guesses:
raise endpoints.BadRequestException("You cannot guess the same letter twice!")
game.guesses.append(string.upper(request.guess))
hist = History()
hist.guess = string.upper(request.guess)
if string.upper(request.guess) in string.upper(game.word_to_guess):
msg = "Good Guess!"
index = string.find(string.upper(game.word_to_guess), string.upper(request.guess))
while index is not -1:
game.correct_guesses[index] = string.upper(request.guess)
index = string.find(string.upper(game.word_to_guess), string.upper(request.guess), index + 1)
if "".join(game.correct_guesses) == string.upper(game.word_to_guess):
user = game.user.get()
user.games_won += 1
user.win_percentage = (user.games_won / user.games_won + user.games_lost) * 100
user.put()
msg = "Game Won!"
hist.message = msg
game.history.append(hist)
game.put()
game.end_game(True)
return game.to_form(msg)
else:
msg = "Try Again!"
game.attempts_remaining -= 1
if game.attempts_remaining < 1:
game.end_game(False)
user = game.user.get()
if user is not None:
user.games_lost += 1
user.win_percentage = user.games_won / user.games_won + user.games_lost
user.put()
msg = "Game Over"
else:
return game.to_form("Could not find User associated with game.")
hist.message = msg
game.history.append(hist)
game.put()
return game.to_form(msg)