亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Python 點擊??游戲中添加每秒硬幣數

在 Python 點擊??游戲中添加每秒硬幣數

森林海 2023-09-19 14:36:25
我對Python很陌生。我正在嘗試構建一款閑置點擊游戲。如果你點擊你會得到一個硬幣。您應該能夠購買“自動點擊器”,這意味著您每秒自動獲得硬幣。我目前的代碼處于 while 循環中,當我寫“EXIT”時該循環結束。我不知道如何在發生其他事情時實現時間并添加汽車硬幣??偠灾合胍獙崿F每秒硬幣數我的代碼:print("Welcome to the game")coins = 1a = 0shop = 0coinsperclick = 1nothing = 999coinspersec = 1def help():    print("'help' für Hilfe", '\n', "Enter für coins", '\n', "'shop' für den Shop")help()a = input()while a != "EXIT":    a = input()    if a == "shop":        print("Number 0:     EXIT Shop      Cost: 0")        print("Number 1:     Clicker +1     Cost: 50")        print("Number 2:     CPS +1         Cost: 100")        shop = eval(input("What do you want to buy?"))        if shop == 0:            nothing = nothing        if shop == 1:            kaufmenge = eval(input("How many do you want to buy?"))            coinsperclick = coinsperclick+kaufmenge            coins = coins-(kaufmenge*50)        if shop == 2:            kaufmenge = eval(input("How many do you want do buy?"))            coinspersec = coinspersec+kaufmenge            coins = coins-(kaufmenge*100)    if a == "help":        help()    if a == "":        coins = coins+coinsperclick        print(coins)        a = 1
查看完整描述

2 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

import time


coins = 0

while True:

     coins += 1

     time.sleep(1)

每秒添加一個


查看完整回答
反對 回復 2023-09-19
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

您可以使用 2 個屬性:1 個用于硬幣計數器,1 個用于每秒硬幣數。每當您使用硬幣屬性時,您都會計算自上次使用硬幣計數器以來您賺取的新硬幣,這有點“假裝”就像硬幣一直在計數一樣,而只是“具體化”了硬幣,無論何時都很重要。


import time


class Game:

  def __init__(self):

    self._coins = 0

    self._last_time = time.time()

    self._cps = 1

  

  @property

  def coins(self):

    self._collect_coins()

    return self._coins


  def _collect_coins(self):

    new_time = time.time()

    self._coins += self._cps * (new_time - self._last_time)

    self._last_time = new_time


  @property

  def coins_per_second(self):

    return self._cps


  @coins_per_second.setter

  def coins_per_second(self, value):

    self._collect_coins()

    self._cps = value

每當您使用新硬幣時,此代碼都會計算它的價值:


>>> g = Game()

>>> g.coins

0

>>> time.sleep(2)

>>> g.coins

2

并且它確保每當游戲coins_per_second發生變化時,無論每秒更改硬幣之前您賺取多少硬幣,您都會從那時開始以新的比率開始賺?。?/p>


>>> g = Game()

>>> time.sleep(1)

>>> g.coins_per_second = 2

>>> time.sleep(1)

>>> g.coins

3

如果您在每秒金幣發生變化時沒有收集金幣,那么您就會以每秒 2 個金幣的變化率錯誤地計算這兩個秒。


查看完整回答
反對 回復 2023-09-19
  • 2 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號