重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
package panel;
成都创新互联是一家集网站建设,丰南企业网站建设,丰南品牌网站建设,网站定制,丰南网站建设报价,网络营销,网络优化,丰南网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JPanel;
import main.MainTank;
public class TipPanel extends JPanel implements Runnable{
/**
*
*/
private static final long serialVersionUID = 1L;
//偶数打印,画面板
int time=0;
public void paintComponent(Graphics g){
super.paint(g);
g.fillRect(0, 0, MainTank.getWidthOfGame(), MainTank.getHeightOfGame());//绘制提示窗口
if (time%2==0){//偶数打印,画面板,造成闪烁效果
g.setColor(Color.ORANGE);
Font font=new Font("华文楷体",Font.BOLD,30);
g.setFont(font);//选用字体
g.drawString("Ready", 140, 130);
}
}
@Override
public void run() {
while (true){
try{
Thread.sleep(250);
}catch (Exception e){
e.getMessage();
}
time++;//绘图开关
this.repaint();
}
}
}//TipPanel
类似的,修改下就行
你先准备三颗不同颜色的星星,三颗星星可用Java绘图技术绘出!并将三颗星星存放在不同的数组中,或者最好用向量!然后面板上汇出三颗星星,坐标相邻,在同一列上?汇出以后,在改进!比如点击某个按钮可以获得一次随机数,并将随机数作为坐标传给三颗星星,使三颗星星的纵坐标改变,从而改变三颗星星的树值方向的排序!同时运用线程改变三颗星星的纵坐标,使其下落!下落后,判断周边的星星颜色是否相同!且坐标在一行或者一列上是否相同!相同的话,将这三颗星星从其向量属于中清出!不相同的话!就摆在原地!最后补充下,在上面的下落过程中你还需要左右移动星星,你需要,在按下左键时使其横坐标减一,按下右键时,使其横坐标加一,使其左右移动!同时还要注意,只要改变坐标都需要重绘一次星星
消灭星星是二消类游戏,只要有超过两个以上的星星能连在一起,就能消除。每个星星添加点及组件方便点击。
判断,生成星星的同时判断其附近是否有相同颜色的星星,分为上、下、左、右四种情况,那么就得使用枚举Enum了,注意,每个星星都得这么判断,判断上、下、左、右是否有相同颜色的星星,当有一个星星连接很多相同颜色的星星就可以消除了,这样当有大面积相同颜色的星星连在一起的时候就可以大面积消除了,设置int类型的相同颜色的星星个数Count,每有一个星星相连,Count=Count+1,当超过两个就可以消除了,相连可以使用bool类型的isLink
消除,消除的逻辑就很好说了,就是当相同颜色的星星超过两个的时候,就可以消除了,也就是当isLink=true的时候,消除的星星个数=消除的的星星*Count,并且消除星星的位置会为null。
消除后生成,当消除星星后需要有星星来填补空缺的位置,先找到星星的位置,并确定游戏界面最顶部的位置范围,也就是最顶部的边界,一般是(x,y,z)到(x,y,-z),判断星星所在位置是否为null,如果位置为null,便会从游戏界面的最顶部生成星星到null位置,这个可以用动画来产生星星从最顶部运动到null位置的效果,比如iTween的MoveTo等等。
增分,设置int类型的总分数TotalScore,以及int类型的每消除一个星星的分数Score,计算总分TotalScore=Score*Count。
这个跟俄罗斯方块有点像,也是要画背景格子,所有的方块是在格子上移动。
首先可以创建一个格子的类如(cell),属性有长和宽,
设置每个格子的长和宽(cell_size),假设都为1
设置常量ROWS 行数为10,常量COLS列数为10,
然后画方块就行了
这是我俄罗斯方块画格子的代码,20行10列,供参考
/*首先要创建一个Cell类,属性有row和col*/
public static final int ROWS = 20;
public static final int COLS = 10;
public static final int CELL_SIZE = 26;
private Cell[][] wall=new Cell[ROWS][COLS];
/** 封装了绘制墙算法 */
private void paintWall(Graphics g){
for(int row=0; rowwall.length; row++){
for(int col=0; colwall[row].length; col++){
int x = col*CELL_SIZE;
int y = row*CELL_SIZE;
//row=0 1 2 ... 19
//col=0 1 2 ... 9
//cell 引用墙上的每个格子
Cell cell = wall[row][col];
if(cell==null){
g.drawRect(x, y, CELL_SIZE, CELL_SIZE);
}else{
g.drawImage(
cell.getImage(),x,y,null);
}
}
}
}
以下的代码就可以,lz自己在*的地方填入星星的图片就可以了
body bgcolor=#ee3300
style
.drop { position: absolute; width: 3; filter: flipV(), flipH(); font-size: 40; color: #ffffff }
/style
script language="javascript"
snow = false; // false-rain; true-snow
snowsym = " * " are the symbols for each
rainsym = " * " can put images here.
howmany = 20 many drops/snowflakes?
/**************Do not need to change anything below***********/
if(snow){sym = snowsym; speed=1; angle=10; drops=howmany}
else{sym = rainsym; speed=30; drops=howmany; angle=6}
movex = -speed/angle; movey = speed; count = 0;
function moverain(){
for(move = 0; move drops; move++){
xx[move]+=movex; yy[move]+=mv[move];
hmm = Math.round(Math.random()*1);
if(xx[move] 0){xx[move] = maxx+10;}
if(yy[move] maxy){yy[move] = 10;}
drop[move].left = xx[move]
drop[move].top = yy[move]+document.body.scrollTop;
}setTimeout('moverain()','1')}
/script
script language="javascript"
if (document.all){
drop = new Array(); xx = new Array(); yy = new Array(); mv = new Array()
ly = "document.all[\'"; st = "\'].style"
for(make = 0; make drops; make++){
document.write('div id="drop'+make+'" class=drop'+sym+'/div');
drop[make] = eval(ly+'drop'+make+st);
maxx = document.body.clientWidth-40
maxy = document.body.clientHeight-40
xx[make] = Math.random()*maxx;
yy[make] = -100-Math.random()*maxy;
drop[make].left = xx[make]
drop[make].top = yy[make]
mv[make] = (Math.random()*5)+speed/16;
drop[make].fontSize = (Math.random()*10)+20;
if(snow){col = 'white'}else{col = 'white'}
drop[make].color = col;
}
window.onload=moverain
}
/script
/body
使用秘籍,输入lawyerup,每输入一次就消除一颗星星,有几颗星就输入几次。
1、醉酒模式LIQUOR 1-999-547-861
2、爆炸+近战攻击HOTHANDS 1-999-4684-2637
3、快速奔跑CATCHME 1-999-228-8463
4、燃烧+武器弹药INCENDIARY 1-999-462-363-4279
5、无敌5分钟PAINKILLER 1-999-724-654-5537
6、加满血与护甲TURTLE 1-999-887-853
7、提升通缉等级FUGITIVE 1-999-3844-8483
8、技能冷却完成POWERUP 1-999-769-3787
9、从空中跳下SKYFALL 1-999-759-3255
10、瞄准时慢动作(输入一次减慢1×,最多4次,第5次取消)DEADEYE 1-999-332-3393
11、获得降落伞(装备后按×键使用)SKYDIVE 1-999-759-3483
12、改变天气(按阳光、晴天、多云、雾、阴天、雨天、雷雨、下雪)MAKEITRAIN 1-999-625-348-7246
13、月球引力(激活后进入载具可以体验,跳跃后按o(字母)键漂浮)FLOATER 1-999-356-2837