2、平台都有点差 高的那个价格是买价 低的事卖价 如果你真的是出现买价买的更低了 那应该是好事不过我估计是你弄错了平台肯定是只会让你高买低卖的 不会给你买价下滑的
#include<stdio.h>#include<string.h>
#include<bios.h>
#include<stdlib.h>
#include<time.h>
#include<dos.h>
int dx[4],dy[4]/*定义全局变量*/
int zt1,zt2,str[15][19]
/*str[15][19]是把整个屏幕分为15*19个方格,每一个方格用一个数组单元表示,
如果=15,则这个方格已被占用,=0,则还是空的*/
int cx[8][5][4],cy[8][5][4]/*该变量表示每种状态下,旋转时坐标的改变*/
int x,y,j,ji,c
int maxzt[8]={0,2,1,4,2,2,4,4}/*各个种类的方块分别有几种状态*/
cir() /*旋转的处理函数*/
{ dx[0]=dx[0]+cx[zt1][zt2][0]dy[0]=dy[0]+cy[zt1][zt2][0]
dx[2]=dx[2]+cx[zt1][zt2][2]dy[2]=dy[2]+cy[zt1][zt2][2]
dx[3]=dx[3]+cx[zt1][zt2][3]dy[3]=dy[3]+cy[zt1][zt2][3]
}
jiance() /*检测旋转或移动能否进行的函数,能则j=1,不能j=0*/
{ j=1
for(ji=0ji<4ji++)
{ x=dx[ji]y=dy[ji]
if(str[x][y]!=' ') j=0
}
c=bioskey(1)
if(c!=0) c=bioskey(0)
}
main()
{ int dotx[4],doty[4],score/*dotx[]doty[]表示一个方块个点的坐标*/
int ddx,ddy
int rzt1,rzt2,i,u,t=1
int a[5],b[11],o,p,an,bn
int rotx[4],roty[4],spd=0
begin: system("cls")/*游戏初始化阶段*/
printf("londing...")
for(i=0i<12i++) /*变量初始阶段*/
{ for(u=0u<19u++)
str[i][u]=' '
}
for(i=0i<12i++)
{ str[i][0]='-'str[i][18]='-'}
for(u=0u<19u++)
{ str[0][u]='|'str[11][u]='|'}
cx[1][1][0]=1cx[1][1][2]=-1cx[1][1][3]=-2/*对旋转变量进行赋值*/
cy[1][1][0]=1cy[1][1][2]=-1cy[1][1][3]=-2
cx[1][2][0]=-1cx[1][2][2]=1cx[1][2][3]=2
cy[1][2][0]=-1cy[1][2][2]=1cy[1][2][3]=2
cx[2][1][0]=0cx[2][1][2]=0cx[2][1][3]=0
cy[2][1][0]=0cy[2][1][2]=0cy[2][1][3]=0
cx[3][1][0]=1cx[3][1][2]=-1cx[3][1][3]=1
cy[3][1][0]=-1cy[3][1][2]=1cy[3][1][3]=1
cx[3][2][0]=1cx[3][2][2]=-1cx[3][2][3]=-1
cy[3][2][0]=1cy[3][2][2]=-1cy[3][2][3]=1
cx[3][3][0]=-1cx[3][3][2]=1cx[3][3][3]=-1
cy[3][3][0]=1cy[3][3][2]=-1cy[3][3][3]=-1
cx[3][4][0]=-1cx[3][4][2]=1cx[3][4][3]=1
cy[3][4][0]=-1cy[3][4][2]=1cy[3][4][3]=-1
cx[4][1][0]=-1cx[4][1][2]=1cx[4][1][3]=2
cy[4][1][0]=1cy[4][1][2]=1cy[4][1][3]=0
cx[4][2][0]=1cx[4][2][2]=-1cx[4][2][3]=-2
cy[4][2][0]=-1cy[4][2][2]=-1cy[4][2][3]=0
cx[5][1][0]=1cx[5][1][2]=1cx[5][1][3]=0
cy[5][1][0]=-1cy[5][1][2]=1cy[5][1][3]=2
cx[5][2][0]=-1cx[5][2][2]=-1cx[5][2][3]=0
cy[5][2][0]=1cy[5][2][2]=-1cy[5][2][3]=-2
cx[6][1][0]=1cx[6][1][2]=-1cx[6][1][3]=0
cy[6][1][0]=-1cy[6][1][2]=1cy[6][1][3]=2
cx[6][2][0]=1cx[6][2][2]=-1cx[6][2][3]=-2
cy[6][2][0]=1cy[6][2][2]=-1cy[6][2][3]=0
cx[6][3][0]=-1cx[6][3][2]=1cx[6][3][3]=0
cy[6][3][0]=1cy[6][3][2]=-1cy[6][3][3]=-2
cx[6][4][0]=-1cx[6][4][2]=1cx[6][4][3]=2
cy[6][4][0]=-1cy[6][4][2]=1cy[6][4][3]=0
cx[7][1][0]=-1cx[7][1][2]=1cx[7][1][3]=2
cy[7][1][0]=1cy[7][1][2]=-1cy[7][1][3]=0
cx[7][2][0]=-1cx[7][2][2]=1cx[7][2][3]=0
cy[7][2][0]=-1cy[7][2][2]=1cy[7][2][3]=2
cx[7][3][0]=1cx[7][3][2]=-1cx[7][3][3]=-2
cy[7][3][0]=-1cy[7][3][2]=1cy[7][3][3]=0
cx[7][4][0]=1cx[7][4][2]=-1cx[7][4][3]=0
cy[7][4][0]=1cy[7][4][2]=-1cy[7][4][3]=-2
srand(time(0))/*对随机数函数rand()进行初始化*/
zt1=rand()%7+1/*生成第一、二个方块*/
if(zt1==2) zt2=1
if(zt1==1||zt1==4||zt1==5) zt2=rand()%2+1
if(zt1==3||zt1==6||zt1==7) zt2=rand()%4+1
rzt1=rand()%7+1
if(rzt1==2) rzt2=1
if(rzt1==1||rzt1==4||rzt1==5) rzt2=rand()%2+1
if(rzt1==3||rzt1==6||rzt1==7) rzt2=rand()%4+1
score=0
for(o=1o<11o++) b[o]=0
switch(zt1*10+zt2)
/*zt1和zt2分别代表方块的种类和状态,这步是根据这两个变量确定方块的四个点的坐标*/
{ case 11: dotx[0]=4dotx[1]=5dotx[2]=6dotx[3]=7
doty[0]=2doty[1]=2doty[2]=2doty[3]=2
break
case 12: dotx[0]=5dotx[1]=5dotx[2]=5dotx[3]=5
doty[0]=4doty[1]=3doty[2]=2doty[3]=1
break
case 21: dotx[0]=5dotx[1]=6dotx[2]=5dotx[3]=6
doty[0]=1doty[1]=1doty[2]=2doty[3]=2
break
case 31: dotx[0]=4dotx[1]=5dotx[2]=6dotx[3]=5
doty[0]=2doty[1]=2doty[2]=2doty[3]=1
break
case 32: dotx[0]=5dotx[1]=5dotx[2]=5dotx[3]=6
doty[0]=1doty[1]=2doty[2]=3doty[3]=2
break
case 33: dotx[0]=6dotx[1]=5dotx[2]=4dotx[3]=5
doty[0]=1doty[1]=1doty[2]=1doty[3]=2
break
case 34: dotx[0]=6dotx[1]=6dotx[2]=6dotx[3]=5
doty[0]=3doty[1]=2doty[2]=1doty[3]=2
break
case 41: dotx[0]=6dotx[1]=5dotx[2]=5dotx[3]=4
doty[0]=2doty[1]=2doty[2]=1doty[3]=1
break
case 42: dotx[0]=5dotx[1]=5dotx[2]=6dotx[3]=6
doty[0]=3doty[1]=2doty[2]=2doty[3]=1
break
case 51: dotx[0]=4dotx[1]=5dotx[2]=5dotx[3]=6
doty[0]=2doty[1]=2doty[2]=1doty[3]=1
break
case 52: dotx[0]=5dotx[1]=5dotx[2]=6dotx[3]=6
doty[0]=1doty[1]=2doty[2]=2doty[3]=3
break
case 61: dotx[0]=4dotx[1]=5dotx[2]=6dotx[3]=6
doty[0]=2doty[1]=2doty[2]=2doty[3]=1
break
case 62: dotx[0]=5dotx[1]=5dotx[2]=5dotx[3]=6
doty[0]=1doty[1]=2doty[2]=3doty[3]=3
break
case 63: dotx[0]=6dotx[1]=5dotx[2]=4dotx[3]=4
doty[0]=1doty[1]=1doty[2]=1doty[3]=2
break
case 64: dotx[0]=6dotx[1]=6dotx[2]=6dotx[3]=5
doty[0]=3doty[1]=2doty[2]=1doty[3]=1
break
case 71: dotx[0]=6dotx[1]=5dotx[2]=4dotx[3]=4
doty[0]=2doty[1]=2doty[2]=2doty[3]=1
break
case 72: dotx[0]=5dotx[1]=5dotx[2]=5dotx[3]=6
doty[0]=3doty[1]=2doty[2]=1doty[3]=1
break
case 73: dotx[0]=4dotx[1]=5dotx[2]=6dotx[3]=6
doty[0]=1doty[1]=1doty[2]=1doty[3]=2
break
case 74: dotx[0]=6dotx[1]=6dotx[2]=6dotx[3]=5
doty[0]=1doty[1]=2doty[2]=3doty[3]=3
break
}
switch(rzt1*10+rzt2) /*确定第二个方块各个点的坐标*/
{ case 11: rotx[0]=4rotx[1]=5rotx[2]=6rotx[3]=7
roty[0]=2roty[1]=2roty[2]=2roty[3]=2
break
case 12: rotx[0]=5rotx[1]=5rotx[2]=5rotx[3]=5
roty[0]=4roty[1]=3roty[2]=2roty[3]=1
break
case 21: rotx[0]=5rotx[1]=6rotx[2]=5rotx[3]=6
roty[0]=1roty[1]=1roty[2]=2roty[3]=2
break
case 31: rotx[0]=4rotx[1]=5rotx[2]=6rotx[3]=5
roty[0]=2roty[1]=2roty[2]=2roty[3]=1
break
case 32: rotx[0]=5rotx[1]=5rotx[2]=5rotx[3]=6
roty[0]=1roty[1]=2roty[2]=3roty[3]=2
break
case 33: rotx[0]=6rotx[1]=5rotx[2]=4rotx[3]=5
roty[0]=1roty[1]=1roty[2]=1roty[3]=2
break
case 34: rotx[0]=6rotx[1]=6rotx[2]=6rotx[3]=5
roty[0]=3roty[1]=2roty[2]=1roty[3]=2
break
case 41: rotx[0]=6rotx[1]=5rotx[2]=5rotx[3]=4
roty[0]=2roty[1]=2roty[2]=1roty[3]=1
break
case 42: rotx[0]=5rotx[1]=5rotx[2]=6rotx[3]=6
roty[0]=3roty[1]=2roty[2]=2roty[3]=1
break
case 51: rotx[0]=4rotx[1]=5rotx[2]=5rotx[3]=6
roty[0]=2roty[1]=2roty[2]=1roty[3]=1
break
case 52: rotx[0]=5rotx[1]=5rotx[2]=6rotx[3]=6
roty[0]=1roty[1]=2roty[2]=2roty[3]=3
break
case 61: rotx[0]=4rotx[1]=5rotx[2]=6rotx[3]=6
roty[0]=2roty[1]=2roty[2]=2roty[3]=1
break
case 62: rotx[0]=5rotx[1]=5rotx[2]=5rotx[3]=6
roty[0]=1roty[1]=2roty[2]=3roty[3]=3
break
case 63: rotx[0]=6rotx[1]=5rotx[2]=4rotx[3]=4
roty[0]=1roty[1]=1roty[2]=1roty[3]=2
break
case 64: rotx[0]=6rotx[1]=6rotx[2]=6rotx[3]=5
roty[0]=3roty[1]=2roty[2]=1roty[3]=1
break
case 71: rotx[0]=6rotx[1]=5rotx[2]=4rotx[3]=4
roty[0]=2roty[1]=2roty[2]=2roty[3]=1
break
case 72: rotx[0]=5rotx[1]=5rotx[2]=5rotx[3]=6
roty[0]=3roty[1]=2roty[2]=1roty[3]=1
break
case 73: rotx[0]=4rotx[1]=5rotx[2]=6rotx[3]=6
roty[0]=1roty[1]=1roty[2]=1roty[3]=2
break
case 74: rotx[0]=6rotx[1]=6rotx[2]=6rotx[3]=5
roty[0]=1roty[1]=2roty[2]=3roty[3]=3
break
}
system("cls")/*显示初始阶段*/
printf("\n\n\n")/*游戏区域下移3*/
for(u=0u<19u++)
{ for(i=0i<12i++)
printf("%c",str[i][u])
printf("\n")
}
gotoxy(16,5)printf("--------")
gotoxy(16,12)printf("--------")
for(i=6i<12i++)
{ gotoxy(16,i)printf("|")gotoxy(23,i)printf("|")}
for(i=6i<12i++)
{ gotoxy(16,i)printf("|")gotoxy(23,i)printf("|")}
for(i=0i<4i++)
{ gotoxy(rotx[i]+14,roty[i]+6)printf("%c",15)
}
begin2: delay(26000)/*游戏开始,延迟1*/
speed: delay(10000)/*加速,延迟2*/
gotoxy(16,14)printf("Score:%d",score)
for(i=0i<4i++)
{ gotoxy(dotx[i]+1,doty[i]+4)printf(" ")
ddx=dotx[i]ddy=doty[i]
str[ddx][ddy]=' '
}
an=an-0.4/*表示按键是否一直按着,用于方块落地后的移动*/
c=bioskey(1)/*按键处理部分*/
/*bioskey(1)是用来检测是否按下案件的函数*/
if(c!=0)
{ c=bioskey(0)
if(c==8292||c==19712)
{ for(i=0i<4i++)
{ dx[i]=dotx[i]+1dy[i]=doty[i]}
jiance()
for(i=0i<4i++)
dotx[i]=(j)? dx[i] : dotx[i]
an=(j||bn)
}
if(c==7777||c==19200)
{ for(i=0i<4i++)
{ dx[i]=dotx[i]-1dy[i]=doty[i]}
jiance()
for(i=0i<4i++)
dotx[i]=(j)? dx[i] : dotx[i]
an=(j||bn)
}
if(c==6512) /*暂停的处理*/
{ while(1)
{ c=bioskey(0)
if(c==6512) break
}
goto begin3
}
if(c==8051||c==20480) spd=1/*加速(spd==1表示加速状态)*/
if(c==4471||c==18432) /*旋转的处理*/
{ for(i=0i<4i++)
{ dx[i]=dotx[i]dy[i]=doty[i]}
/*dx[]与dy[]是临时变量,这样一旦判断为不能旋转,就可方便的回复旋转前的坐标*/
cir()/*旋转*/
jiance()/*判断旋转是否能进行*/
for(i=0i<4i++)
{ dotx[i]=(j)? dx[i] : dotx[i]doty[i]=(j)?dy[i] : doty[i]}
/*根据jiance()得到的j值,判断是对dotx[]与doty[]赋旋转后的还是旋转前的值*/
if(j==1) /*如果旋转可已经行,就对原方块的状态进行改变*/
{ an=(j||bn)zt2=zt2+1
if(zt2>maxzt[zt1]) zt2=1
goto overif/*结束旋转的处理*/
}
for(i=0i<4i++)
{ dx[i]=dotx[i]+1dy[i]=doty[i]}
/*如果不能旋转,再判断坐标右移一个后能否旋转*/
cir()
jiance()
for(i=0i<4i++)
{ dotx[i]=(j)? dx[i] : dotx[i]doty[i]=(j)?dy[i] : doty[i]}
if(j==1)
{ an=(j||bn)zt2=zt2+1
if(zt2>maxzt[zt1]) zt2=1
goto overif
}
if(dotx[2]==1) goto overif
for(i=0i<4i++)
{ dx[i]=dotx[i]-1dy[i]=doty[i]}
/*判断坐标左移一个后能否旋转*/
cir()
jiance()
for(i=0i<4i++)
{ dotx[i]=(j)? dx[i] : dotx[i]doty[i]=(j)?dy[i] : doty[i]}
if(j==1)
{ an=(j||bn)zt2=zt2+1
if(zt2>maxzt[zt1]) zt2=1
goto overif
}
overif:
}
}
begin3: for(i=0i<4i++) /*方块下移的处理*/
{ dx[i]=dotx[i]dy[i]=doty[i]+1}
jiance()
bn=j
for(i=0i<4i++)
doty[i]=(j)? dy[i] : doty[i]
for(i=0i<4i++)
{ gotoxy(dotx[i]+1,doty[i]+4)printf("%c",15)
ddx=dotx[i]ddy=doty[i]
str[ddx][ddy]=15
}
if(j==1&&spd==1) { spd=0goto speed}
if(j==1||an>0) goto begin2
for(u=17u>0u--) /*方块停止下移(方块移动到底了)的处理*/
{ for(i=1i<11i++) /*判断每一行是否排满*/
if(str[i][u]==15) b[i]=1
if (b[1]+b[2]+b[3]+b[4]+b[5]+b[6]+b[7]+b[8]+b[9]+b[10]<10)
{ for(o=1o<11o++) b[o]=0
continue
}
for(o=1o<11o++) b[o]=0
a[t]=ut++
}
score+=(t)*(t-1)/2
for(i=1i<11i++)
if(str[i][1]==15) b[i]=1
if (b[1]+b[2]+b[3]+b[4]+b[5]+b[6]+b[7]+b[8]+b[9]+b[10]>0 &&t==1) goto over
for(o=1o<11o++) b[o]=0
if(t==1) goto ran
switch(t) /*消除方块的处理,t=要消除的函数+1*/
{ case 5: for(u=a[4]u>1u--) { for(i=1i<11i++) str[i][u]=str[i][u-1]}
/*将要消除的行中,最上面一行,上面的方格整体下移,下面的case 4,3,2类似*/
case 4: for(u=a[3]u>1u--) { for(i=1i<11i++) str[i][u]=str[i][u-1]}
case 3: for(u=a[2]u>1u--) { for(i=1i<11i++) str[i][u]=str[i][u-1]}
case 2: for(u=a[1]u>1u--) { for(i=1i<11i++) str[i][u]=str[i][u-1]}
}
t=1
for(u=1u<18u++)
{ for(i=1i<11i++)
{ gotoxy(i+1,u+4)
printf("%c",str[i][u])
}
}
ran: zt1=rzt1zt2=rzt2rzt1=rand()%7+1/*生成下两个方块*/
if(rzt1==2) rzt2=1
if(rzt1==1||rzt1==4||rzt1==5) rzt2=rand()%2+1
if(rzt1==3||rzt1==6||rzt1==7) rzt2=rand()%4+1
for(i=0i<4i++)
{ dotx[i]=rotx[i]doty[i]=roty[i]
gotoxy(dotx[i]+1,doty[i]+4)printf("%c",15)
}
switch(rzt1*10+rzt2)
{ case 11: rotx[0]=4rotx[1]=5rotx[2]=6rotx[3]=7
roty[0]=2roty[1]=2roty[2]=2roty[3]=2
break
case 12: rotx[0]=5rotx[1]=5rotx[2]=5rotx[3]=5
roty[0]=4roty[1]=3roty[2]=2roty[3]=1
break
case 21: rotx[0]=5rotx[1]=6rotx[2]=5rotx[3]=6
roty[0]=1roty[1]=1roty[2]=2roty[3]=2
break
case 31: rotx[0]=4rotx[1]=5rotx[2]=6rotx[3]=5
roty[0]=2roty[1]=2roty[2]=2roty[3]=1
break
case 32: rotx[0]=5rotx[1]=5rotx[2]=5rotx[3]=6
roty[0]=1roty[1]=2roty[2]=3roty[3]=2
break
case 33: rotx[0]=6rotx[1]=5rotx[2]=4rotx[3]=5
roty[0]=1roty[1]=1roty[2]=1roty[3]=2
break
case 34: rotx[0]=6rotx[1]=6rotx[2]=6rotx[3]=5
roty[0]=3roty[1]=2roty[2]=1roty[3]=2
break
case 41: rotx[0]=6rotx[1]=5rotx[2]=5rotx[3]=4
roty[0]=2roty[1]=2roty[2]=1roty[3]=1
break
case 42: rotx[0]=5rotx[1]=5rotx[2]=6rotx[3]=6
roty[0]=3roty[1]=2roty[2]=2roty[3]=1
break
case 51: rotx[0]=4rotx[1]=5rotx[2]=5rotx[3]=6
roty[0]=2roty[1]=2roty[2]=1roty[3]=1
break
case 52: rotx[0]=5rotx[1]=5rotx[2]=6rotx[3]=6
roty[0]=1roty[1]=2roty[2]=2roty[3]=3
break
case 61: rotx[0]=4rotx[1]=5rotx[2]=6rotx[3]=6
roty[0]=2roty[1]=2roty[2]=2roty[3]=1
break
case 62: rotx[0]=5rotx[1]=5rotx[2]=5rotx[3]=6
roty[0]=1roty[1]=2roty[2]=3roty[3]=3
break
case 63: rotx[0]=6rotx[1]=5rotx[2]=4rotx[3]=4
roty[0]=1roty[1]=1roty[2]=1roty[3]=2
break
case 64: rotx[0]=6rotx[1]=6rotx[2]=6rotx[3]=5
roty[0]=3roty[1]=2roty[2]=1roty[3]=1
break
case 71: rotx[0]=6rotx[1]=5rotx[2]=4rotx[3]=4
roty[0]=2roty[1]=2roty[2]=2roty[3]=1
break
case 72: rotx[0]=5rotx[1]=5rotx[2]=5rotx[3]=6
roty[0]=3roty[1]=2roty[2]=1roty[3]=1
break
case 73: rotx[0]=4rotx[1]=5rotx[2]=6rotx[3]=6
roty[0]=1roty[1]=1roty[2]=1roty[3]=2
break
case 74: rotx[0]=6rotx[1]=6rotx[2]=6rotx[3]=5
roty[0]=1roty[1]=2roty[2]=3roty[3]=3
break
}
for(i=6i<12i++) /*刷新一下用来显示下一个方块的那个区域*/
{ gotoxy(16,i)printf("|")gotoxy(23,i)printf("|")}
for(i=6i<12i++)
for(u=17u<23u++) { gotoxy(u,i)printf("%c",32)}
for(i=0i<4i++)
{ gotoxy(rotx[i]+14,roty[i]+6)printf("%c",15)}
c=bioskey(1)an=0
if(c!=0) c=bioskey(0)
if(spd==1) { spd=0goto speed}
goto begin2
over: system("cls")
gotoxy(36,11)printf("GAME OVER")
bioskey(0)
system("cls")
printf("Your score is %d\n\n",score)
printf("Press 'Q' to exit\nIf you want to play again,please press other keys.")
score=0
c=bioskey(0)
if(c!=4209) goto begin
}
可以使用Java编写一个类来计算立方体的体积。下面是一个示例程序:public class Cube {
double width
double height
double depth
public Cube(double width, double height, double depth) {
this.width = width
this.height = height
this.depth = depth
}
public double getVolume() {
return width * height * depth
}
public static void main(String[] args) {
Cube cube = new Cube(20, 10, 5)
System.out.println("Cube volume is: " + cube.getVolume())
}
}
程序实现了Cube类,类的构造器初始化宽度,高度和深度,并且类中有一个getVolume方法来计算立方体的体积。在main方法中,我们创建一个Cube对象,并调用getVolume方法来计算立方体的体积。
在运行这个程序后,你会得到一个输出:
Cube volume is: 1000.0
这个输出表示,这个立方体的体积是1000立方单位。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)