Lua--棋牌游戏开发(概念性设计一)

这篇博客介绍了使用Lua进行棋牌游戏开发的概念性设计,包括牌的结构设计、创建一副牌、获取牌的花色、点数、牌值,以及洗牌、发牌、排序和测试函数等关键步骤。通过十六进制表示牌,实现对牌的各种操作,并探讨了Lua中的数据类型、ipairs与pairs的区别以及点和冒号的用法。
摘要由CSDN通过智能技术生成

Lua–棋牌游戏开发(概念性设计一)

回顾上节课的提问:上节课的博客链接

1.lua的八大数据类型:

  • nil
  • number
  • boolean
  • string
  • funcion
  • table
  • userdata
  • thread

2.ipairs和pairs的区别:

  • 1.ipairs遇到元素值为nil则停止循环,pairs遇到nil继续循环;
  • 2.ipairs只能遍历table的数组部分,pairs可以遍历数组和键值对部分(顺序不一定与 书写的顺序一致);

3.table的引用类型:

4.点与冒号的区别:冒号的第一个参数默认为self,指向调用该函数的表

local tb = {x = 1,y = 2}
local tb1 = {}
tb1 = tb
tb1.x = 20
print(tb.x) -- 20
1:牌概念性设计

描述一张牌:使用十六进制(十位表示花色,个位表示点数)
花色:红黑梅方王(0 - 4)
点数:A - K(1 - 13)
牌值:对应的大小顺序排列(3 - K:3 - 13 A:14 2:16 小王:18 大王:19)
红桃: K:0x0D
黑桃:A:0x11

2:创建一副牌

local CardUtils = {} – 牌的工具类

-- 1.创建一副牌
function CardUtils:newCards()
    -- 返回54张牌
    return 
    {
   
        0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,
        0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,
        0x21
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值