同花顺小游戏
来源:互联网 发布:淘宝店缓缓俄罗斯代购 编辑:程序博客网 时间:2024/06/02 08:42
同花顺小游戏-iOS版
本案例用OC语言编写只是简单的侧重同花顺游戏逻辑方面
要求说明
- 游戏名称:同花顺
- 游戏方式:电脑方和玩家双方每局各3张牌,由系统随机分配。每局开始后双方六张牌全部背面显示,玩家只能通过每张牌(自己的牌)或者点击“揭牌”按钮才能显示本张牌的正面,玩家在点击“揭牌”按钮前无法查看电脑方牌(正面),在未点击“揭牌”按钮前,玩家可以增加赌注。双方点数相同,庄家赢,
- 裁判规则:豹子(三张牌数字相同)>同花顺(三张牌花色相同且数字连续)>同花对(三张牌花色相同且其中两张数字相同)>顺子(三张牌数字连续)>单张。
思路
先将游戏双方的牌点数统一转化成int型变量,然后统一比较来决定出本局游戏的胜负。 52张纸牌图片(去除大小王)按照下列命名方式:花色分组编号_牌面数字。 花色分组情况:1---红桃,2---黑桃,3---方片,4---梅花,
核心源码
- GameService
-(NSMutableArray *)getAllDataFromFile{ NSMutableArray *allData = [[NSMutableArray alloc] init]; NSMutableArray *data = [[NSMutableArray alloc] init]; NSString *dataPath = [[NSBundle mainBundle] pathForResource:@"allData" ofType:@"plist"]; allData = [[NSMutableArray alloc] initWithContentsOfFile:dataPath]; for (int i = 0; i < 6; i++) { int random = arc4random() % [allData count]; [data addObject:allData[random]]; } return data;}-(BOOL)compareWinWithComputer:(NSMutableArray *)computer andPlayer:(NSMutableArray *)player{ int changeComputer = 0; int changePlayer = 0; //1、先将数组中的花色和数字进行分离并格式化 changeComputer = [self core:computer]; changePlayer = [self core:player]; if (changePlayer - changeComputer > 0) {//玩家赢 return YES; } return NO;}-(NSString *)intChangeFromString:(NSMutableArray *)array{ NSString * result = [[NSString alloc] init]; for (int i = 0; i < [array count]; i++) { result = [NSString stringWithFormat:@"%@%@",result,array[i]]; } return result;}-(NSMutableArray *)sortFromArray:(NSMutableArray *)array{ NSString *temp = [[NSString alloc] init]; for (int i = 0; i < [array count]; i++) { for (int j = 0; j < [array count]; j++) { if ([array[i] intValue] > [array[j] intValue]) { temp = array[i]; array[i] = array[j]; array[j] = temp; } } } return array;}-(int)examineSameNumber:(NSMutableArray *)array{ int count = 0; int temp = 0; for (int i = 0; i < [array count]; i++) { temp = 0; for (int j = 0; j < [array count]; j++) { if ([array[i] isEqualToString:array[j]]) { temp++; } } if (temp > count) { count = temp; } } return count;}-(int)core:(NSMutableArray *)array{ NSString *result = [[NSString alloc] init]; //1、先将数组中的花色和数字进行分离并格式化 NSMutableArray *colour = [[NSMutableArray alloc] init]; NSMutableArray *number = [[NSMutableArray alloc] init]; NSArray *temp = [[NSArray alloc] init]; for (int i = 0; i < [array count]; i++) { temp = [array[i] componentsSeparatedByString:@"_"]; [colour addObject:temp[0]]; [number addObject:[temp[1] componentsSeparatedByString:@"."][0]]; } //2、数字数组由大到小进行排序 NSMutableArray *sortNumber = [[NSMutableArray alloc] init]; sortNumber = [self sortFromArray:number]; //3、以数字为优先遍历 int count = [self examineSameNumber:sortNumber]; if (count == 3) {//三数字相同 result = [NSString stringWithFormat:@"50%@",[self intChangeFromString:sortNumber]]; }else if (count == 2){//两数字相同 if ([self isSameColour:colour]) { result = [NSString stringWithFormat:@"42%@",[self intChangeFromString:sortNumber]]; }else{ result = [NSString stringWithFormat:@"20%@",[self intChangeFromString:sortNumber]]; } }else if (count == 1){//三个数均不同 if ([self isContinuous:sortNumber]) {//三个数连续 if ([self isSameColour:colour]) {//花色相同 result = [NSString stringWithFormat:@"43%@",[self intChangeFromString:sortNumber]]; }else{ result = [NSString stringWithFormat:@"30%@",[self intChangeFromString:sortNumber]]; } }else if ([self isSameColour:colour]){//花色相同 result = [NSString stringWithFormat:@"40%@",[self intChangeFromString:sortNumber]]; }else{ result = [NSString stringWithFormat:@"10%@",[self intChangeFromString:sortNumber]]; } } return [result intValue];}- (BOOL)isContinuous:(NSMutableArray *)array{//判断数组中数字是否是连续的 int count = 0; for (int i = 0; i < [array count]-1; i++) { if ([array[i] intValue] - [array[i+1] intValue] == 1) { count++; } } if (count == [array count]-1) { return YES; } return NO;}- (BOOL)isSameColour:(NSMutableArray *)array{//判断数组中是否是同色 int count = 1; for (int i = 0; i < [array count]-1; i++) { if ([array[i] isEqualToString:array[i+1]]) { count++; } } if (count == [array count]) { return YES; } return NO;}
0 0
- 同花顺小游戏
- 同花顺
- 同花顺
- 同花顺使用说明
- 同花顺 tzc
- 同花顺面试
- B 同花顺
- 【day1】同花顺
- 同花顺的数据格式总览
- 同花顺扑克牌游戏-C++
- 同花顺函数API
- 同花顺C++笔试
- 同花顺面试题
- 杭州同花顺面试
- 同花顺函数API
- 小游戏
- 小游戏
- 小游戏
- Python3字典
- 00 OpenCV环境搭建(Win10+Opencv3.1+VS2015企业版)
- CSU OJ:1255 斓少摘苹果(思维)
- 【图像处理】关于掩模的作用
- Ancient Go HDU
- 同花顺小游戏
- 有了CPL和DPL,为什么还要有RPL
- 程序在内存中的分布
- 二. 再熟悉 Markdown 标准语法
- JavaEE Cookie
- 推荐系统
- SSH框架学习OA项目,类注入错误
- Html练习-Day2
- [学习笔记]设计模式[b]-{与设计模式相处}