学完了python的基础篇,大概很多东西都是可以做了,不过一般来说第一个项目都是飞机大战,由于之前学习C 的时候也做过飞机大战,于是我想尝试一下别的项目,就从最简单的黑杰克开始执行吧。感觉德州扑克和黑杰克的运行原理差不多,都可以使用python自带的随机抽取函数达到随机抽卡的效果,不需要自己再去创建随机数组了,执行代码如下,目前是简化版本,有几个问题:
1 A+花色牌的问题没有解决(在黑杰克中,A加任意花牌可以直接获胜),我觉得可以把花色牌和A分别做两个集合AB,然后用语句
if (i in A and j in B) or (i in B and j in A)
print(“直接获胜”)
break
来进行判定。

2 fir_value =random.sample(fir_pockers.items(),1) 这个语句中产生随机抽取的方法会将字典类型的变量变为列表类型,所以后面的访问需要用到访问列表的方法,然后强制为int类型进行值的计算。

3 积分版块的缺失 不过这个倒是挺容易,直接从 10000分开始,分为 10
20 50 100 200 500 1000几种筹码然后记性计算就完事了。

4 关于抽牌重复的问题,这个可以使用pop来进行移除,每次开始执行对将card初始化,防止移除以后牌变少

#定义黑红梅方四种扑克,heart(红桃),club(梅花),spade(黑桃),diamond(方片),并且赋值。

import random
import time
from random import choice
begain = True
while True:
begain = input(“请输入开始来开始游戏或者结束来结束游戏!:”)
if begain == ‘开始’:
def get_card():
pocker_heart={‘红a’: 1, ‘红2’: 2, ‘红3’: 3, ‘红4’: 4, ‘红5’: 5, ‘红6’:
6, ‘红7’: 7, ‘红8’: 8, ‘红9’: 9, ‘红10’: 10, ‘红J’: 10, ‘红Q’: 10,‘红K’: 10}
pocker_club={‘梅a’: 1, ‘梅2’: 2, ‘梅3’: 3, ‘梅4’: 4, ‘梅5’: 5, ‘梅6’:
6, ‘梅7’: 7, ‘梅8’: 8, ‘梅9’: 9, ‘梅10’: 10, ‘梅J’: 10, ‘梅Q’: 10,‘梅K’: 10}
pocker_spade={‘黑a’: 1, ‘黑2’: 2, ‘黑3’: 3, ‘黑4’: 4, ‘黑5’: 5, ‘黑6’: 6, ‘黑7’
: 7, ‘黑8’: 8, ‘黑9’: 9, ‘黑10’: 10, ‘黑J’: 10, ‘黑Q’: 10,‘黑K’: 10}
pocker_diamond={‘方a’: 1, ‘方2’: 2, ‘方3’: 3, ‘方4’: 4, ‘方5’: 5, ‘方6’: 6, ‘方7’:
7, ‘方8’: 8, ‘方9’: 9, ‘方10’: 10, ‘方J’: 10,‘方Q’: 10, ‘方K’: 10}

将四种扑克放进扑克集合里面 并且引入choice方法产生随机数组

        pockers = [pocker_club,pocker_diamond,pocker_heart,pocker_spade]

#随机第一张卡牌

        fir_pockers = choice(pockers)fir_value =random.sample(fir_pockers.items(),1)for key,value in fir_value:value = int(value)# print(value,end="  ")print(key, end="  ")return valuedef player():first = get_card()second = get_card()print()sum = first + secondprint(sum)return sum

#定义玩家的牌
def get_more():
print(“你的牌:”,end="")
hand_cards = player()
#hand_cards = hand_cards
while hand_cards <= 21:
message = input(“你还需要更多的牌吗?yes\ no:”.lower())
if message == ‘yes’:
print(“再来一张!”)
again = get_card()
time.sleep(1)
hand_cards = again + hand_cards
if hand_cards <= 21:
print(“总分” + str(hand_cards))
continue
else:
print( “BOSS:” + str(hand_cards)+ “你已经原地爆炸了,小老弟!”)

            else:print("你最终的得分是"+ str(hand_cards))break
#print( "你输定了,小老弟!")return hand_cards

#定义庄家的牌
def dealer():
print(“庄家的牌:”,end="")
dealer_card = player()
play_point = get_more()
if play_point > 21:
print(“BOSS:你就是个弟弟!”)
elif dealer_card >= play_point:
print(“BOSS:我都还没动手,你就躺下了。”)

        else:while dealer_card < play_point:print("BOSS:逆",end="")time.sleep(0.5)print("天",end="")time.sleep(0.5)print("改",end="")time.sleep(0.5)print("命!",end="")time.sleep(0.5)again = get_card()dealer_card = dealer_card + againif dealer_card < play_point:continueelif dealer_card > 21:print("BOSS:"+str(dealer_card)+"点,我怎么可能会输!")breakelse:print("BOSS:哎,"+str(dealer_card)+"点,人生寂寞,何人可与我一站!")breakdealer()
elif input == '结束':break
else:break

