上升三消
上升三消,我不知道从哪刷出来的广告,结合了消除,上升,下降,挺综合的。我有两个版本,一开始是阶梯上升,就是隔一段时间上升一层,会导致错选,但这也是一种玩法,只不过这种模式不太适合这种游戏,第二个是改进后的渐变上升,广告显示的是第一种......表示第一种玩不下去。
素材用的是之前的:
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
7.jpg
阶梯性代码:
#include iostream
#include cstdlib
#include ctime
#include ctype.h
#include vector
#include math.h
#include iomanip
#include graphics.h
#include conio.h
#include windows.h
#include fstream
#include string
using namespace std;
struct Node
{
int posx,posy;
int num;
int typenum;
int lifenum;
};
Node box[100];
MOUSEMSG m;
IMAGE img[8];
int exit1,exit2,exit3;
int seed1,seed2;
int one,two,three;
int speed;
int point;
clock_t t1,t2;
void create()
{
int i,j,k;
for(i=0;i=9;i++){
for(j=0;j=7;j++){
if(box[i*8+j].lifenum==1){
box[i*8+j-8].lifenum=1;
box[i*8+j-8].typenum=box[i*8+j].typenum;
}
}
}
for(k=72;k=79;k++){
seed1++;
srand(seed1);
seed2=rand()%6+1;
seed1+=seed2;
srand(seed1);
box[k].typenum=rand()%7+1;
box[k].lifenum=1;
}
setfillcolor(WHITE);
solidrectangle(50,0,450,500);
for(k=0;k=79;k++){
if(box[k].lifenum==1) putimage(box[k].posx,box[k].posy, img[box[k].typenum]);
}
setfillcolor(WHITE);
if(one=0)one-=8;fillcircle(box[one].posx+3,box[one].posy+3,3);
if(two=0)two-=8;fillcircle(box[two].posx+3,box[two].posy+3,3);
if(three=0)three-=8;fillcircle(box[three].posx+5,box[three].posy+5,3);
for(i=0;i=7;i++){
if(box[i].lifenum==1) exit1=1;exit2=1;
break;
}
}
void change(int a)
{
setfillcolor(WHITE);
solidrectangle(box[a].posx,box[a].posy,box[a].posx+50,box[a].posy+50);
while(a7){
a-=8;
box[a+8].typenum=box[a].typenum;
if(box[a].lifenum==0){
solidrectangle(box[a+8].posx,box[a+8].posy,box[a+8].posx+50,box[a+8].posy+50);
box[a+8].lifenum=0;
break;
}
else {
putimage(box[a+8].posx,box[a+8].posy,img[box[a+8].typenum]);
}
}
}
void move()
{
int i,j,k;
exit2=0;
BeginBatchDraw();
t1=clock();
t2=clock();
while(exit2==0){
FlushBatchDraw();
t2=clock();
while(t2-t1speed){
t1=clock();
create();
}
if(MouseHit()){
m = GetMouseMsg();
if(m.uMsg==WM_LBUTTONDOWN){
i=(m.x-50)/50+m.y/50*8;
if(m.x50||m.x450){i=-2;}
if(box[i].lifenum==1i!=-2){
if(i==one){putimage(box[one].posx,box[one].posy, img[box[one].typenum]);one=-1;}
else if(i==two){putimage(box[two].posx,box[two].posy, img[box[two].typenum]);two=-1;}
else if(one==-1){one=i;fillcircle(box[one].posx+3,box[one].posy+3,3);}
else if(two==-1){two=i;fillcircle(box[two].posx+3,box[two].posy+3,3);}
else {three=i;fillcircle(box[three].posx+5,box[three].posy+5,3);}
}
}
}
while(one!=-1two!=-1three!=-1){
if(box[one].typenum==box[two].typenumbox[one].typenum==box[three].typenum){
i=onetwo?one:two;
i=ithree?i:three;
j=onetwo?one:two;
j=jthree?j:three;
if(oneionej)k=one;
else if(twoitwoj)k=two;
else k=three;//couti k jendl;
change(i);change(k);change(j);
point++;
}
putimage(box[one].posx,box[one].posy, img[box[one].typenum]);
putimage(box[two].posx,box[two].posy, img[box[two].typenum]);
putimage(box[three].posx,box[three].posy, img[box[three].typenum]);
one=-1;two=-1;three=-1;
}
}
EndBatchDraw();
}
void initialization()
{
int i,j,k;
point=0;
exit1=0;seed1=0;exit2=0;speed=2000;one=-1;two=-1;three=-1;
initgraph(500,500,SHOWCONSOLE);
cleardevice();
setfillcolor(WHITE);
solidrectangle(50,0,450,500);
loadimage(img[1],_T(../sc/1.jpg),50,50);
loadimage(img[2],_T(../sc/2.jpg),50,50);
loadimage(img[3],_T(../sc/3.jpg),50,50);
loadimage(img[4],_T(../sc/4.jpg),50,50);
loadimage(img[5],_T(../sc/5.jpg),50,50);
loadimage(img[6],_T(../sc/6.jpg),50,50);
loadimage(img[7],_T(../sc/7.jpg),50,50);
k=0;;
for(i=0;i=9;i++){
for(j=0;j=7;j++){
box[i*8+j].num=k;
box[i*8+j].posx=j*50+50;
box[i*8+j].posy=i*50;
box[i*8+j].lifenum=0;
box[i*8+j].typenum=0;
k++;
}
}
}
void carry()
{
int i,j,k;
initialization();
while(exit1==0){
move();
}
coutpointendl;
_getch();
closegraph();
}
int main()
{
carry();
return 0;
}
渐变性代码:
#include iostream
#include cstdlib
#include ctime
#include ctype.h
#include vector
#include math.h
#include iomanip
#include graphics.h
#include conio.h
#include windows.h
#include fstream
#include string
using namespace std;
struct Node
{
int posx,posy;
int num;
int typenum;
int lifenum;
};
Node box[101];
MOUSEMSG m;
IMAGE img[8];
int exit1,exit2,exit3;
int seed1,seed2;
int one,two,three;
int speed1,speed2;
int point;
clock_t t1,t2,t3,t4,t5,t6;
void create()
{
int i,j,k;
for(i=0;i=7;i++){
for(k=0;k=99;k++){
if(box[k].lifenum==0)break;
}
//coutk ;
seed1++;
srand(seed1);
seed2=rand()%6+1;
seed1+=seed2;
srand(seed1);
box[k].typenum=rand()%7+1;
box[k].lifenum=1;
box[k].posx=50+50*i;
box[k].posy=500;
}
//coutendl;
t5=clock();t6=clock();
}
void change(int x)
{
int i,j,k;
exit3=0;
setfillcolor(WHITE);
while(exit3==0){
j=0;
for(i=0;i=99;i++){
if(box[i].posx=box[x].posx+1box[i].posx=box[x].posx-1box[i].posy=box[x].posy-45box[i].posy=box[x].posy-55){
j=1;
break;
}
}
if(j==0){
exit3=1;solidrectangle(box[x].posx,box[x].posy,box[x].posx+50,box[x].posy+50);box[x].lifenum=0;
}
else{
box[x].typenum=box[i].typenum;
putimage(box[x].posx,box[x].posy, img[box[x].typenum]);
box[x].lifenum=1;
x=i;
}
}
}
void move()
{
int i,j,k,t;
exit2=0;
BeginBatchDraw();
t1=clock();t3=clock();
t2=clock();t4=clock();
create();t=0;
while(exit2==0){
FlushBatchDraw();
t2=clock();
while(t2-t1speed1){
t1=clock();
create();
}
t4=clock();
while(t4-t3speed2){
t++;
if(t==50){t6=clock();speed1=t6-t5;}
t3=clock();
setfillcolor(WHITE);
solidrectangle(50,0,450,500);
for(i=0;i=99;i++){
if(box[i].lifenum==1){
box[i].posy-=1;
putimage(box[i].posx,box[i].posy, img[box[i].typenum]);
if(one=0)fillcircle(box[one].posx+3,box[one].posy+3,3);
if(two=0)fillcircle(box[two].posx+3,box[two].posy+3,3);
if(three=0)fillcircle(box[three].posx+5,box[three].posy+5,3);
}
}
for(i=0;i=99;i++){
if(box[i].lifenum==1box[i].posy=0){
exit1=1;exit2=1;break;
}
}
}
if(MouseHit()){
m = GetMouseMsg();
if(m.uMsg==WM_LBUTTONDOWN){
j=0;
for(i=0;i=99;i++){
if(box[i].posx=m.xbox[i].posx+50=m.xbox[i].posy=m.ybox[i].posy+50=m.y){
j=1;
break;
}
}
if(j==0)i=-2;
if(box[i].lifenum==1i!=-2){
if(i==one){putimage(box[one].posx,box[one].posy, img[box[one].typenum]);one=-1;}
else if(i==two){putimage(box[two].posx,box[two].posy, img[box[two].typenum]);two=-1;}
else if(one==-1){one=i;fillcircle(box[one].posx+3,box[one].posy+3,3);}
else if(two==-1){two=i;fillcircle(box[two].posx+3,box[two].posy+3,3);}
else {three=i;fillcircle(box[three].posx+5,box[three].posy+5,3);}
}
}
}
while(one!=-1two!=-1three!=-1){
if(box[one].typenum==box[two].typenumbox[one].typenum==box[three].typenum){
box[one].lifenum=0;box[two].lifenum=0;box[three].lifenum=0;
change(one);change(two);change(three);
point++;
}
putimage(box[one].posx,box[one].posy, img[box[one].typenum]);
putimage(box[two].posx,box[two].posy, img[box[two].typenum]);
putimage(box[three].posx,box[three].posy, img[box[three].typenum]);
one=-1;two=-1;three=-1;
}
}
EndBatchDraw();
}
void initialization()
{
int i,j,k;
point=0;
exit1=0;seed1=0;exit2=0;speed1=10000;speed2=40;one=-1;two=-1;three=-1;
initgraph(500,500,SHOWCONSOLE);
cleardevice();
setfillcolor(WHITE);
solidrectangle(50,0,450,500);
loadimage(img[1],_T(../sc/1.jpg),50,50);
loadimage(img[2],_T(../sc/2.jpg),50,50);
loadimage(img[3],_T(../sc/3.jpg),50,50);
loadimage(img[4],_T(../sc/4.jpg),50,50);
loadimage(img[5],_T(../sc/5.jpg),50,50);
loadimage(img[6],_T(../sc/6.jpg),50,50);
loadimage(img[7],_T(../sc/7.jpg),50,50);
k=0;;
for(i=0;i=100;i++){
box[i].num=k;
box[i].lifenum=0;
box[i].typenum=0;
box[i].posy=500;
k++;
}
}
void carry()
{
int i,j,k;
initialization();
while(exit1==0){
move();
}
coutpointendl;
_getch();
closegraph();
}
int main()
{
carry();
return 0;
}
演示视频,用的是渐变性的,上升到顶层即为失败:
白羊座上升星座是什么,上升星座是什么
白羊座的上升星座是狮子座。上升星座是指你、我出生的那一刻,东方地平线上正在升起的那一个星座,它是黄道十二星座之中的某个星座,并非是某一颗星星。
上升星座为狮子座的白羊整体看来身体属于高大健壮的类型,他们不论男女都具有很强大的运动细胞。他们经常会参加一些运动来增强自己的体魄,即便是白羊女也会身带人鱼线。他们的脂肪比例很少、肌肉非常结实,具有极佳的瞬间爆发力,在运动方面可以创造出好的成绩。由于经常参加体育运动,肤色都会显得比较偏身,但是他们的眼睛却炯炯有神,目光率直,精气神都比较充足。
上升星座为狮子的白羊,有着永远都用不完的热情和那种拦都拦不住的冲劲,他们天真却有感觉缺少一根筋一样。有的时候他们会认为自己是具有尊严、有能力及坚强意志力的人。因此,很多时候上升星座为狮子的白羊会流露出自己高傲自大的一面,常常把自己太过于当一回事。有的时候,还会对别人的事情指手画脚,并试图掌控大局,但是往往得到的却是别人的排斥。
上升星座怎么算,上升星座是什么意思
上升星座计算方法:一般人都很熟悉他们的星座性格,但是其实大部分人所谈的是太阳星座,就是出生时太阳进入的星座。虽然它在占星学上有很大的影响力,但是它不能代表一切,还要配合其他的元素才能給一个比较完整的分析。其中上升星座就是最重要的参考之一。那到底什么是上升星座呢?它便是指在我们出生的那一刻,东方地平线上正在升起的那一个星座。它代表着日常的言行举止、性向、癖好、外在的容貌、风格、 体质等较个人的影响,而且上升星座的特质往往在我们的潜意识中渗透。
上升星座是什么意思,在西洋占星学中上升星座,又称生辰星位。就是个人出生时东方地平线所在的星座,其变化取决于出生时间与地点。 在个人命盘中上升星座的标志是“Asc”。其概念起源于中世纪,因为那时诞生了一个新的要素,便是天宫的划分,即根据出生时间和地点对生时的天宫进行区位性划分,从而可以出生天宫图完全个人化,使预测精度明显提高。
|上升三消
上升三消 上升星座 上升星座怎么算 上升星座意思 白羊座上升星座