刚写的,新鲜出炉:
#include <stdioh>#include <stringh>
#include <stdlibh>
#include <timeh>
#define MAPSIZE 4
#define MAXLINESIZE 60
//typedef enum{false,true} bool;
typedef struct{
int x,y;
}Point;
const char pictureTable[]={" ABCEDFGHI"};
bool judgeLine(char MP,Point start,Point end){
int i;
if(start->x==end->x){
if(start->y > end->y){
for(i = start->y - 1 ; i > end->y ; i--)
if(MP[start->x][i]!=0)
return false;
return true;
}
else{
for(i = start->y + 1 ; i < end->y ; i++)
if(MP[start->x][i]!=0)
return false;
return true;
}
}
else if(start->y==end->y){
if(start->x > end->x ){
for(i = start->x - 1 ; i > end->x ; i--)
if(MP[i][start->y]!=0)
return false;
return true;
}
else{
for(i = start->x + 1 ; i < end->x ; i++)
if(MP[i][start->y]!=0)
return false;
return true;
}
}
return false;
}
bool judgeTwoLines(char MP,Point start,Point end,Point mid){
Point p1,p2;
mid->x=-1;
mid->y=-1;
if(judgeLine(MP,start,end)==true) return true;
p1x=start->x;
p1y=end->y;
p2x=end->x;
p2y=start->y;
mid->x=p1x;
mid->y=p1y;
if(MP[p1x][p1y]==0 && judgeLine(MP,start,&p1) && judgeLine(MP,end,&p1)) return true;
mid->x=p2x;
mid->y=p2y;
if(MP[p2x][p2y]==0 && judgeLine(MP,start,&p2) && judgeLine(MP,end,&p2)) return true;
return false;
}
bool judgeTreeLines(char MP,Point start,Point end,Point mid1,Point mid2,int n){
int i;
mid1->x=-1;mid1->y=-1;
mid2->x=-1;mid2->y=-1;
if(judgeTwoLines(MP,start,end,mid1)) return true;
for( i=start->x - 1;i>=0;i--){
if(MP[i][start->y]!=0) break;
mid1->x=i;
mid1->y=start->y;
if(judgeTwoLines(MP,mid1,end,mid2)) return true;
}
for( i=start->x + 1;i<=n+1;i++){
if(MP[i][start->y]!=0) break;
mid1->x=i;
mid1->y=start->y;
if(judgeTwoLines(MP,mid1,end,mid2)) return true;
}
for( i=start->y - 1;i>=0;i--){
if(MP[start->x][i]!=0) break;
mid1->x=start->x;
mid1->y=i;
if(judgeTwoLines(MP,mid1,end,mid2)) return true;
}
for( i=start->y + 1;i<=n+1;i++){
if(MP[start->x][i]!=0) break;
mid1->x=start->x;
mid1->y=i;
if(judgeTwoLines(MP,mid1,end,mid2)) return true;
}
return false;
}
void ptMap(char MP,int n){
int space=(MAXLINESIZE-n2)/2;
int i,j;
for(i=0;i<(MAXLINESIZE-10)/2;i++)
printf(" ");
printf("《连连看》\n");
for(i=2;i<space;i++) printf(" ");
printf("x\n");
for(i=1;i<=n;i++){
for(j=2;j<space;j++)
printf(" ");
printf("%d ",i);
for(j=1;j<=n;j++)
printf("%c ",pictureTable[MP[i][j]]);
printf("\n");
}
for(i=0;i<space;i++)
printf("");
for(i=0;i<n;i++)
printf("%d",i+1);
for(i=1;i<space;i++)
printf("");
printf("\n");
}
char createMap(int n){
char ret;
int i;
ret=(char)malloc(sizeof(char)(n+2));
for(i=0;i<n+2;i++)
ret[i]=(char)malloc(sizeof(char)(n+2));
return ret;
}
void ranMap(char MP,int n){
int all=(int)malloc(sizeof(int)nn);
int i,tmpi,tmp;
for(i=0;i<nn;i++)
all[i]=i/4+1;
for(i=0;i<nn;i++){
tmpi=rand()%(nn-i);
tmp=all[tmpi];
all[tmpi]=all[nn-i-1];
all[nn-i-1]=tmp;
}
for(i=0;i<n+2;i++){
MP[0][i]=0;
MP[n+1][i]=0;
MP[i][0]=0;
MP[i][n+1]=0;
}
tmpi=0;
for(i=1;i<=n;i++)
for(tmp=1;tmp<=n;tmp++)
MP[i][tmp]=all[tmpi++];
}
void deletePoints(char MP,Point p1,Point p2){
MP[p1->x][p1->y]=0;
MP[p2->x][p2->y]=0;
}
int playTurns(int n){
int rest=nn;
char mp=createMap(n),c;
ranMap(mp,n);
Point mid1,mid2,pt1,pt2;
while(1){
ptMap(mp,n);
printf("请输入消去的坐标1(x1 y1):\n");
scanf("%d%d",&pt1x,&pt1y);
printf("请输入消去的坐标2(x2 y2):\n");
scanf("%d%d",&pt2x,&pt2y);
if((pt1x==pt2x && pt1y==pt2y) || (pt1x<1 || pt1x>n || pt2x < 1 || pt2x > n || pt1y<1 || pt1y>n || pt2y < 1 || pt2y > n)){
printf("无法消除这两图案,请再次检查。");
}
else if(mp[pt1x][pt1y]!=0 && mp[pt1x][pt1y]==mp[pt2x][pt2y] && judgeTreeLines(mp,&pt1,&pt2,&mid1,&mid2,n)){
if(mid1x==-1){
printf("Direct\n");
}
else if(mid2x==-1){
printf("TwoLines :(%d,%d)\n",mid1x,mid1y);
}
else{
printf("TreeLines:(%d,%d)(%d,%d)\n",mid1x,mid1y,mid2x,mid2y);
}
deletePoints(mp,&pt1,&pt2);
printf("消去成功!\n");
rest-=2;
if(rest==0){
printf("恭喜!你已消去所有图案!\n");
break;
}
}
else{
printf("无法消除这两图案,请再次检查。");
}
printf("继续游戏(N/n不继续)?");
scanf(" %c",&c);
if(c=='N' || c=='n') break;
}
printf("是否重新开局(Y/y继续)?");
scanf(" %c",&c);
if(c=='y' || c=='Y') return 1;
return 0;
}
int main(){
srand(time(0));
while(playTurns(4));
return 0;
}
package mybaseprograme;
/
lianliankan总体算法思路:由两个确定的按钮。若这两个按钮的数字相等,就开始找它们相连的路经。这个找路经
分3种情况:(从下面的这三种情况,我们可以知道,需要三个检测,这三个检测分别检测一条直路经。这样就会有
三条路经。若这三条路经上都是空按钮,那么就刚好是三种直线(两个转弯点)把两个按钮连接起来了)
1相邻
2 若不相邻的先在第一个按钮的同行找一个空按钮。1)找到后看第二个按钮横向到这个空按钮
所在的列是否有按钮。2)没有的话再看第一个按钮到与它同行的那个空按钮之间是否有按钮。3)没有的话,再从
与第一个按钮同行的那个空按钮竖向到与第二个按钮的同行看是否有按钮。没有的话路经就通了,可以消了
3若2失败后,再在第一个按钮的同列找一个空按钮。1)找到后看第二个按钮竖向到这个空按钮所在的行是否有按钮。
2)没有的话,再看第一个按钮到与它同列的那个空按钮之间是否有按钮。3)没有的话,再从与第一个按钮同列的
那个空按钮横向到与第二个按钮同列看是否有按钮。没有的话路经就通了,可以消了。
若以上三步都失败,说明这两个按钮不可以消去。
/
import javaxswing;
import javaawt;
import javaawtevent;
public class LianLianKan implements ActionListener {
JFrame mainFrame; // 主面板
Container thisContainer;
JPanel centerPanel, southPanel, northPanel; // 子面板
JButton diamondsButton[][] = new JButton[6][5];// 游戏按钮数组
JButton exitButton, resetButton, newlyButton; // 退出,重列,重新开始按钮
JLabel fractionLable = new JLabel("0"); // 分数标签
JButton firstButton, secondButton; // 分别记录两次被选中的按钮
// 储存游戏按钮位置(这里其实只要6行,5列。但是我们用了8行,7列。是等于在这个面板按钮的周围还围
//了一层是0的按钮,这样就可以实现靠近面板边缘的两个按钮可以消去)
int grid[][] = new int[8][7];
static boolean pressInformation = false; // 判断是否有按钮被选中
int x0 = 0, y0 = 0, x = 0, y = 0, fristMsg = 0, secondMsg = 0, validateLV; // 游戏按钮的位置坐标
int i, j, k, n;// 消除方法控制
public void init() {
mainFrame = new JFrame("JKJ连连看");
thisContainer = mainFramegetContentPane();
thisContainersetLayout(new BorderLayout());
centerPanel = new JPanel();
southPanel = new JPanel();
northPanel = new JPanel();
thisContaineradd(centerPanel, "Center");
thisContaineradd(southPanel, "South");
thisContaineradd(northPanel, "North");
centerPanelsetLayout(new GridLayout(6, 5));
for (int cols = 0; cols < 6; cols++) {
for (int rows = 0; rows < 5; rows++) {
diamondsButton[cols][rows] = new JButton(String
valueOf(grid[cols + 1][rows + 1]));
diamondsButton[cols][rows]addActionListener(this);
centerPaneladd(diamondsButton[cols][rows]);
}
}
exitButton = new JButton("退出");
exitButtonaddActionListener(this);
resetButton = new JButton("重列");
resetButtonaddActionListener(this);
newlyButton = new JButton("再来一局");
newlyButtonaddActionListener(this);
southPaneladd(exitButton);
southPaneladd(resetButton);
southPaneladd(newlyButton);
fractionLablesetText(StringvalueOf(IntegerparseInt(fractionLable
getText())));
northPaneladd(fractionLable);
mainFramesetBounds(280, 100, 500, 450);
mainFramesetVisible(true);
mainFramesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
}
public void randomBuild() {
int randoms, cols, rows;
for (int twins = 1; twins <= 15; twins++) {//一共15对button,30个
randoms = (int) (Mathrandom() 25 + 1);//button上的数字
for (int alike = 1; alike <= 2; alike++) {
cols = (int) (Mathrandom() 6 + 1);
rows = (int) (Mathrandom() 5 + 1);
while (grid[cols][rows] != 0) {//等于0说明这个空格有了button
cols = (int) (Mathrandom() 6 + 1);
rows = (int) (Mathrandom() 5 + 1);
}
thisgrid[cols][rows] = randoms;
}
}
}
public void fraction() {
fractionLablesetText(StringvalueOf(IntegerparseInt(fractionLable
getText()) + 100));
}
public void reload() {
int save[] = new int[30];
int n = 0, cols, rows;
int grid[][] = new int[8][7];
for (int i = 0; i <= 6; i++) {
for (int j = 0; j <= 5; j++) {
if (thisgrid[i][j] != 0) {
save[n] = thisgrid[i][j];//记下每个button的数字
n++;//有几个没有消去的button
}
}
}
n = n - 1;
thisgrid = grid;
while (n >= 0) {//把没有消去的button重新放一次
cols = (int) (Mathrandom() 6 + 1);
rows = (int) (Mathrandom() 5 + 1);
while (grid[cols][rows] != 0) {
cols = (int) (Mathrandom() 6 + 1);
rows = (int) (Mathrandom() 5 + 1);
}
thisgrid[cols][rows] = save[n];
n--;
}
mainFramesetVisible(false);
pressInformation = false; // 这里一定要将按钮点击信息归为初始
init();
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 5; j++) {
if (grid[i + 1][j + 1] == 0)
diamondsButton[i][j]setVisible(false);
}
}
}
public void estimateEven(int placeX, int placeY, JButton bz) {
if (pressInformation == false) {
x = placeX;
y = placeY;
secondMsg = grid[x][y];
secondButton = bz;
pressInformation = true;
} else {
x0 = x;
y0 = y;
fristMsg = secondMsg;
firstButton = secondButton;
x = placeX;
y = placeY;
secondMsg = grid[x][y];
secondButton = bz;
if (fristMsg == secondMsg && secondButton != firstButton) {
xiao();
}
}
}
public void xiao() { // 相同的情况下能不能消去。仔细分析,不一条条注释
if ((x0 == x && (y0 == y + 1 || y0 == y - 1))
|| ((x0 == x + 1 || x0 == x - 1) && (y0 == y))) { // 判断是否相邻
remove();
} else {
for (j = 0; j < 7; j++) {
if (grid[x0][j] == 0) { // 判断和第一个按钮同行的哪个按钮为空
//如果找到一个为空的,就按列值的三种情况比较第二个按钮与空按钮的位置
if (y > j) {//第二个按钮在空按钮右边
for (i = y - 1; i >= j; i--) { //检测从第二个按钮横向左边到空格所在列为止是否全是空格
if (grid[x][i] != 0) {
k = 0;
break;//存在非空格的就退出,这一退出就不可能k==2了,所以就会到下而215行出同理的判断列
} else {
k = 1;
} // K=1说明全是空格通过了第一次验证,也就是从第二个按钮横向左边到空格所在列为止全是空格
}
if (k == 1) {
linePassOne();//进入第二次验证,也就是从第一个按钮到它同行的空格之间的空格判断
}
}
if (y < j) { // 第二个按钮在空按钮左边
for (i = y + 1; i <= j; i++) {//检测从第二个按钮横向右边到空格所在列为止是否全是空格
if (grid[x][i] != 0) {
k = 0;
break;
} else {
k = 1;
}
}
if (k == 1) {
linePassOne();
}
}
if (y == j) {//第二个按钮和空按钮同列
linePassOne();
}
}
//第三次检测,检测确定为空的第j列的那个按钮竖向到第二个按钮,看是不是有按钮
if (k == 2) {
if (x0 == x) {//第一,二按钮在同行
remove();
}
if (x0 < x) {//第一按钮在第二按钮下边
for (n = x0; n <= x - 1; n++) {//从空按钮竖向到第二个按钮所在行是否有按钮
if (grid[n][j] != 0) {
k = 0;
break;
}
//没有按钮,说明这条路经就通了
if (grid[n][j] == 0 && n == x - 1) {
remove();
}
}
}
if (x0 > x) {//第一按钮在第二按钮上边
for (n = x0; n >= x + 1; n--) {
if (grid[n][j] != 0) {
k = 0;
break;
}
if (grid[n][j] == 0 && n == x + 1) {
remove();
}
}
}
}
}//-------------------------------------for
//当上面的检测与第一个按钮同行的空格按钮失败后(不能找到与第二个按钮的相连路经),下面就执行
//检测与第一个按钮同列的空格按钮
for (i = 0; i < 8; i++) {
if (grid[i][y0] == 0) {// 判断和第一个按钮同列的哪个按钮为空
if (x > i) {//第二个按钮在这个空按钮的下面
for (j = x - 1; j >= i; j--) {
if (grid[j][y] != 0) {
k = 0;
break;
} else {
k = 1;
}
}
if (k == 1) {
rowPassOne();
}
}
if (x < i) {//第二个按钮在这个空按钮的上面
for (j = x + 1; j <= i; j++) {
if (grid[j][y] != 0) {
k = 0;
break;
} else {
k = 1;
}
}
if (k == 1) {
rowPassOne();
}
}
if (x == i) {//第二个按钮与这个空按钮同行
rowPassOne();
}
}
if (k == 2) {
if (y0 == y) {//第二个按钮与第一个按钮同列
remove();
}
if (y0 < y) {//第二个按钮在第一个按钮右边
for (n = y0; n <= y - 1; n++) {
if (grid[i][n] != 0) {
k = 0;
break;
}
if (grid[i][n] == 0 && n == y - 1) {
remove();
}
}
}
if (y0 > y) {//第二个按钮在第一个按钮左边
for (n = y0; n >= y + 1; n--) {
if (grid[i][n] != 0) {
k = 0;
break;
}
if (grid[i][n] == 0 && n == y + 1) {
remove();
}
}
}
}
}//--------------------------------for
}//-------------else
}//------------xiao
public void linePassOne() {
if (y0 > j) { // 第一按钮同行空按钮在左边
for (i = y0 - 1; i >= j; i--) { // 判断第一按钮同左侧空按钮之间有没按钮
if (grid[x0][i] != 0) {
k = 0;
break;
} else {
k = 2;
} // K=2说明通过了第二次验证
}
}
if (y0 < j) { // 第一按钮同行空按钮在右边
for (i = y0 + 1; i <= j; i++) {
if (grid[x0][i] != 0) {
k = 0;
break;
} else {
k = 2;
}
}
}
}
public void rowPassOne() {
if (x0 > i) {//第一个按钮在与它同列的那个空格按钮下面
for (j = x0 - 1; j >= i; j--) {
if (grid[j][y0] != 0) {
k = 0;
break;
} else {
k = 2;
}
}
}
if (x0 < i) {//第一个按钮在与它同列的那个空格按钮上面
for (j = x0 + 1; j <= i; j++) {
if (grid[j][y0] != 0) {
k = 0;
break;
} else {
k = 2;
}
}
}
}
public void remove() {
firstButtonsetVisible(false);
secondButtonsetVisible(false);
fraction();
pressInformation = false;
k = 0;
grid[x0][y0] = 0;
grid[x][y] = 0;
}
public void actionPerformed(ActionEvent e) {
if (egetSource() == newlyButton) {
int grid[][] = new int[8][7];
thisgrid = grid;
randomBuild();
mainFramesetVisible(false);
pressInformation = false;
init();
}
if (egetSource() == exitButton)
Systemexit(0);
if (egetSource() == resetButton)
reload();
for (int cols = 0; cols < 6; cols++) {
for (int rows = 0; rows < 5; rows++) {
if (egetSource() == diamondsButton[cols][rows])
estimateEven(cols + 1, rows + 1, diamondsButton[cols][rows]);
}
}
}
public static void main(String[] args) {
LianLianKan llk = new LianLianKan();
llkrandomBuild();
llkinit();
}
}
把两张一样的牌,用三根以下的线连起来,这就是连连看。简单,却不缺乏挑战,道具、连击、多样的地图,让你永远不会玩腻。而且连连看需要的不仅仅是眼力,更需要细心。
50版本
很多人玩过单机版的连连看,但很少有人知道连连看的生命史:
连连看是台湾的陈一进、简诚志先生根据“四川省”改编、发明的一种桌面游戏。他们至今未从连连看获取过任何经济利益。
但大陆有“软件作者”并不自主开发,而是将连连看2、3的署名去掉,换上自己的名字,就把连连看2变成了所谓的“连连看3x”、“连连看4x”,并通过偷偷安装流氓插件、修改首页等方式获取灰色收入,损害玩家利益,侵害原作者名誉,希望广大玩家注意辨别。
连连看的最新版本区别与以往各个版本主要特点有:
连连看5有很多新的特性,相对于连连看4,新特性包括:
1. 全新引擎,游戏更为华丽、不再是静止不动。
2 总共五种游戏模式、三种难度等级、十三种关卡。
3. 主题模式可自定义主题、玩家自己的、头像、音乐、链接将可进入游戏。
4. 革新的动态头像。
5. 漂亮的动态背景。
6. 联机模式、可以边和朋友语音聊天,边玩连连看。
7. 自带地图编辑器,可自己制作地图,并加入游戏。
8. 更多改进期待您在游戏中发掘。
注:游戏排名不分先后
百兽王系列
本游戏的玩法和普通的连连看游戏相同,不同的是全部采用《古域》中的灵兽和坐骑图标。由于《古域》是一款穿越网游,从古代神兽到现代机器人全部囊括其中,所以刚开始上手应该很简单,但想要获得高分还是有难度的,毕竟百兽千骑的数量比较庞大,这也是《古域》的核心玩法之一。
游戏 *** 作: 用鼠标选取附近想同的灵兽、坐骑图标,将其消除、消去全部图标后进入下一关,并获得一张灵兽卡片每关开始都会重新计时。
宠物系列
社交游戏依托Manyou开放平台,推出了社交游戏“宠物连连看”。作为一款社交游戏,宠物连连看更加注重用户的互动性。社交游戏“宠物连连看”紧密的和个人空间相结合,用户可以在个人空间自由添加移除此应用。社交游戏“宠物连连看”在游戏中推出积分换大礼活动,用户在游戏之余不仅可以获得鲜花汽车等,还可以相互赠送。为增加游戏的互动性,“宠物连连看”还推出了猜积分功能,用户在游戏“宠物连连看”之余猜猜谁的积分高,也会有意想不到的收获。
游戏规则,社交游戏“宠物连连看”考验的是各位的眼力,在有限的时间内,只要把所有能连接的相同图案,两个一对地找出来,每找出一对,它们就会自动消失,只要把所有的图案全部消完即可获得胜利。所谓能够连接,指得是:无论横向或者纵向,从一个图案到另一个图案之间的连线不能超过两个弯,其中,连线不能从尚未消去的图案上经过。
“宠物连连看”游戏开始以后,玩家可以首先找到一些直接相邻的图案,先点击其中一个,随后是另外一个,将它们消去,随后在外侧的同一个平面寻找,之后是该平面和与之相邻的外侧平面寻找。游戏的难度不高,主要考验各位的眼力。画面上方的长条表示游戏的剩余时间,全部扣完的话玩家即告失败,点击之后的“再玩一次”可以再次尝试。游戏依照时间多少分为不同的,各位如果想挑战高难度的话,可得抓紧时间。
LOGO系列
纵览连连看游戏,在形式上是“五彩缤纷”:宠物、美女、水果、三国人物、明星等,当然还有“LOGO连连”。
在这么多的连连看游戏中,为何要单独提出“LOGO连连看”原因有这一二:
LOGO连连看界面不比其他的差,甚至要好;
LOGO连连看除了玩之外,还有奖励,而且是实实在在的奖励;
LOGO连连看有玩家互动,时时有游戏攻略发布,主要是很多玩家愿意分享自己过关的心得;
LOGO连连看的发布者是想把这个游戏当成事业来推广,使更多的网民快乐开心。
连连看新玩法:最左上角的LOGO隐藏了其他LOGO,过每一关都是这一个LOGO在此位置,这就要看技术和运气。
QQ游戏系列
QQ连连看,只要将相同花色的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手。游戏速度节奏快,画面清晰可爱,适合以MM主心细的玩家。丰富的道具和公共模式的加入,增强游戏的竞争性。多样式的地图,使玩家在各个游戏水平都可以寻找到挑战的目标,长期地保持游戏的新鲜感。使用新颖的连击积分规则,使游戏玩家在体会连击的快感后,同时对自己的游戏速度,更有挑战性和追求极速的欲望。
水晶系列
这个连连看的消除方法是:相邻的两个同色可以消除,水晶在不断上涨。上涨到顶部,即为输。
这个水晶连连看的关键在于消除同色水晶时候别见有同色的就消。切忌,一定要眼光长远,不一定消的干净就是好事,因为后面涨出来的水晶很有可能是单色相间。如果他的旁边没有水晶和他相配,你肯定就会死掉。
秘籍就是:先上边。后下边,先两边后中间,因为死的一般都是两边先顶住的顶。因为两边的救子少。所以成对的水晶就少。
消的时候一定要看,消除后掉下了的水晶能和旁边的水晶成对,如果不能就不要消。
KAWAI系列
这个连连看是用 VB 60 编写的一个单机版游戏,里面用的是《神奇宝贝》系列中的那些神奇宝贝的。
这个游戏是台湾的一位作者制作的,由于台湾那边的 *** 作系统使用的是 Big-5 代码,所以直接运行时可能会出现乱码错误,需要用翻译软件的编码转换功能转换成繁体中文版的才能正常使用。
游戏规则及玩法说明
玩法说明
游戏规则是需选择一对相同的牌联机,但此联机是在避开其它牌子后,
呈现的路径以不超过二转弯处为主(见范例图标),如符合规定则消除此一对牌而得分。
每一局里玩家需要在规定的时间内消除所有的牌子,当完成任务后,会有额外的奖励,
并且才能进入下一关卡。
游戏结束后会以玩家的得分多寡来决定是否登录排行榜。
鼠标左键点1次=选取牌
鼠标右键=取消选取
同一张牌左键点2次=取消选取
生命点数说明
当出现无解的局面时,游戏会自动扣掉一点生命点数,而重新换牌。
游戏一开始会给玩家一些生命值,每过一关会增加1点。
使用〔重新洗牌〕功能,则会扣除1点生命点数,而重新换牌。
如果生命点数等于0,而且局面出现无解的局面,则游戏结束。
提示说明
使用〔提示〕功能,游戏会自动显示一组可以消除的牌组。
游戏一开始会给玩家一些提示值,每过一关会增加1点。
分数说明分数上的设计,每过一关,则会依照比例加重给分。
功能说明
单人: 单人过关游戏,其中又有分困难度,必须循序渐进2人合作: 1家使用鼠标,2家使用键盘
2人网络联机合作:设定好联机,就可以同时进行游戏(注1)
放弃: 放弃此局
结束离开: 关闭此游戏
提示: 自动显示一组可以消除的牌组,有次数限制。
重新洗牌: 扣除一点生命点数,并重新换牌,有次数限制。(注3)
暂停/取消暂停: 暂停时间,但是不显示排面,没有次数限制。
音乐开关: 音乐开关,预设是开
音效开关: 音效开关,预设是开
查看榜单: 观看本机上的排行榜,里面有选项可以消除本机上的所有排行榜。
观看网络上的纪录:可观看网络上的最高分排行榜(注2)
游戏文字说明: 开启此说明档
游戏说明: 开启说明玩法
作者: 作者宣告
(注1)联机部分还在测试阶段,玩家可以试试看,有bug请回报
(注2)可直接连上 连连看官网 观看网络上的纪录
(注3)重新洗牌功能,也可以用来自杀
其它说明
A共有3个难度,必须要先破Easy才能玩Normal,同样的,必须要先破Normal才能玩Hard
B每个难度都有11关,以下是每一关的规则:
第一关不变化
第二关向下
第三关向左
第四关上下分离
第五关左右分离
第六关上下集中
第七关左右集中
第八关上左下右
第九关左下右上
第十关向外扩散
第十一关向内集中
C每一关过关时的加分设定:
时间、生命值、提示点数都依照关数,以某种比例给分
另外关数也会额外加分(例如第一关+200,第二关+400,第七关+2800)
D热键说明:
F1 单人Easy模式
F2 单人Normal模式
F3 单人Hard模式
F5 提示
F6 重新洗牌
F7 暂停/取消暂停
F9 查看榜单
F12 放弃此局
KAWAI 连连看背景
对于 Easy 等级,每一关的背景是一些小宠物或者一些动漫人物的。
对于 Normal 等级,每一关的背景是一些美丽的风景照(大多数是国外的风景)。
对于 Hard 等级,每一关的背景是一些美女/模特的照片。可以到参考资料中给定的地址处下载自己喜欢的背景。
KAWAI 连连看背景音乐的名字
最常播放的6首歌曲
1.一个人的我依然会微笑(林佳仪)
2.每天爱你多一些(张学友)
3.Making Love out of Nothing at all
4.Nothing s gonna change my love for you
5.Without You
6.新不了情
其他9首歌曲
1.泪海(许茹芸)
2.曲终人散(张宇)
3.用心良苦(张宇)
4.宽容(张信哲)
5.太想爱你(张信哲)
6.吻别(张学友)
7.姐妹(张惠妹)
8.听海(张惠妹)
9.我愿意(王菲)
10.好日子(宋祖英)
552 KAWAI连连看秘籍
获取背景音乐
KAWAI连连看程序的作者设计这个程序的时候,把背景音乐压缩在exe应用程序中,在运行程序的时候再把它解压到WINDOWS系统文件夹里,这样我们无法直接获取其背景音乐。但是我却在一次偶然的情况下发现了获取背景音乐的方法,在这里和大家共享。
1. 打开KAWAI连连看游戏,并打开其背景音乐的开关。
2. 打开“我的电脑”—— C:\WINDOWS 这个文件夹(Windows2000系统是 C:\WINNT 文件夹),可以发现在这个文件夹里有一个名叫 D4S30MID 的文件,这就是播放的KAWAI连连看背景音乐文件。
3. 把这个文件 COPY 到计算机里的其他文件夹中就 OK 啦。
PS: KAWAI连连看在运行时把任何背景音乐都存放于 C:\WINDOWS\D4S30MID 这个文件,所以如果你想多 COPY 一些音乐,请不要忘了在 COPY 之后重命名,比如分别命名为 D4S30_1MID,D4S30_2MID 等。
打开 Normal,Hard 难度的开关
KAWAI连连看游戏的规则是:必须先从 Easy 开始玩,玩通关 Easy 后才能玩 Normal,玩通关 Normal 才能玩 Hard。可是,我发现了一个秘籍,可以直接打开 Normal 和 Hard 难度的开关,无需自己破关。
1. 打开记事本,在“打开”对话框里输入文件名 %windir%\kawaiv30tmp
2. 在文件结尾追加 Advance=2 这一行文字。
3. 保存文件,再打开KAWAI连连看,看看是不是 Normal、Hard 难度都被打开了
魔兽DoTA版
由孙学青用vb根据传统连连看底版,加上个人创造编译出。
以现在流行竞技游戏“魔兽争霸”中的DoTA作为模仿形式,使英雄元素融入连连看的游戏。
开局:选择英雄。(共7个英雄,有不同属性和技能)
选择难度,进行游戏。
过程:以掉血方式作为计算时间的依据。但没消除一次,可增加5金币和2血。
游戏中可购买道具,或合成道具。
游戏过程有经验值,可升级,升技能。
还有地图编辑器。
果蔬系列
以蔬菜水果为主题的连连看类型的小游戏,游戏中有樱桃、香蕉、橙子、菠萝、草莓等水果,游戏采用鼠标 *** 作,将图案相同的两张用三根以内的直线连在一起就可以消除。
1点击“开始”后,屏幕的下半块是呈**的,这样那些图标就看不出来是什么
答:网络原因或者机器显卡出现问题,建议重新安装显卡驱动。
2“打开游戏客户端失败,如果由此问题而不能进行游戏,请尝试重新安装连连看游戏”
答:游戏客户端问题,建议退出房间,重新进入,或者重新下载安装连连看客户程序。
3“由于未知原因与服务器失去联络”
答:网络原因,建议玩家换一个游戏服务器登陆。也可能是玩家使用了外挂程序导致系统将其踢出。
4为什么有时候是第一个连完却还总是扣分?
答:网络问题,由于网速慢的原因,导致你本地的资料上传不到服务器上,所以你只看到了在你电脑上连完了,而服务器主机接受不到信息。
5“为什么我已经下载了游戏大厅,也下载了连连看这个游戏,但总也连不上游戏大厅,总是说无法连接密码库”
答:服务器原因,建议玩家换一个游戏服务器登陆。
6“我打连连看是总会卡住
出现什么切换到
重试让你选择”
答:内存或游戏客户端问题,建议玩家狂按切换到或者退出游戏大厅重新进入。
1点击“开始”后,屏幕的下半块是呈**的,这样那些图标就看不出来是什么
答:网络原因或者机器显卡出现问题,建议重新安装显卡驱动。
2“打开游戏客户端失败,如果由此问题而不能进行游戏,请尝试重新安装连连看游戏”
答:游戏客户端问题,建议退出房间,重新进入,或者重新下载安装连连看客户程序。
3“由于未知原因与服务器失去联络”
答:网络原因,建议玩家换一个游戏服务器登陆。也可能是玩家使用了外挂程序导致系统将其踢出。
4为什么有时候是第一个连完却还总是扣分?
答:网络问题,由于网速慢的原因,导致你本地的资料上传不到服务器上,所以你只看到了在你电脑上连完了,而服务器主机接受不到信息。
5“为什么我已经下载了游戏大厅,也下载了连连看这个游戏,但总也连不上游戏大厅,总是说无法连接密码库”
答:服务器原因,建议玩家换一个游戏服务器登陆。
6“我打连连看是总会卡住
出现什么切换到
重试让你选择”
答:内存或游戏客户端问题,建议玩家狂按切换到或者退出游戏大厅重新进入。
『连连看』游戏问题经典解答
这里分享下查找淘宝连连看游戏的方法。
设备:RedmiK40
系统:MIUI1203
软件:淘宝1050
1、首先打开手机,点击淘宝APP。
2、点击页面右下角的我的淘宝。
3、在我的淘宝页面中,找到省钱消消消,然后点击进入。
4、最后就进入省钱消消消的游戏中,点击页面最下方的去闯关,就可以进入游戏界面玩游戏了。
以上就是关于谁能帮忙写一个c语言连连看游戏,要4x4的,功能最简单的就可以!但是要实现连连看应该有的功能全部的内容,包括:谁能帮忙写一个c语言连连看游戏,要4x4的,功能最简单的就可以!但是要实现连连看应该有的功能、怎么用java写一个小游戏连连看、win7自带的“连连看”,有多少人玩过等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)