700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Python抽奖转盘 幸运大转盘源程序

Python抽奖转盘 幸运大转盘源程序

时间:2020-11-11 17:09:49

相关推荐

Python抽奖转盘 幸运大转盘源程序

Python抽奖转盘、幸运大转盘源程序,本程序采用pygame实现,回车即可进行抽奖,完整程序包及资源包请在本文文末下载,抽奖转盘运行效果截图:

主程序Face.py

import pygame,sysimport mathimport randompygame.init() # 初始化pygame类screen = pygame.display.set_mode((600, 600)) # 设置窗口大小pygame.display.set_caption('幸运大转盘') # 设置窗口标题tick = pygame.time.Clock()fps = 10 # 设置刷新率,数字越大刷新率越高picture = pygame.transform.scale(pygame.image.load("./幸运大转盘.png"), (600, 600))bg=picture.convert()picture = pygame.transform.scale(pygame.image.load("./1.png"), (30, 230))hand = picture.convert_alpha()rewardDict = {'first level': (0, 0.03),'second level': (0.03, 0.2),'third level': (0.2, 1)}def rewardFun():"""用户的得奖等级"""# 生成一个0~1之间的随机数number = random.random()# 判断随机转盘是几等奖for k, v in rewardDict.items():if v[0] <= number < v[1]:return kdef start():while True:for event in pygame.event.get():# 处理退出事件if event.type == pygame.QUIT:pygame.quit()sys.exit()elif event.type == pygame.KEYDOWN:if (event.key == pygame.K_ESCAPE):pygame.quit()sys.exit()else:returnscreen.blit(bg,(0,0))newRect = hand.get_rect(center=(300,150))screen.blit(hand,newRect)pygame.draw.circle(screen,(255,255,0),(300,300),50)textFont = pygame.font.Font("./font.ttf", 80)textSurface = textFont.render("go", True, (110, 55, 155))screen.blit(textSurface, (270, 230))pygame.display.update()def middle():angle = 0while True:posx = 300 + int(150 * math.sin(angle * math.pi / 180))posy = 300 - int(150 * math.cos(angle * math.pi / 180))print(posx, posy, math.sin(angle * math.pi / 180))for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()screen.blit(bg,(0,0))newhand = pygame.transform.rotate(hand, -angle)newRect = newhand.get_rect(center=(posx,posy))screen.blit(newhand,newRect)pygame.draw.circle(screen,(255,255,0),(300,300),50)angle += 10if angle > 500:k = rewardFun()end(k)breaktick.tick(fps)pygame.display.flip() # 刷新窗口def end(k):textFont = pygame.font.Font("./font.ttf", 50)print("恭喜你,你抽中了"+k)textSurface = textFont.render("your awards is :%s" % k, True, (110, 55, 155))screen.fill((155, 155, 0))screen.blit(textSurface, (30, 230))if __name__ == '__main__':start()middle()

完整程序代码及资源包下载地址:/s/1jdc_VT-xjdWud12f4qBlzA,获取提取码请先关注微信公众号:Python代码大全,并在公众号回复:幸运大转盘提取码。更多Python源代码,请微信关注:Python代码大全,

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。