function putStartCard(handCard)
function dataDeal(array,a,b,c)
cclog("进入datadeal====================================")
for i=,#array do
cclog("array[%d]======%d",i,array[i])
end
local result = {}
if #array >= then
for i=,#array do
if a == array[i] then
for j=i+, #array do
if b == array[j] then
for k=j+,#array do
if c == array[k] then
table.insert(result,array[i])
table.insert(result,array[j])
table.insert(result,array[k])
cclog("%d,%d,%d",array[i],array[j],array[k])
table.remove(array,k)
table.remove(array,j)
table.remove(array,i)
cclog("找到2,7,10===============")
cclog("result===%d%d%d",result[],result[],result[])
for ii=,#array do
cclog("array[%d]=======%d",ii,array[ii])
end
return result
end
end
end
end
end
end
end
cclog("没找到2,7==============")
return result
end local unUseless =
local i = nil
local data = {}
for j=, do
data[j] = {}
end for i=, do
for j=, -i do
if handCard[j] > handCard[j+] then
handCard[j],handCard[j+] = handCard[j+],handCard[j]
end
end
end
cclog("排序后的数据")
for i=, do
cclog("handCard[%d]===============%d",i,handCard[i])
end i =
repeat
if handCard[i] == handCard[i+] and handCard[i] == handCard[i+] and
handCard[i] == handCard[i+] then
cclog("进入data1")
for j=, do
table.insert(data[],handCard[i])
end
cclog("data[i]====%d,%d,%d,%d",data[][],data[][],data[][],data[][]) i = i+
elseif handCard[i] == handCard[i+] and handCard[i] == handCard[i+] then
cclog("进入data2")
for j=, do
table.insert(data[],handCard[i])
end
i = i+ elseif handCard[i] == handCard[i+] then
cclog("进入data3")
for j=, do
table.insert(data[],handCard[i])
end
i = i+
else
cclog("进入data4")
table.insert(data[],handCard[i])
i = i+
end
until(i>) cclog("第二次处理后的数据")
for i=, do
for j=,#data[i] do
cclog("data[%d][%d]=====%d",i,j,data[i][j])
end
end
---------------------------------------------------------------------
--从表中选出,想要的三个数据
function dataInsert(table1,table2)
for i=, #table2 do
table.insert(table1,table2[i])
end
end
cclog("开始查找2710===========")
dataInsert(data[],dataDeal(data[],,,))
dataInsert(data[],dataDeal(data[],,,))
dataInsert(data[],dataDeal(data[],,,))
for i=, do
dataInsert(data[],dataDeal(data[],i,i+,i+))
end return data
end
--用于测试
handCard = {,,,,,,,,,,,,,,,,,,,}
local aa = putStartCard(handCard)
cclog("aaaaaaaaaaaaaaaaaaaaaaaaaaaa")
for i=, do
for j=,#aa[i] do
cclog("aa[%d][%d]=======%d",i,j,aa[i][j])
end
end
cclog("aaaaaaaaaaaaaaaaaaaaaaaaaaaa")

将表handCard中数据分为四组4个(相同的数据),3个(同样的数据and2,7,10and顺子),两个(相同的数据),一个(里边有很多数据,但没有重复的,没有顺子)
注意:1.表中数据移除,不可用{}和nil,移除时,表中数据会左移

    2.表中数据插入,插入的是单个数据

3.repeat循环不可以更改为for循环,for i=1,10 do end 中i只是指定循环次数

      例如:for i=1, 10 do

          i = i+3

          cclog("%d",i)

         end

        输出:4,5,6,7,8,9,10,11,12,13

        上边for循环中的i值失效

4.lua中没有continue导致程序循环次数过多

