首页 > 作文

java写游戏脚本(编程一个最简单游戏代码)

更新时间:2023-04-04 05:52:02 阅读: 评论:0

在 java 中,如何用swing实现打字游戏.需要掌握多线程,jframe的创建方法。多线程的创建方法,一个是继承thread类,一个是实现runnable接口。框架的实现,直接创建一个类继承jframe.

基本思路是,1.创建一个jframe 2.启动十个线程,每个线程携带了一个jlabel,用到了随机函数,每个jlabel的刚出现的时候,他们的y坐标都是一样的,x坐标是随机的(随机范围在jframe的宽度内.jlabel显示的值,是ascii对应的拉丁字母 .3.线程控制每个jlael的y坐标增加,这样字母就在往下掉 4.响应键盘事件

//载入包

import java.awt.*;

import javax.swing.*;

import java.util.*;

import java.awt.event.*;

import java.applet.*;

// 创建一个线程

class mythread extends thread {

int height=0;

// jlabel的x坐标

int intx=0;

// jlabel 的y坐标

int inty=0;

static int com=0;

jlabel lb1;

public mythread(threadgroup g,string name,int width,int fheight){

this.tname(name);

height=fheight;

// 设置jlabel显示的大写字母,通过随机值控制.65是大写a的ascii值

lb1=new jlabel(“”+(char)(int)(math.random()*26+65));

// 设置jlabel的背景颜色,红,绿,蓝组成自然界所有色彩

lb1.tforeground(new color((int)(math.random()*250),(int)(math.random()*250),(int)(math.random()*250)));

intx=(int)(math.random()*(width-20));

//线程启动

start();

}

public void run(){

try{

while(true){

//睡眠50毫秒往下掉

sleep((int)(math.random()*50));

lb1.tbounds(intx,inty,15,15);

//改变y坐标

inty++;

if(inty>=(height-20)){

lb1.show(fal);

mythread.com++;

break;

}

}

}catch(exception e){}

}

}

//创建窗口

class testkey extends jframe

{

jbutton b1,b2;

static int index=0;

container conent=getcontentpane();

static int idd=0;

static int count=0;

int ixx;

static threadgroup dg = new threadgroup(“group1”);

static threadgroup dg1;

static mythread t1;

thread list[];

public testkey() throws arraystoreexception

{

tsize(400,600);

b1=new jbutton(“开始”);

b2=new jbutton(“结束”);

conent.tlayout(null);

b1.tbounds(getwidth()/2-100,getheight()-70,80,30);

b2.tbounds(getwidth()/2+50,getheight()-70,80,30);

conent.add(b1);

conent.add(b2);

conent.tbackground(color.blue);

container cont=getcontentpane();

conent.tbackground(color.white);

show();

//响应按钮事件

b1.addactionlistener(new actionlistener()

{

public void actionperformed(actionevent even)

{

for(int i=0;i<10;i++)

{

t1 =new mythread(dg,”t”+i,getwidth(),getheight());

getcontentpane().add(t1.lb1);

}

}

});

b2.addactionlistener(new actionlistener()

{

public void actionperformed(actionevent even)

{

int num=conent.getcomponentcount()-2;

for(int i=2;i<num+2;i++)

{

conent.remove(2);

conent.repaint();

}

if((float)n省略号表示什么意思um/count<=0.02)

joptionpane.showmessagedialog(null,”共有”+count+”个字母n”+”只有”+num+”个未打掉!n您真是高手,佩服,佩服!”);

el if((float)num/count<=0.15)

joptionpane.showmessagedialog(null,”共有”+count+”个字母n”+”有”+num+”个未打掉!n水平不错,继续努力吧!”);

el if((float)num/count<=0.3)

joptionpane.showmessagedialog(null,”共有”+count+”个字母n”+”有”+num+”个未打掉!n您很有潜力,不要虚度光阴哦!”);

el if((float)num/count<=0.4)

joptionpane.showmessagedialog(null,”共有”+count+”个字母n”+”有”+num+”个未打掉!n挺危险的,加把劲啊!”);

el

joptionpane.showmessagedialog(null,”共有”+count+”个字母n”+”有”+num+”个未打掉!n不蛮你,你真的很差劲,抓紧练习吧!”);

}

});

//监听窗口事件

addwindowlistener(new windowadapter()

{

public void windowclosing(windowevent event)

{

if(conent.getcomponentcount()==2)

joptionpane.showmessagedialog(null,”您真的要退出吗?n记得经常来练习啊!”);

el

joptionpane.showmessagedialog(null,”您确定要退出吗?n我还没为您评分的啊!自然景观作文”);

system.exit(0);

}

});

b1.addkeylistener(new keyadapter()

{

public void keytyped(keyevent 长期熬夜都有哪些危害event)

{

list = new thread[dg.getparent().activec表达思念的诗句ount()];

int count = dg.getparent().enumerate(list);

for(int i=0;i<list.length;i++)

{

try

{

mythread mt=null;

mt = (mythread)(list[i]);// instanceof mythread)

if(even2b本子t.getkeychar()== mt.lb1.gettext().charat(0))

{

mt.lb1.tvisible(fal);

mythread hh=new mythread(dg,”t”+i,getwidth(),getheight());

getcontentpane().add(hh.lb1);

}

}catch(exception e){}

}

}

});

}

public static void main(string args[]){

testkey mf=new testkey();

container cont=mf.getcontentpane();

cont.tbackground(color.white);

cont.tlayout(null);

//创建十个线程,携带十个字母往下掉

for(int i=0;i<10;i++)

{

t1 =new mythread(dg,”t”+i,mf.getwidth(),mf.getheight());

cont.add(t1.lb1);

}

}

}

大家有不同的实现方式,欢迎在下面留言

本文发布于:2023-04-04 05:52:01,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/cd12074df2133d302816d8c5456ae988.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:java写游戏脚本(编程一个最简单游戏代码).doc

本文 PDF 下载地址:java写游戏脚本(编程一个最简单游戏代码).pdf

标签:线程   坐标   字母   打掉
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图