前段时间看到自己写的一篇苹果机游戏文章,发现很多问题。重新整理了一下在发出来。
代码比较初级,适合初学者,代码后都加了注解,方便同学们理解。留了一快绿色奖励彩灯功能没写,如果有兴趣的同学可以写全。有什么好的建议欢迎讨论。
代码如下,复制就能玩。

import os, time,randomclass Apple:              # 跑环图形数据def __init__(self,inte,scors=0):          # 积分 和 赢取奖金self.inte=inte                        # 原始积分self.scors=scors                      # 得分# 图库self.pict_a='''大橘子2  大铃铛2  小熊猫  大熊猫  大苹果1  小苹果  大芒果1\n 小铃铛                                             大西瓜\n大苹果4                 \033[1;31m00\033[0m                         小西瓜\n红彩金                 None                        绿彩金\n小双星                                             大苹果2\n大双星                                             小橘子\n大芒果2  小芒果  大苹果3   大 77   小 77  大铃铛1  大橘子1\n  '''# 跑灯集合                                      self.pic = ['大苹果1','小苹果','大芒果1','大西瓜','小西瓜','绿彩金','大苹果2','小橘子','大橘子1','大铃铛1','小 77','大 77','大苹果3','小芒果','大芒果2','大双星','小双星','红彩金','大苹果4','小铃铛','大橘子2','大铃铛2','小熊猫','大熊猫']        def picture(self):                    # 图片素材pict = self.pict_a               # 原始图库pic = self.pic                   # 跑灯集合list_pict = []                   # 普通图list_p_h = []                    # 红彩金图list_p_l = []                    # 绿彩金图for pi in range(0,24):           # 激活目标图像list_pict.append(pict.replace(pic[pi],'\033[1;31m'+pic[pi]+'\033[0m'))  # 激活状态下的24张图集list_p_h1 = []                 # 红彩金-大四喜-激活图集pict_0 = list_pict[17].replace('None','\033[1;31m大四喜\033[0m')pict_s = pict_0for pit in (0,6,12,18):pict_s = pict_s.replace(pic[pit],'\033[1;31m'+pic[pit]+'\033[0m')list_p_h1.append(pict_0)list_p_h1.append(pict_s)list_p_h2 = []pict_0 = list_pict[17].replace('None','\033[1;31m小三元\033[0m')pict_s = pict_0for pit in (2,8,9):pict_s = pict_s.replace(pic[pit],'\033[1;31m'+pic[pit]+'\033[0m')list_p_h2.append(pict_0)list_p_h2.append(pict_s)list_p_h3 = []pict_0 = list_pict[17].replace('None','\033[1;31m大三元\033[0m')pict_s = pict_0for pit in (3,11,15):pict_s = pict_s.replace(pic[pit],'\033[1;31m'+pic[pit]+'\033[0m')list_p_h3.append(pict_0)list_p_h3.append(pict_s)list_p_h4 = []pict_s = list_pict[17].replace('None','\033[1;31m小熊猫\033[0m')list_p_h4.append(pict_s)list_p_h4.append(pict_s.replace(pic[22],'\033[1;31m'+pic[22]+'\033[0m'))list_p_h5 = []pict_s = list_pict[17].replace('None','\033[1;31m大熊猫\033[0m')list_p_h5.append(pict_s)list_p_h5.append(pict_s.replace(pic[22],'\033[1;31m'+pic[23]+'\033[0m'))list_p_h6 = []pict_s = list_pict[17].replace('None','\033[1;31m大满贯\033[0m')list_p_h6.append(pict_s)for pit in [i for i in range(0,24) if i !=5]:pict_s = pict_s.replace(pic[pit],'\033[1;31m'+pic[pit]+'\033[0m')list_p_h6.append(pict_s)list_p_h.append(list_p_h1)list_p_h.append(list_p_h2)list_p_h.append(list_p_h3)list_p_h.append(list_p_h4)list_p_h.append(list_p_h5)list_p_h.append(list_p_h6)  return  list_pict, list_p_h, list_p_ldef lut(self):                        # 跑中绿彩金时激活的随机送灯图形nbe = random.randint(1,5)lis1 = 0asb = ['大苹果1','小苹果','大芒果1','大西瓜','小西瓜','绿彩金','大苹果2','小橘子','大橘子1','大铃铛1','小 77','大 77','大苹果3','小芒果','大芒果2','大双星','小双星','红彩金','大苹果4','小铃铛','大橘子2','大铃铛2','小熊猫','大熊猫']list_a6 = []lis_nb = []while lis1 < nbe:cc=random.choice(self.asbb)if cc != '绿彩金' and cc != '红彩金':lis_nb.append(asb.index(cc))a6_B = self.a6.replace(str(cc),'<'+str(cc)+'>')list_a6.append(a6_B)self.a6 = a6_Blis1 +=1self.asbb.remove(cc)return list_a6 ,lis_nbdef stake(self,intes,name):           # 押注函数scor=input(name)if scor.isdigit():         # 必须为数字if 0<int(scor)<51 and intes>int(scor):    # 输入数字大于0小于51,且小于原始积分scor=int(scor)self.inte -= int(scor)                # 原始积分减掉输入数字elif int(scor)>50:                        # 输入数字大于50print('最多只能压50分,请押注:')       # 提示scor=input(name)                      # 重新输入scor=int(scor)self.inte -= scorelif int(scor)>intes or intes != 0:       print('积分不足,积分全压') scor=input(name)scor=intesself.inte -= scorelif intes == 0 :print('积分为零,押注失败,默认为 0')scor = 0else:scor = 0else :scor=0        return scor          # 押注数def stak_s(self):                     # 积分扣除函数global scor_1                     # 全局变量        压注积分global scor_2global scor_3global scor_4global scor_5global scor_6global scor_7global scor_8global lis_c                    # 8个压注积分集合inte = self.inte                # 当前积分lis_c = []print("积分:"+str(inte))      print('请押注:')scor_1 = self.stake(self.inte,name='苹果:  ')   # 押注苹                            scor_2 = self.stake(self.inte,name='芒果:  ')  scor_3 = self.stake(self.inte,name='橘子:  ')scor_4 = self.stake(self.inte,name='铃铛:  ')scor_5 = self.stake(self.inte,name='西瓜:  ')scor_6 = self.stake(self.inte,name='双星:  ')scor_7 = self.stake(self.inte,name='双77:  ')scor_8 = self.stake(self.inte,name='熊猫:  ')# 积分扣除self.inte -= scor_1+scor_2+scor_3+scor_4+scor_5+scor_6+scor_7+scor_8 lis_c.append(scor_1)lis_c.append(scor_2)lis_c.append(scor_3)lis_c.append(scor_4)lis_c.append(scor_5)lis_c.append(scor_6)lis_c.append(scor_7)lis_c.append(scor_8)def implement(self):                  # 重复押注函数print('是否进行上次方法押注: 回车 或 N')list = input('')if list !='n':scor_1 = lis_c[0]scor_2 = lis_c[1]scor_3 = lis_c[2]scor_4 = lis_c[3]scor_5 = lis_c[4]scor_6 = lis_c[5]scor_7 = lis_c[6]scor_8 = lis_c[7]self.inte -= scor_1+scor_2+scor_3+scor_4+scor_5+scor_6+scor_7+scor_8 else:self.stak_s()def scores (self,result):                # 得分函数 score = 0pi = self.picture()           if result == pi[0][0]:               # 大苹果赔率    激活苹果的图score += scor_1*5               if result == pi[0][6]:score += scor_1*5              if result == pi[0][12]:score += scor_1*5    if result == pi[0][18]:score += scor_1*5                 if result == pi[0][1]:              # 小苹果赔率             score += scor_1*3if  result == pi[0][4]:             # 小西瓜赔率score += scor_5*3 if  result == pi[0][7]:             # 小橘子赔率score += scor_3*3 if  result == pi[0][10]:            # 小双77赔率score += scor_7*3 if  result == pi[0][13]:            # 小芒果赔率score += scor_2*3     if  result == pi[0][16]:            # 小双星赔率score += scor_6*3 if  result == pi[0][19]:            # 小铃铛赔率score += scor_4*3 if result == pi[0][2]:              # 大芒果赔率score += scor_2*10if result == pi[0][14]:               score += scor_2*10    if result == pi[0][3]:              # 大西瓜赔率score += scor_5*20if result == pi[0][8]:              # 大橘子赔率score += scor_3*10if result == pi[0][20]:           score += scor_3*10    if result == pi[0][9]:              # 大铃铛赔率score += scor_4*10if result == pi[0][21]:         score += scor_4*10 if result == pi[0][11]:             # 大双77赔率score += scor_7*20if result == pi[0][15]:             # 大双星赔率score += scor_6*20if result == pi[0][22]:             # 小熊猫倍率score += scor_8*50if result == pi[0][23]:             # 大熊猫赔率score += scor_8*100# 绿彩金赔率集if result == pi[0][5]:               # 绿彩金score +=0# lut=self.lut()# asbb_p = [scor_1*5,scor_1*2,scor_2*10,scor_5*20,scor_5*2,0,scor_1*5,scor_3*2,scor_3*10,# scor_4*10,scor_7*2,scor_7*20,scor_1*5,scor_2*2,scor_2*10,scor_6*20,scor_6*2,0,scor_1*5,# scor_4*2,scor_3*10,scor_4*10,scor_8*50,scor_8*100# list_a6p = []# for li in lut[1]:# ccp=asbb_p[li]# list_a6p.append(int(ccp-1))# for sc in list_a6p:        # score += sc# 红彩金赔率集                                if result == pi[1][0][1]:                      # 大四喜赔率score = score+scor_1*5*4 if result == pi[1][1][1]:                      # 小三元赔率score = score+scor_2*10+scor_3*10+scor_4*10 if result == pi[1][2][1]:                      # 大三元赔率score = score+scor_5*20+scor_6*20+scor_7*20 if result == pi[1][3][1]:                      # 小熊猫赔率score += scor_8*50if result == pi[1][4][1]:                      # 大熊猫赔率score += scor_8*100if result == pi[1][5][1]:                      # 大满贯赔率score = score+scor_1*5*5+scor_1*2+scor_2*10*2+scor_2*2+scor_3*10*2+scor_3*2+scor_4*10*2+scor_4*2+scor_5*20+scor_5*2+scor_6*20+scor_6*2+scor_7*20+scor_7*2+scor_8*50+scor_8*100         return score              # 赔率def gamb (self):                      # 猜大小函数ga_inte = self.inte               # 积分ga_scors = self.scors             # 得分and_s = random.randint(1,13)      # 随机数字and_t = result.replace('\033[1;31m00\033[0m','\033[1;31m'+str(and_s)+'\033[0m')if ga_inte>0 and ga_scors>0:print('是否转移积分到得分博彩:回车/Y')bc_s=input('')if bc_s=='y':if ga_inte > ga_scors:        #  积分大于得分ga_inte -= ga_scorsga_scors = ga_scors*2elif 0 < ga_inte < ga_scors:   # 积分小于得分ga_inte = 0ga_scors += ga_inteelse:passprint("说明:1-6为小,8-13为大,7为中大小都中")print('请选择:2(大)/1(小)') dx_s=int(input())if dx_s == 1:if and_s in [i for i in range(1,7)]:   # 随机数字在1-6中ga_scors =  ga_scors*2os.system('cls')print(and_t)time.sleep(0.2)print('恭喜中奖了!')time.sleep(0.2)elif and_s == 7:                       # 随机数字等于7ga_scors =  ga_scors*2os.system('cls')print(and_t)time.sleep(0.2)print('恭喜中奖了!')time.sleep(0.2)else:ga_scors =  0os.system('cls')print(and_t)time.sleep(0.2)print('很遗憾没中!')elif dx_s == 2: if and_s in [i for i in range(8,14)]:  # 随机数字在8-13中ga_scors =  ga_scors*2 os.system('cls')print(and_t)time.sleep(0.2)print('恭喜中奖了!')   elif and_s == 7:ga_scors =  ga_scors*2 os.system('cls')print(and_t)time.sleep(0.2)print('恭喜中奖了!') else:ga_scors =  0os.system('cls')print(and_t)time.sleep(0.2)print('很遗憾没中!')else:os.system('cls')print('未猜大小放弃猜大小游戏继续')  return  ga_inte,ga_scorsdef game (self):                      # 游戏函数global resultstart = Truepi = self.picture()list =pi[0].copy()current = 0                      # 当前位置result = pi[0][0]                # 当前位置图imp = Falsewhile start:os.system('cls')if imp:if self.inte >scor_1+scor_2+scor_3+scor_4+scor_5+scor_6+scor_7+scor_8:   # 积分大于上回总压分self.implement()                                                     # 执行重复压分函数else:    self.stak_s() imp = True    else:    self.stak_s()                # 押注imp = Truerand = 0                     # 移动数ran = random.randint(1,24)   # 随机移动数# ran = 23imp +=1for i_ran in list:           # 先跑一圈os.system('cls')print(i_ran)time.sleep(0.2)for i_pict in list[:ran]:       # 跑环  rand +=1os.system('cls')         # 清屏幕(这样才能看出动画效果)print(i_pict)            # 刷图time.sleep(0.2)for pop in range(ran):       # 变动图片列表位置为当前图开头stud = list.pop(0)  list.append(stud)        current += rand              # 变动当前位置if current > 23:             # 当当前位置大于一圈时归零current -=24       result = pi[0][current-1]    # 当前变动后的位置图    if result == pi[0][5]:      # 刷到绿彩金passif result == pi[0][17]:      # 刷到红彩金rans = random.randint(0,5)for hon in pi[1][rans]:os.system('cls')print(hon)  time.sleep(0.2)result = pi[1][rans][1]score = self.scores(result) self.scors += scoreprint('')print(f'                    中的:\033[1;31m{self.pic[current-1]}\033[0m                                       得分:\033[1;31m{score}\033[0m')print(f'                    积分:\033[1;31m{self.inte}\033[0m                                         赢取积分:\033[1;31m{self.scors}\033[0m')print('')print('                    熊猫    双77    双星    西瓜       铃铛    橘子    芒果    苹果')print(f'                     {scor_8}       {scor_7}      {scor_6}       {scor_5}          {scor_4}      {scor_3}       {scor_2}      {scor_1} ')sco_k =Trueif self.scors != 0:while sco_k :print('是否比大小: 回车 或 Y')gamb_s=input('')if gamb_s=='y':gamb = self.gamb()self.inte = gamb[0]self.scors = gamb[1]print(f'      积分:\033[1;31m{self.inte}\033[0m                                         赢取积分:\033[1;31m{self.scors}\033[0m')if self.scors == 0:sco_k = False else:sco_k = False    if self.scors != 0:    print('是否提取积分: 回车 或 Y')sco=input ('') if sco == 'y':self.inte = self.inte+self.scors   # 获取中将积分self.scors = 0                     # 中间积分清零score = 0os.system('cls')print(f'      积分:\033[1;31m{self.inte}\033[0m                 赢取积分:\033[1;31m{self.scors}\033[0m               得分:\033[1;31m{score}\033[0m')else:passif self.inte <= 0:start=Falseprint('游戏结束')if self.inte>0:print('开始或结束: 回车 或 N')start_s=input('')if start_s=='n':start=Falseprint('游戏结束')else:passif __name__=='__main__':XY=Apple(1000)XY.game()