对lua表中数据按一定格式处理,循环的更多相关文章

  1. Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)

    应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create ...

  2. MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...

  3. mysql--对行(表中数据)的增删改查

    一.插入数据(增加)insert 1.插入数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); #指定字段来插入数据,插 ...

  4. jmeter随笔(1)-在csv中数据为json格式的数据不完整

    昨天同事在使用jmeter遇到问题,在csv中数据为json格式的数据,在jmeter中无法完整的取值,小怪我看了下,给出解决办法,其实很简单,我们一起看看,看完了记得分享给你的朋友. 问题现象: 1 ...

  5. Oracle 取两个表中数据的交集并集差异集合

    Oracle 取两个表中数据的交集 关键字: Oracle 取两个表中数据的交集 INTERSECT Oracle 作为一个大型的关系数据库,日常应用中往往需要提取两个表的交集数据 例如现有如下表,要 ...

  6. Mysql清空表(truncate)与删除表中数据(delete)的区别

    来源:http://blog.is36.com/mysql_difference_of_truncate_and_delete/ 为某基于wordpress搭建的博客长久未除草,某天升级的时候发现已经 ...

  7. db2删除表中数据

    DB2数据库系统建表后,难免会有将表中数据清空的需求,本文将为您介绍DB2数据库中四种数据删除的方法,供您参考,您可以根据实际情况来进行选择,希望能对有所帮助. 1. 使用 DELETE 语句,即: ...

  8. mysql利用navicat导出表结构和表中数据

    LZ在网上搜索了要如何导出mysql的表结构和表中数据,发现有的方法不好用 记录一下好用的方式: 用navicat打开DB链接后,点击数据库,右击选择转储SQL文件,然后选择结构和数据: 之后弹出新的 ...

  9. pl/sql中误删表中数据并提交恢复办法

    最近在操作表中数据时,删除了表中数据,但是又想恢复,后来查到了官方的一篇文档,发现还蛮有用的,如下: 在pl/sql中运行,select * from A as of TIMESTAMP to_tim ...

随机推荐

  1. Windows控制台下绘制简单图形

    最近接触到一个很有意思的问题,如何在Windows控制台下画图,翻遍了C的头文件也没找到画图的函数,好吧,那就用Windows提供的API函数吧,看来想移植是没戏了.先画一个简单的图,类似心电图那种吧 ...

  2. freemarker写select组件报错总结(五)

    1.错误描述 六月 26, 2014 10:44:49 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...

  3. java中final和static

    final的意思是最终的,最后的额,不可变的,在java中也具有相似的含义. final修饰基础数据表示把该数据修饰成常量,意味着不可修改,不可变. final修饰对象的引用的时候,表示该引用不可变, ...

  4. 常用的freemark语法(三)

    一,符号的意义 1.0,单问号 ?后面要加关键字,例如:<#if object?exists>object对象不为空</#if> <#if str??>${str? ...

  5. C#隐式转换和显示转换举例--C#基础

    高精度的数据类型转换为低精度的数据类型是显示转换,低精度的转换为高精度的是隐式转换. 温馨提示:不能说强制类型转换是从低精度到高精度. int a=666;float b=(float)a: 由a到b ...

  6. 游戏中实现粒子碰撞,纯java

    package com.totoo.TouhouMassLight;import android.content.Context;import android.graphics.Bitmap;impo ...

  7. flash数据交互

    新随笔 联系 订阅 管理 随笔 - 14  文章 - 5  评论 - 0 安卓中webview读取html,同时嵌入Flex的SWF,交互 安卓activity与html交互很简单,用javascri ...

  8. 【BZOJ3932】任务查询系统(主席树)

    [BZOJ3923]任务查询系统(主席树) 题面 Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的 任务用三元组(Si,Ei ...

  9. [APIO2009]抢掠计划

    题面: Description Siruseri城中的道路都是单向的.不同的道路由路口连接.按照法律的规定,在每个路口都设立了一个Siruseri银行的ATM取款机.令人奇怪的是,Siruseri的酒 ...

  10. Bzoj4869: [Shoi2017]相逢是问候

    题面 传送门 Sol 摆定理 \[ a^b\equiv \begin{cases} a^{b\%\phi(p)}~~~~~~~~~~~gcd(a,p)=1\\ a^b~~~~~~~~~~~~~~~~~ ...