鱼C论坛

 找回密码
 立即注册
楼主: mengxia4

[作品展示] 自己动手写了一个双色球机选小程序

  [复制链接]
发表于 2017-12-8 14:15:39 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-8 14:40:16 | 显示全部楼层
  1. import random
  2. ##  之前用Pygame写的一个双色球选号程序。

  3. import pygame
  4. from pygame.locals import *

  5. BLACK = [0, 0, 0]
  6. RED = [255, 0, 0]
  7. GREEN = [0, 255, 0]
  8. BLUE = [0, 0, 255]
  9. YELLOW = [255, 255, 0]
  10. WHITE = [255, 255, 255]

  11. WIDTH = 800
  12. HEIGHT = 600


  13. pygame.init()
  14. screen = pygame.display.set_mode((WIDTH, HEIGHT))
  15. pygame.display.set_caption('Double Color Ball')
  16. font1 = pygame.font.SysFont('Arial', 40)

  17. def printText(text, y, shadow = True):
  18.     if shadow:
  19.         textImg = font1.render(text, True, RED)
  20.         screen.blit(textImg, (WIDTH//2 - textImg.get_width()//2 - 2, y - 2))
  21.     textImg = font1.render(text, True, YELLOW)
  22.     screen.blit(textImg, (WIDTH//2 - textImg.get_width()//2, y))


  23. class Ball(pygame.sprite.Sprite):
  24.     def __init__(self):
  25.         super().__init__()
  26.         self.image = pygame.Surface(((80+20)*6+80, 80))
  27.         self.rect = self.image.get_rect()
  28.         self.rect.center = WIDTH//2, HEIGHT//2
  29.         self.numbers = []
  30.         self.selected = False
  31.     def getNumbers(self):
  32.         if not self.selected:
  33.             allRedBalls = list(range(1, 34))
  34.             redBalls = []
  35.             for i in range(6):
  36.                 number = random.choice(allRedBalls)
  37.                 allRedBalls.remove(number)
  38.                 redBalls.append(number)
  39.             blueBall = random.randint(1, 16)
  40.             self.numbers = sorted(redBalls)
  41.             self.numbers.append(blueBall)
  42.     def update(self):
  43.         self.image.fill(GREEN)
  44.         self.getNumbers()
  45.         for i in range(7):
  46.             if i < 6:
  47.                 pygame.draw.circle(self.image, RED, (i*100+40, 40), 40)
  48.             else:
  49.                 pygame.draw.circle(self.image, BLUE, (i*100+40, 40), 40)
  50.             numberImg = font1.render(str(self.numbers[i]), True, YELLOW)
  51.             numberImgRect = numberImg.get_rect()
  52.             numberImgRect.center = (i*100+40, 40)
  53.             self.image.blit(numberImg, numberImgRect)
  54.         

  55. allGroup = pygame.sprite.Group()
  56. balls = Ball()
  57. allGroup.add(balls)

  58. done = False
  59. while not done:
  60.     for event in pygame.event.get():
  61.         if event.type == QUIT:
  62.             done = True
  63.         elif event.type == MOUSEBUTTONDOWN and event.button == 1:
  64.             if balls.selected == True:
  65.                 balls.selected = False
  66.             else:
  67.                 balls.selected = True

  68.     screen.fill(GREEN)
  69.     allGroup.update()
  70.     allGroup.draw(screen)
  71.     printText('DOUBLE COLOR BALL', 100)
  72.     printText('CLICK TO SELECT', 450)
  73.     pygame.display.flip()

  74. pygame.quit()
复制代码


                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-8 14:57:06 | 显示全部楼层
  1. import random

  2. def selectBalls():
  3.     count = input('请问选几注?\n')
  4.     if (not count.isdigit()) or (count.isdigit() and str(count) == '0'):
  5.         print('滚犊子!')
  6.     else:            
  7.         result = []
  8.         for i in range(int(count)):
  9.             red = list(range(1,34))
  10.             random.shuffle(red)
  11.             redBalls = sorted(red[0:6])
  12.             blueBall = random.randint(1,16)
  13.             result.append((redBalls, blueBall))
  14.         for i,balls in enumerate(result):
  15.             print('\n第{0}注:\n红球:{1}\n蓝球:{2}'.format(i+1, balls[0], balls[1]))
  16.         print('\n祝您拿大奖!')


  17. selectBalls()

  18. ##    >>>
  19. ##    请问选几注?
  20. ##    5
  21. ##
  22. ##    第1注:
  23. ##    红球:[6, 9, 18, 21, 32, 33]
  24. ##    蓝球:10
  25. ##
  26. ##    第2注:
  27. ##    红球:[6, 15, 19, 26, 30, 32]
  28. ##    蓝球:10
  29. ##
  30. ##    第3注:
  31. ##    红球:[1, 5, 7, 8, 11, 32]
  32. ##    蓝球:10
  33. ##
  34. ##    第4注:
  35. ##    红球:[6, 10, 14, 18, 21, 26]
  36. ##    蓝球:4
  37. ##
  38. ##    第5注:
  39. ##    红球:[5, 8, 9, 21, 22, 25]
  40. ##    蓝球:5
  41. ##
  42. ##    祝您拿大奖!
复制代码


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-8 14:57:06 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-8 14:57:51 | 显示全部楼层
  1. import random

  2. def selectBalls():
  3.     count = input('请问选几注?\n')
  4.     if (not count.isdigit()) or (count.isdigit() and str(count) == '0'):
  5.         print('滚犊子!')
  6.     else:            
  7.         result = []
  8.         for i in range(int(count)):
  9.             red = list(range(1,34))
  10.             random.shuffle(red)
  11.             redBalls = sorted(red[0:6])
  12.             blueBall = random.randint(1,16)
  13.             result.append((redBalls, blueBall))
  14.         for i,balls in enumerate(result):
  15.             print('\n第{0}注:\n红球:{1}\n蓝球:{2}'.format(i+1, balls[0], balls[1]))
  16.         print('\n祝您拿大奖!')


  17. selectBalls()

  18. ##    >>>
  19. ##    请问选几注?
  20. ##    5
  21. ##
  22. ##    第1注:
  23. ##    红球:[6, 9, 18, 21, 32, 33]
  24. ##    蓝球:10
  25. ##
  26. ##    第2注:
  27. ##    红球:[6, 15, 19, 26, 30, 32]
  28. ##    蓝球:10
  29. ##
  30. ##    第3注:
  31. ##    红球:[1, 5, 7, 8, 11, 32]
  32. ##    蓝球:10
  33. ##
  34. ##    第4注:
  35. ##    红球:[6, 10, 14, 18, 21, 26]
  36. ##    蓝球:4
  37. ##
  38. ##    第5注:
  39. ##    红球:[5, 8, 9, 21, 22, 25]
  40. ##    蓝球:5
  41. ##
  42. ##    祝您拿大奖!
复制代码


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-8 15:22:15 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-8 16:08:00 From FishC Mobile | 显示全部楼层
厲害的東西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-31 19:25:57 | 显示全部楼层
呵呵。。。。这个可以有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-1 22:43:39 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-7 22:18:11 | 显示全部楼层
123
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-12 13:24:49 From FishC Mobile | 显示全部楼层
想看唉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-22 22:34:50 | 显示全部楼层
学习下,多谢分享~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-22 22:41:27 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-22 22:43:02 | 显示全部楼层
传说中的小角色 发表于 2017-2-25 23:09
你好,我是0基础,装好软件,然后逛帖子,看见这个复制了,代码一直报错,请问下这个怎么解决

你要新建文件,复制进去,CTRL+N
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-22 22:44:35 | 显示全部楼层
你们想的都太简单了,不如编个程序,彩票网站获得大数据后,如何让中奖累积金额最小
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-5 20:22:31 | 显示全部楼层
喜欢哦 手收下了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-5 22:02:31 | 显示全部楼层
指教

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-16 13:04:22 | 显示全部楼层
xxuexi le
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-16 19:08:54 | 显示全部楼层
想看看阁下的作品
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-17 04:15:01 From FishC Mobile | 显示全部楼层
机智
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 09:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表