
下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
// .h文件@class DataModel;@interface Algorithm : NSObject@property (nonatomic,assign) int addscore; // 加分- (voID)caculatetop:(DataModel *)model; // 上滑规则- (voID)caculateBottom:(DataModel *)model; // 下滑规则- (voID)caculateleft:(DataModel *)model; // 左滑规则- (voID)caculateRight:(DataModel *)model; // 右滑规则- (BOol)randNewOne:(DataModel *)data;- (int)getAddscore;@end// .m文件@implementation Algorithm#pragma mark - 滑动规则- (voID)caculatetop:(DataModel *)model { [self up_remove_blank:model]; [self up:model];}- (voID)caculateBottom:(DataModel *)model { [self down_remove_blank:model]; [self down:model];}- (voID)caculateleft:(DataModel *)model { [self left_remove_blank:model]; [self left:model];}- (voID)caculateRight:(DataModel *)model { [self right_remove_blank:model]; [self right:model];}- (int)getAddscore { int temp = _addscore; _addscore = 0; return temp;}#pragma mark - 新一个- (BOol)randNewOne:(DataModel *)model { array data = [model getData]; int all = 0; for (int i=0; i<model.matrix; i++) { for (int j=0; j<model.matrix; j++) { if (data[i][j] == 0) { all = all + 1; } } } if (all == 0) { return NO; } int index = arc4random() % all; all = 0; for (int i=0; i<model.matrix; i++) { for (int j=0; j<model.matrix; j++) { if (data[i][j] == 0) { all = all + 1; if (all == index+1) { data[i][j] = 2; return YES; } } } } return NO;}#pragma mark - 滑动算法- (voID)up_remove_blank:(DataModel *)model { array data = [model getData]; int i,j,k; for(j=0;j < model.matrix;j++){ for(i=1;i < model.matrix;i++){ k=i; while(k-1>=0&&data[k-1][j]==0){//上面的那个为空 //swap(data[k][j],data[k-1][j]); int temp = data[k][j]; data[k][j] = data[k-1][j]; data[k-1][j] = temp; k--; } } }}- (voID)down_remove_blank:(DataModel *)model { array data = [model getData]; int i,k; for(j=0; j < model.matrix; j++){ for(i = model.matrix-2; i >= 0; i--){ k=i; while(k+1<=model.matrix-1&&data[k+1][j]==0){//上面的那个为空 //swap(a[k][j],a[k][j]); int temp = data[k][j]; data[k][j] = data[k+1][j]; data[k+1][j] = temp; k++; } } }}- (voID)left_remove_blank:(DataModel *)model { array data = [model getData]; int i,k; for(i=0;i < model.matrix;i++){ for(j=1;j<model.matrix;j++){ k=j; while(k-1>=0&&data[i][k-1]==0){//上面的那个为空 //swap(a[i][k],a[i][k-1]); int temp = data[i][k]; data[i][k] = data[i][k-1]; data[i][k-1] = temp; k--; } } }}- (voID)right_remove_blank:(DataModel *)model { array data = [model getData]; int i,k; for(i=0;i<model.matrix;i++){ for(j=model.matrix-2;j>=0;j--){ k=j; while(k+1<=model.matrix-1&&data[i][k+1]==0){//上面的那个为空 //swap(a[i][k],a[i][k+1]); int temp = data[i][k]; data[i][k] = data[i][k+1]; data[i][k+1] = temp; k++; } } }}- (voID)left:(DataModel *)model { array data = [model getData]; int i,j; for(i=0;i<model.matrix;i++){ for(j=0;j<model.matrix-1;j++){ if(data[i][j]==data[i][j+1]){ _addscore = _addscore + data[i][j]; data[i][j]+=data[i][j+1]; data[i][j+1]=0; [self left_remove_blank:model]; } } }}- (voID)right:(DataModel *)model { array data = [model getData]; int i,j; for(i=0;i<model.matrix;i++){ for(j=model.matrix-1;j>=1;j--){ if(data[i][j]==data[i][j-1]){ _addscore = _addscore + data[i][j]; data[i][j]+=data[i][j-1]; data[i][j-1]=0; [self right_remove_blank:model]; } } }}- (voID)up:(DataModel *)model { array data = [model getData]; int i,j; for(j=0;j<model.matrix;j++){//每一列 for(i=0;i<model.matrix-1;i++){ if(data[i][j]==data[i+1][j]){ _addscore = _addscore + data[i][j]; data[i][j]=data[i][j]+data[i+1][j]; data[i+1][j]=0; //移除空格 [self up_remove_blank:model]; } } }}- (voID)down:(DataModel *)model { array data = [model getData]; int i,j; for(j=0;j<model.matrix;j++){//每一列 for(i=model.matrix-1;i>=1;i--){ if(data[i][j]==data[i-1][j]){ _addscore = _addscore + data[i][j]; data[i][j]=data[i][j]+data[i-1][j]; data[i-1][j]=0; //移除空格 [self down_remove_blank:model]; } } }}@end 以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的iOS版2048算法类全部内容,希望文章能够帮你解决iOS版2048算法类所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)