后记 以后应该会做德州扑克 不过我需要学习一些python的窗体知识,改善一下界面 ,没有画面的程序终究是不成的。不过抽卡的代码倒是可以直接抄过去 就是定义的字典值需要改一改。

黑杰克blackjack 游戏的简化版(第一个游戏程序)相关推荐

  1. C#黑杰克(21点)扑克小游戏

    本文为C#控制台应用程序,使用VS2019,.net framework 4.0,本测试程序只考虑一副52张的扑克牌. 黑杰克(21点)游戏规则如下: 点数计算:每张牌都有点数,2到10的牌的点数就是 ...

  2. 游戏开发攻略—黑杰克扑克牌

    欢迎来到:http://observer.blog.51cto.com 21点黑杰克扑克牌为一款极具趣味性的牌类游戏,最早出现在十六世纪,起源于法国.同时,发现在网络上流传着的各种版本的21点黑杰克扑 ...

  3. 游戏感:虚拟感觉的游戏设计师指南——第一章 定义游戏感

    这是一本游戏设计方面的好书 转自天:天之虹的博客:http://blog.sina.com.cn/jackiechueng 感谢天之虹的无私奉献 Word版可到本人的资源中下载 第一章定义游戏感 游戏 ...

  4. C++项目实战(二)——简化版 “吃豆子游戏---pacman” 实现

    本项目通过使用 windows 窗口应用程序 实现一个简化版的 吃豆子游戏,主要涉及的知识点包含有:面向对象编程思想.windows 消息循环的工作原理.windows 窗口应用程序实现.父类与子类的 ...

  5. 小球游戏——开始我们的第一个游戏-----java.多线程的深入理解

    每当我们玩着各式各样游戏时,例如LOL,原神,空洞骑士,你会不会突然脑海里蹦出一个想法,如果自己也可以做一个这样的游戏的就好了.虽然这对我们非常遥远,但是也许在踏上这条游戏制作的路时,可能我们能成为这 ...

  6. iOS cocos2d 2游戏开发实战(第3版)---你的第一个游戏!

    2019独角兽企业重金招聘Python工程师标准>>> 随着苹果公司不断地创新与发展,新的iPhone 5.iPad 4以及iPad mini产品相继问世,包括iOS与Xcode在内 ...

  7. 分享人生第一个游戏源代码

    第一次自己写博客,与大家分享一下自己第一个写的算正经的游戏.这是我家乡江西一个本土游戏,名字叫"斗牛",是一种赌博游戏. 赌博有害家庭健康,因此将其改编成简单的游戏,希望所有的家庭 ...

  8. 安卓游戏开发用什么引擎_游戏开发学习第一天————用什么软件

    今天开始了虚幻学习的第一天! 好的,那我们就开始学习做游戏吧! 始学习做游戏吧 学习做游戏吧 习做游戏吧 做游戏吧 游戏吧 戏吧 吧 等等,要学做游戏啊...... 第一步要做什么,我还完全不知道啊喂 ...

  9. 【吼吼睡cocos2d学习笔记】第四章 - 第一个游戏

    来让我们开始第一个游戏的制作. 这个过程可能有点艰辛,但是只要坚持下来,第一个游戏往往能给我们带来巨大的收益(当然这个收益不是经济上的:-P) 先上截图: iPad中: 游戏构思 角色 在屏幕的上方, ...

最新文章

  1. Matlab与线性代数 -- 矩阵的乘法
  2. R语言读取CSV文件
  3. 《JavaScript启示录》——第1章 JavaScript对象 1.1创建对象
  4. vue Cli 脚手架的搭建
  5. 210322阶段三QT事件循环及opencv图像处理
  6. homework-02
  7. 在C4C UI里嵌入CRM WebClient UI
  8. 动态调用类 java_Java动态调用类中方法
  9. android标题栏消失,安卓标题栏为什么没有显示
  10. CI框架PHP漫画小说二合一CMS网站系统源码
  11. CreateThread()使用实例
  12. Java单例模式(饿汉式)
  13. android回溯机制,Android事件分发机制全面解析
  14. 批量图片下载器(整站下载)
  15. shopnc数据库操作
  16. 怎样做自媒体视频剪辑赚钱?
  17. 饿了么率先抢占三四线城市,外卖市场新一轮大战在即?
  18. 骨传导耳机是利用什么原理听歌?什么骨传导耳机好用
  19. vosk实时语音识别
  20. 【WINDOWS / DOS 批处理】for命令详解(八)

热门文章

  1. 华硕笔记本bios U盘启动问题
  2. Elasticsearch与Spring的集成
  3. 10种食物 让你快乐每一天
  4. MD5 标准算法详解
  5. 这10种情况的房屋需做结构检测鉴定了
  6. 2019年CVTE实习心得
  7. 【Python爬虫_1】爬取巴比特社区前5页列表和内容;
  8. 在线直播授课系统哪个好?哪个更适合做网校?
  9. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest 补题
  10. WM_CTLCOLOR消息重载