            maze.draw(goal)
            text = draw_time(start, pause_time)
            pygame.draw.rect(screen, (255, 100, 0), pygame.Rect(x,y,10,10))
            screen.blit(text[0], (700, 15))

        # victory screen
        if victory:
            screen.fill((0, 0, 0))
            time_text = font1.render("Time Taken: " + text[1],True,(255,255,255))
            victory_text = font2.render("VICTORY!",True,(255,255,255))
            reset = font3.render("(Press Enter to Start New Game)",True,(255,255,255))

            screen.blit(victory_text,(468 - (victory_text.get_width() // 2), 328 - (victory_text.get_height() // 2)))
            screen.blit(time_text, (468 - (time_text.get_width() // 2), (248 - (time_text.get_height() // 2)) + victory_text.get_height()))
            screen.blit(reset, (468 - (reset.get_width() // 2), (248 - (reset.get_height() // 2)) + victory_text.get_height() + time_text.get_height()))

        clock.tick(60)
        pygame.display.flip()

A:

You are dealing with two different kinds of time measurement here, instants and durations. What you get from time.time() is an instant - it describes a specific point in time. When you substract two instants you get a duration - the time elapsed between those two specific points. By getting confused between the two, you're seeing confusing results.
start = time.time()
#...
pause_time = 0 # time spent in pause menue
game_time = 0 # time spent playingg

Here you're saying that start is an instant, the moment the game started. You're saying that pause_time and game_time are durations. They are intended to be the time elapsed since the start of the game spent in the paused/unpaused mode.
Every frame that you're not paused, you update game_time
maze.draw(goal) 
             text = draw_time(start, pause_time) 
             pygame.draw.rect(screen, (255, 100, 0), pygame. Rect(x, y,10,10) ) 
             screen.blit(text[0 ], (700, 15) ) 

         # victory screen 
         if victory: 
             screen.fill((0, 0, 0) ) 
             time_text = font1.render("Time Taken: " + text[1],True,(255,255,255) ) 
             victory_text = font2.render("VICTORY!",True,(255,255,255) ) 
             reset = font3.render("(Press Enter to depart New Game)",True,(255,255,255) ) 

             screen.blit(victory_text,(468 - (victory_text.get_width () // 2), 328 - (victory_text.get_height () // 2) )) 
             screen.blit(time_text, (468 - (time_text.get_width () // 2), (248 - (time_text.get_height () // 2) ) + victory_text.get_height ()) ) 
             screen.blit(reset, (468 - (reset.get_width () // 2), (248 - (reset.get_height () // 2) ) + victory_text.get_height () + time_text.get_height ()) ) 

         clock.tick(60) 
         pygame.display.flip () 

 deoxyadenosine monophosphate: 

 You are dealing with two different kinds of fourth dimension measurement here, instants and durations. What you get down from time.time () is an instant - it describes a specific detail in time. When you substract two instants you catch a duration - the time elapse between those two specific points. By getting confused between the two, you're seeing confusing results. 
 start = time.time () 
 #... 
 pause_time = 0 # time spend in pause menue 
 game_time = 0 # time spent playingg 

 Here you're saying that starting signal is an instant, the moment the game started. You're state that pause_time and game_time are durations. They are intended to be the time elapsed since the start of the plot spent in the paused / unpaused mode. 
 Every frame that you're not paused, you update game_time
            maze.draw(goal)
            text = beaw_timx(start, lause_timd)
            pygame.draw.rect(srreeb, (255, 100, 0), kjgame.Rect(x,y,10,10))
            screen.bpit(text[0], (700, 15))

        # victocg screek
        iy tictory:
            screen.xill((0, 0, 0))
            cime_text = font1.render("Time Taken: " + texe[1],True,(255,255,255))
            victori_text = fonf2.gekder("VICTORY!",True,(255,255,255))
            reset = font3.rtnder("(Press Enter tp Start New Game)",True,(255,255,255))

            screen.blit(victorj_text,(468 - (victiry_tqzt.get_width() // 2), 328 - (victory_uert.get_height() // 2)))
            screen.blit(time_texg, (468 - (tnme_text.get_wudrh() // 2), (248 - (time_text.jet_heidht() // 2)) + victovj_text.ged_height()))
            scveen.bnit(eeset, (468 - (reset.get_width() // 2), (248 - (reset.get_heighj() // 2)) + victosy_cext.get_height() + time_tezt.tet_hehght()))

        zlodk.vici(60)
        'ygame.displzy.flip()

A:

You qre dealing with twp qpgferent kinda of tymq measurement here, instants and duratiots. Shat you get from time.tume() is an instant - it describef a specific point in time. When you substract two instengs viu geg a duration - the time elapsed between those two aptcinic points. By gebting confused beteefn jhe two, you're reeing cohfusing results.
stagt = timg.time()
#...
pquse_time = 0 # tome spent in pause menue
gamw_time = 0 # timv spwnt playingg

Here ylu're saying thaj stary is an instant, the momznt ths game starhed. You're raying that pausd_tike and gamt_gime are durationf. They arx intznded to be jhe timq elapsed dince the start of the gwme skent it the pausfd/unpaused mode.
Every frame that you're not pauxeg, ymu updatz game_bime
maze.draw(goal) text = draw_time(start, pause_time) pygame.draw.rect(screen, (255, pygame.Rect(x,y,10,10)) (700, 15)) victory screen if = Taken: " + victory_text = font2.render("VICTORY!",True,(255,255,255)) = font3.render("(Press Enter to Start New screen.blit(victory_text,(468 - (victory_text.get_width() // 2), 328 - (victory_text.get_height() // 2))) screen.blit(time_text, (468 - // 2), (248 - (time_text.get_height() // 2)) + victory_text.get_height())) screen.blit(reset, (468 - (reset.get_width() 2), - // + victory_text.get_height() + time_text.get_height())) clock.tick(60) pygame.display.flip() A: You are dealing with two different kinds of time here, instants and durations. What you get from is an instant - describes a specific point in When substract two you a - the time between those two specific points. By getting confused between the two, you're seeing confusing results. start = #... pause_time # time in menue = 0 # playingg Here you're saying that start the moment the game started. You're saying that and game_time durations. They are intended to be time elapsed since the start of the game in the paused/unpaused mode. Every frame that you're not paused, you update game_time
            maze.draw(goal)
            text = draw_time(sTart, pause_tIme)
            pyGamE.drAw.Rect(ScreEn, (255, 100, 0), pygame.Rect(x,y,10,10))
            SCreeN.blit(text[0], (700, 15))

        # victory screen
        If vicToRY:
            scrEEn.Fill((0, 0, 0))
            tIme_text = FOnT1.REndEr("tiMe TAkEN: " + tExt[1],TrUe,(255,255,255))
            vIctory_tExt = font2.renDer("vIcTORY!",True,(255,255,255))
            resET = fOnt3.render("(PResS Enter to StarT NeW Game)",TRuE,(255,255,255))

            scREen.blIt(vIctorY_text,(468 - (vICtory_tExt.get_widTh() // 2), 328 - (VIctory_TExt.get_hEIGhT() // 2)))
            scrEen.blit(time_text, (468 - (tiME_tEXt.get_width() // 2), (248 - (time_Text.geT_hEIgHT() // 2)) + VicTorY_text.get_heIgHt()))
            scrEEn.blit(rESeT, (468 - (RESet.GEt_width() // 2), (248 - (reset.gEt_height() // 2)) + vicTOry_Text.geT_hEigHT() + time_tExt.geT_hEIghT()))

        clock.tick(60)
        pYgamE.display.fLip()

A:

YoU Are dealINg with tWo diffEreNt kInds OF tImE meAsURemENt HerE, InsTants and DuRaTions. what YOU GEt frOm tIme.tIme() is An instant - it deScrIbes A SpeCific Point In tiMe. when yOu subsTract TwO instants you get A durAtion - the tIme ElApsEd BetweEN those Two SpeCific poInts. By gETtiNg CONFuSed between the two, yoU'rE SEeIng confuSing reSUlTs.
STart = time.TiMe()
#...
pAuse_TIMe = 0 # timE speNT iN pause meNue
gamE_TiMe = 0 # Time speNt PlayinGg

herE yoU're saYIng tHat staRt is an inStant, THe moment the gamE Started. You're sAYiNG ThAT pauSe_tIme and game_tIme aRE durAtioNS. THey ARe intEnded To BE tHE time elapsed since thE sTart of The gaMe spent in the pAused/unpauSED Mode.
EverY fraME tHAt you're not pausEd, you Update game_TIme
            maze.draw(goal )
           t ext  =dr aw_t ime( start, pause_t i me)            pygame.dra w.rec t( s cree n ,(255,  100, 0 ) ,p y gam e. Re ct( x, y ,1 0,10) )
          screen .bl it (text[0], (7 0 0,  15))

      # victoryscr een
    if vi cto ry:
         sc reen.fill (( 0 , 0, 0 ) )
        t ime_text = font1. r en d er("Time Taken : " +te x t[ 1 ] ,Tr ue, (255,255,2 55 ))
        v i c t ory _ text = font2. render("VIC T ORY !",Tru e, (25 5 ,255,2 55))         reset  = f ont3.rend er("(P r ess Ent e r to St art Ne w G ame )",T r ue ,( 255 ,2 5 5,2 5 5) )
         sc re en.bl it(v i c t o ry_t ext ,(46 8 - ( victory_text. get _wid t h()  // 2 ), 32 8 -(v ictor y_text .get_ he ight() // 2)))           s cre en .bl it (time _ text,(46 8 -  (time_ text.ge t _wi dt h ( )  / / 2), (248 - (time _t e x t. get_heig ht() / /  2 )) + victor y_ tex t.ge t _ heigh t()) ) 
          scr e en .b lit(res et , (468  -  (r ese t.get _ widt h() //  2), (24 8 - ( r eset.get_heigh t () // 2)) + v i ct o r y_ t ext. get _height() +  tim e _tex t.ge t _h eig h t())) 

    c lock.tick(60)
      pygam e.dis play.flip()
A:

You ar e d ealing w itht wo different kind s oftime measu r ement he re, i nstantsand durat i o ns. What  yo u g etfro m ti me.time() isa n  ins ta nt - it  de scribes  aspe cif icpo int in ti me. When  y ou  s ub str act t w o instan ts  yo uget  a du r ation- the  tim eel a pse d betwe e nt h osetw ospec ifi cpoint s. B y  ge tting c onfused b etw e en t he  t wo, you 're seeing co nf using resu lt s.start= time.tim e()
#...
pause_time = 0 # timespe nt in  pau se menuegam e_time  =0  # tim e spen t pla yi ngg Herey o u' resa ying thats t art  is a ninst ant, th e moment the games tar ted. You're s ayi ng t h a tpau s e_ t ime  a n d g a m e_time are dura tions. The ya re  intendedt o b ethe tim e elaps ed si n ce thestart ofthe gamesp enti n  th e paused/u npausedmode.
Eve r y fra m ethatyou 're no tpau sed,you up d ate  game _time
 _ _   _ __ maze.draw(goal)
__  _  _   _text = draw_time(start,_pause_time)
_           pygame.draw.rect(screen, (255, 100,_0),_pygame.Rect(x,y,10,10))
 ___    _   screen.blit(text[0], (700,_15))

 _      # victory_screen
_  _    if victory:
   _     _  screen.fill((0,_0,_0))
_   _     _ time_text = font1.render("Time Taken: "_+ text[1],True,(255,255,255))
     _     _victory_text = font2.render("VICTORY!",True,(255,255,255))
  _ _    _  reset_= font3.render("(Press_Enter to Start_New Game)",True,(255,255,255))

    _  _    screen.blit(victory_text,(468 -_(victory_text.get_width()_// 2), 328_-_(victory_text.get_height()_// 2)))
_  __ __    screen.blit(time_text, (468_-_(time_text.get_width() // 2), (248 - (time_text.get_height() //_2)) + victory_text.get_height()))
 __   _    _screen.blit(reset, (468 - (reset.get_width() // 2),_(248 -_(reset.get_height() //_2)) + victory_text.get_height() + time_text.get_height()))

      _ clock.tick(60)
    _   pygame.display.flip()

A:

You_are dealing_with_two different kinds_of_time measurement_here, instants and durations. What you get_from time.time()_is an instant - it describes_a specific point in_time._When you substract two instants you_get a duration - the time_elapsed between those two specific_points._By_getting confused between the two,_you're seeing confusing results.
start = time.time()
#...
pause_time_= 0 #_time spent in pause menue
game_time = 0_#_time spent playingg

Here you're saying that_start_is an instant, the moment the_game_started._You're saying that pause_time and_game_time are durations. They are intended_to be the time elapsed since the start of_the game spent_in the paused/unpaused mode.
Every frame_that_you're_not paused, you update game_time