玩家可以将2个相同图案的对子连接起来,连接线不多于3根直线,就可以成功将对子消除。
胜利条件:将棋盘上面的对子全部消除掉。按消除的数量排列名次。其他玩家都输掉了。
失败条件:每个玩家选择牌的时间为30秒,超过时间而未消除一对的玩家以判为输掉。有一个玩家将所有的牌都全部消掉。
计分规则:每次得分附加分数为连攻击的分数。每次得分只统计最大连攻击数。最大得分:60+108=168分,经常性得分:12+18=30分。
扩展资料
连连看道具设定:
道具分为两种:
对自己使用的:将鼠标移到道具上面,点击左键。
对其他玩家使用:将鼠标移到道具上面,点击左键。就会激活道具,鼠标处会出现道具的图标。只要再将鼠标移到你想对其使用道具的人的游戏池上,点击右键就可以对其使用道具。
道具说明:只要将鼠标移到道具上面,就会出现道具的说明。对自己使用的类型为蓝色字体表示,对其他玩家使用的为红色字体表示。
参考资料来源:百度百科-连连看
《连连看》只要将相同的两张牌用三根以内的直线连在一起消除即可。
连连看,又称对对卡,是指图案配对的一种益智游戏,有多种形式,如卡片游戏、电子游戏或网络游戏)。 与“找出两幅图片中的不同”类戏同为比眼力的游戏。
最早期的形式是一副卡片中每种图案有相同的两张,先洗牌,然后排好卡片,背面朝上,玩家轮流揭开卡片,每次揭两张,如两张图案不同则回复背面朝上的状态,如揭到两张图案相同则取走卡片,到桌上所有卡片都被取走时即结束游戏,手上最多卡片者为胜利者。
后在在电子游戏中,玩家可以将2个相同图案的对子连接起来,连接线不多于3根直线,就可以成功将对子消除。 第一次使用鼠标点击棋盘中的棋子,该棋子此时为“被选中”,以特殊方式显示;再次以鼠标点击其他棋子,若该棋子与被选中的棋子图案相同,且把第一个棋子到第二个棋子连起来,中间的直线不超过3根,则消掉这一对棋子,否则第一颗棋子恢复成未被选中状态,而第二颗棋子变成被选中状态。
1、胜利条件
将棋盘上面的对子全部消除掉。按消除的数量排列名次。或者其他玩家都输掉了。
2、失败条件
每个玩家选择牌的时间为30秒,超过时间而未消除一对的玩家以判为输掉。或者有一个玩家将所有的牌都全部消掉。
扩展资料:
变种——
在开始要铺置牌在桌上之时,抽走约10张左右的牌,然后进行游戏。游戏过程中将会有部分牌永远不能成对,因而增加了刺激与可玩性。
所有玩家都同意场上的牌已经不能再翻出对牌,就可以结束游戏并决定胜负。某些牌局中规定假设翻两张已经被翻过的牌,如果没有猜中,要给予相当程度的惩罚;
这个规则可以防止众玩家不断翻旧牌而导致游戏无法继续进行。电子游戏Enigma (游戏)就是在连连看规则基础上添加动作控制元素。
////// 简单连连看游戏
//
//
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ROW 4 //行数目
#define COL 4
#define ICO_NUM 5
//游戏图标
const char ico[ICO_NUM] = "@#$&"
char games[ROW][COL] = {0}
//初始化数据
void init_game(void)
{
int i, j
for(i = 0i <ROWi++)
{
for(j = 0j <COLj++)
{
games[i][j] = rand() % (ICO_NUM - 1)//不能为空白
if()
}
}
}
//绘制游戏
void draw_game(void)
{
int i, j
printf("(连连看)\n")
printf("=x= =0==1==2==3==4==5==6==7==8==9=\n")
for(i = 0i <ROWi++)
{
printf("=%d= ", i)
for(j = 0j <COLj++)
{
printf(" %c ", ico[games[i][j]])
}
printf("\n")
}
printf("== y=0==1==2==3==4==5==6==7==8==9=\n")
}
//运行游戏
void run_game(void)
{
//坐标从0开始
int x1 = -1, y1 = -1,
x2 = -1, y2 = -1
int num = 0
char c = 0
while(1)
{
//初始化数据
init_game()
while(1)
{
//绘制游戏
draw_game()
while(1)
{
printf("请输入要消除的坐标1(x1 y1):\n")
scanf("%d%d", &x1, &y1)
if(x1 <0 || x1 >= ROW)
{
printf("x1输入有误,请从新输入:(0 <= x1 <= %d)\n",
ROW)
}
else if(y1 <0 || y1 >= COL)
{
printf("y1输入有误,请从新输入:(0 <= y1 <= %d)\n",
COL)
}
else
{
printf(" (%d, %d):%c \n",x1, y1, ico[games[x1][y1]])
break
}
}
while(1)
{
printf("请输入要消除的坐标2(x2 y2):\n")
scanf("%d%d", &x2, &y2)
if(x2 <0 || x2 >= ROW)
{
printf("x2输入有误,请从新输入:(0 <= x2 <= %d)\n",
ROW)
}
else if(y2 <0 || y2 >= COL)
{
printf("y2输入有误,请从新输入:(0 <= y2 <= %d)\n",
COL)
}
else
{
printf(" (%d, %d):%c \n",x2, y2, ico[games[x2][y2]])
break
}
}
if(games[x1][y1] == games[x2][y2])
{
printf("%c <---消除成功--->%c\n", ico[games[x1][y1]],
ico[games[x2][y2]])
games[x1][y1] = ICO_NUM - 1
games[x2][y2] = ICO_NUM - 1
num++
if(num >= (ROW * COL)/2)
{
printf("恭喜你获得胜利~\n")
break
}
}
else
{
printf("%c <---消除失败!--->%c\n", ico[games[x1][y1]],
ico[games[x2][y2]])
}
}
printf("是否再来一局?(Y/N)\n")
scanf("%c", &c)
if(c == 'N' || c == 'n')
break
}
}
int main(void)
{
//运行游戏
run_game()
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)