苹果机-游戏,80-90儿时的回忆,python打印print()版,适合初学者。相关推荐

  1. Python苹果机游戏pygame版

    前言 前段时间写过print()版的,发现很难玩,操作起来相当繁琐,只能供新手了解基础代码的运用.对于游戏本身没什么可玩性. 提示:以下是本篇文章正文内容,下面案例可供参考 现在写了个pygame版, ...

  2. [圣诞大礼]Macintosh苹果机精品游戏合集

    开篇:很多人求MBP...求到MBP问题马上就来了,mac苹果机上软件已经很不错了,PS.office.AutoCAD都有,问题有什么好游戏呢? 年终给大家很多MAC苹果机游戏希望大家喜欢啊. 感谢Z ...

  3. 小时候玩的10款经典街机游戏,如今我们都在玩什么?

    很多的人的童年,都是伴随着游戏度过的.尤其是8090后.今天就列举10款经典的大型街机游戏,跟大家一起回忆一下童年时光,不信没有你玩过的! 1.<拳皇> 小时候小编最喜欢的大型对战格斗型街 ...

  4. 90后计算机电脑的游戏,80后、90后的童年游戏记忆,盘点那些能勾起你时光的回忆的老游戏...

    80后.90后的童年游戏记忆,盘点那些能勾起你时光的回忆的老游戏 2020-09-15 22:01:59 7点赞 11收藏 7评论 有人说喜欢回忆过去就说明人已经老了,可能玩的越多的游戏,越能对比出当 ...

  5. 业余时间研究了下微信小程序版的街机游戏模拟器,8090后的童年回忆啊

    经过一段时间的努力,终于利用wasm技术将街机游戏移植到微信小程序里,当然中间遇到了不少坑(就不具体说了,有兴趣的朋友可以留言提问),最终还是坚持下来了,还有很多细节有待优化,这里得感谢各位模拟器前辈 ...

  6. 经典回忆街机游戏列表

    虽然草根街机的时代已经远离我们以及我们的下一代,但是在街机登陆中国的十五年来,涌现了无数的经典,那是一个奔腾的年代,中国的第一批玩家安全为这种设在街边,完全互动的电子游艺产品而疯狂,下面就是我们总结出 ...

  7. skype安卓手机版_安卓:街机游戏大全~手机版

    街机游戏大全~手机版 大家好,我是雨晨~ 给大家带来的 一款游戏叫做 街机游戏大全 ~手机版 目前支持安卓系统 大家快来亲身感受一下吧~~ 游戏介绍 安卓手机街机游戏1500合集,街机模拟器街机游戏可 ...

  8. 手机qq表白代码大全可复制_街机游戏大全~手机版

    街机游戏大全~手机版 安卓:街机游戏大全~手机版 1.街机游戏 2.经典游戏 游戏介绍 安卓手机街机游戏1500合集,街机模拟器街机游戏可以说是一代80.90后的童年回忆,此合集收录1500多款街机经 ...

  9. 80后的童年回忆---谨以献给1980~1989出生的人[图]

    不可磨灭的童年的记忆啊~~~ 等我老了的时候依然会记得~~ 借用郭敬明的一句话就是:童年缩成一粒沙子,陷在我的眼睛里面,逼迫我不停地流泪.明明就在眼前却看不到,明明已随时间走得很远,但疼痛感却异常清晰 ...

