思聪吃热狗(双人版)
生活随笔
收集整理的這篇文章主要介紹了
思聪吃热狗(双人版)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
實(shí)現(xiàn)了功能,但是細(xì)節(jié)上還有些問(wèn)題,最后顯示過(guò)關(guān)或失敗頁(yè)面會(huì)卡頓。
import pygame from pygame.locals import * from sys import exit from random import randint import timeclass Sicong:def __init__(self,hp=400):self.x=randint(0,474)-44self.y=randint(0,296)-35self.hp=hpdef move(self,mx,my,screen):new_x=self.x+mxnew_y=self.y+myif new_x<0:self.x=screen.get_width()+new_xelif new_x>screen.get_width():self.x=new_x-screen.get_width()else:self.x=new_xif new_y<0:self.y=screen.get_height()+new_yelif new_y>screen.get_height():self.y=new_y-screen.get_height()else:self.y=new_yself.hp-=10def eat(self):self.hp+=20if self.hp>1000:self.hp=1000class Hotdog:def __init__(self):self.x=randint(0,470)-30self.y=randint(0,290)-20def move(self,dx=-10):newx=self.x+dxif newx<0:self.x=474+newxelse:self.x=newx# class Menu: # # def __init__(self): # # pass # # # # def display(self): # # screen.blit(1p,(200,50)) # # screen.blit(2p,(200,100)) # # screen.blit(quitt,(200,150)) # # if pygame.mouse.get_pos(): # # if pygame.mouse.get_pressed():def main():sc=Sicong()sc2=Sicong()hotdogs=[Hotdog() for item in range(10)]pygame.init()screen=pygame.display.set_mode((474,296))pygame.display.set_caption("吃熱狗")scimg=pygame.image.load("img\sc.png")hotdogimg=pygame.image.load("img\hotdog.png")background=pygame.image.load("img\ground.jpg")die = pygame.font.SysFont("arial", 40)die_display = die.render("You are died ! please try agin!", True, (255, 0, 0), (0, 255, 255))passon = pygame.font.SysFont("arial", 80)passon_display = passon.render("Success ! You are Winer !", True, (0, 0, 0), (255, 255, 0))count_down=5count_downs=pygame.font.SysFont("arial",50)count_down_display=count_downs.render("%s" %(count_down),True,(0,0,0),(255,255,255))clock=pygame.time.Clock()score=pygame.font.SysFont("arial",20)count=0while True:screen.blit(background,(0,0))screen.blit(scimg,(sc.x,sc.y))screen.blit(scimg,(sc2.x,sc2.y))for item in hotdogs:screen.blit(hotdogimg,(item.x,item.y))item.move()for event in pygame.event.get():if event.type==pygame.QUIT:exit()if event.type==KEYDOWN:if event.key==K_UP or event.key==K_w:if event.key==K_UP:sc.move(0,-20,screen)if event.key==K_w:sc2.move(0,-20,screen)elif event.key==K_DOWN or event.key==K_s:if event.key==K_DOWN:sc.move(0,20,screen)if event.key==K_s:sc2.move(0, 20, screen)elif event.key==K_LEFT or event.key==K_a:if event.key==K_LEFT:sc.move(-20,0,screen)if event.key==K_a:sc2.move(-20, 0, screen)elif event.key==K_RIGHT or event.key==K_d:if event.key==K_RIGHT:sc.move(20,0,screen)if event.key==K_d:sc2.move(20,0,screen)# for event in pygame.event.get():# if event.type==pygame.QUIT:# exit()# if event.type==KEYDOWN:# if event.key==K_w:# sc2.move(0,-20,screen)# sc2.hp-=10# elif event.key==K_s:# sc2.move(0,20,screen)# sc2.hp-=10# elif event.key==K_a:# sc2.move(-20,0,screen)# sc2.hp-=10# elif event.key==K_d:# sc2.move(20,0,screen)# sc2.hp-=10score_display = score.render("score:%d" % count, True, (0, 0, 0), (255, 255, 255))screen.blit(score_display,(400,20))for hotdog in hotdogs:if (sc.x<hotdog.x+34) and (sc.x+44>hotdog.x) and (sc.y<hotdog.y+20) and (sc.y+35>hotdog.y):sc.eat()count+=1hotdogs.remove(hotdog)print(hotdogs)if (sc2.x<hotdog.x+34) and (sc2.x+44>hotdog.x) and (sc2.y<hotdog.y+20) and (sc2.y+35>hotdog.y):sc2.eat()hotdogs.remove(hotdog)if sc.hp<0:screen.blit(die_display,(50,50))time.sleep(5)# for i in range(5):# time.sleep(1)# screen.blit(count_down_display, (220, 150))# count_down=count_down-1if len(hotdogs)==0:screen.blit(passon_display,(100,20))time.sleep(5)# for i in range(5):# time.sleep(1)# screen.blit(count_down_display, (100, 100))# count_down=count_down-1pygame.display.update()clock.tick(10)if __name__ == '__main__':main()總結(jié)
以上是生活随笔為你收集整理的思聪吃热狗(双人版)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 计算机公益活动策划书,社会公益爱心活动策
- 下一篇: C语言(二)C语言程序结构及简单的C程序