最新文章

  1. python第三方库之学习pyserial库--串口通信
  2. SharePoint运行状况分析器有关磁盘空间不足的警告
  3. 报表移动端app如何实现页面自适应?
  4. Apache Camel 3.1 –更多骆驼核心优化(第3部分)
  5. 空间皮肤代码_不废话,看我20行代码搞定色块提取与定位…….
  6. python绘制糖葫芦_python简单爬虫(一)
  7. 剑指Offer_27_字符串的排列
  8. 软件设计模式学习总结
  9. Navicat for MySQL 安装教程
  10. [精简]托福核心词汇98
  11. solaris系统关闭服务器,Solaris下如何关闭SUN服务器
  12. spring-马士兵源码
  13. HTTP请求中的OPTIONS请求
  14. android studio 读音,simplicity
  15. 从键盘输入直角三角形两条直角边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数。
  16. mysql配置文件教程_Mysql配置文件:my.ini详解 - MySQL 教程精选
  17. LS数字电子技术基础Multisim仿真系列 一 TTL门电路的仿真(74LS00)
  18. Power BI中使用DAX生动展现人员头像、动态标签——销售数据里的那些商业智能
  19. Nyoj 27 水池数目
  20. 2021-2027全球与中国固定网络电信设备市场现状及未来发展趋势

热门文章

  1. 网络攻防(1.1)---网络扫描
  2. MATLAB plot函数
  3. 利用C语言编写放烟花的程序(春节专用)
  4. ViewPager 中设置图片大小不起作用
  5. 怎么把iPhone的计算机放在,怎么把iphone里的照片传到电脑里 两个方法教学【图文教程】...
  6. jsp编程中处理红头文件保存及使用
  7. 关于绝对定位与相对定位的区别和用法
  8. 小程序/JS数组删除元素
  9. Nebo Preview - Nebo 手写笔记 笔迹识别OCR笔记本 安卓移动端版本 apk
  10. 微信平台接口php实现的_PHP对接微信公众平台消息接口开发流程教程