精华内容
下载资源
问答
  • packageball;importjavax.swing.JFrame;publicclassBallFrame{publicstaticvoidmain(String[]args){JFramef=newJFrame();BallPanelp=newBallPanel();...f.setTitle("挡板接小球");f.setSize(800,600...

    package ball;

    import javax.swing.JFrame;

    public class BallFrame {

    public static void main(String[] args) {

    JFrame f=new JFrame();

    BallPanel p=new BallPanel();

    f.add(p);

    f.setTitle("挡板接小球");

    f.setSize(800, 600);

    f.setLocationRelativeTo(null);//居中

    f.setDefaultCloseOperation(3);

    f.setVisible(true);

    f.addMouseMotionListener(p);

    f.addMouseListener(p);

    p.move();

    }

    }package ball;

    import java.awt.Color;

    import java.awt.Font;

    import java.awt.Graphics;

    import java.awt.event.MouseEvent;

    import java.awt.event.MouseListener;

    import java.awt.event.MouseMotionListener;

    /*

    * 状态:1.就绪 2.运行 3.暂停 4.结束 5.重新开始

    * 就绪--->运行    点击鼠标

    * 运行--->暂停     移出鼠标

    * 运行--->结束

    * 暂停---.>运行   移入鼠标

    * 结束----> 重新开始 点击鼠标

    * 重新开始---. >运行

    */

    import javax.swing.JOptionPane;

    import javax.swing.JPanel;

    @SuppressWarnings("serial")

    public class BallPanel extends JPanel implements MouseMotionListener,MouseListener {

    int state=1;

    public static final int START=1;

    public static final int RUNNING=2;

    public static final int PAUSE=3;

    public static final int OVER=4;

    public static final int RESTART=5;

    int px = 200;

    int bx = 300, by = 100;

    int score=0,pw=200;

    boolean flag=true;//游戏没结束

    // 定义变量表示小球的路径

    int dir = (int) (Math.random() * 4) + 1;

    int sleep=30;

    Color c=Color.RED;

    @Override

    public void paint(Graphics g) {

    // TODO 自动生成的方法存根

    super.paint(g);

    //        int c=getRandColorCode();

    g.setColor(c);

    g.fillOval(bx, by, 50, 50);

    g.setColor(Color.BLACK);

    g.fillRect(px, 500, pw, 10);

    g.setColor(Color.BLUE);

    g.setFont(new Font("宋体",Font.BOLD,24));

    g.drawString("游戏得分:"+score, 20,50);

    if(state==PAUSE){

    g.drawString("游戏暂停", 300, 200);

    }

    }

    public void move() {

    new Thread() {

    public void run() {

    while (true) {

    if(state==RUNNING){

    if (dir == 1) {

    bx += 10;

    by += 10;

    }

    if (dir == 2) {

    bx -= 10;

    by += 10;

    }

    if (dir == 3) {

    bx -= 10;

    by -= 10;

    }

    if (dir == 4) {

    bx += 10;

    by -= 10;

    }

    if (bx > 700) {

    if (dir == 1) {

    dir = 2;

    }

    if (dir == 4) {

    dir = 3;

    }

    }

    if (bx 

    if (dir == 2) {

    dir = 1;

    }

    if (dir == 3) {

    dir = 4;

    }

    }

    if (by > 450) {

    if (px-50

    if (dir == 1) {

    dir = 4;

    }

    if (dir == 2) {

    dir = 3;}

    score+=5;

    //长度

    if(score%20==0){

    if(pw>200){

    pw-=20; } }

    c=new Color ((int)(Math.random()*256),

    (int)(Math.random()*256),

    (int)(Math.random()*256));}

    else

    {

    by = 450;

    state=OVER;

    //JOptionPane.showMessageDialog(null,"游戏结束,你得了"+score+"分","GAMEOVER",JOptionPane.INFORMATION_MESSAGE);

    }

    }

    if (by 

    if (dir == 4) {

    dir = 1;

    }

    if (dir == 3) {

    dir = 2;

    }

    }

    repaint();

    try {

    Thread.sleep(sleep-score/20);

    } catch (InterruptedException e) {

    // TODO 自动生成的 catch 块

    e.printStackTrace();

    }

    }

    }}

    }.start();

    }

    @Override

    public void mouseDragged(MouseEvent e) {

    // TODO 自动生成的方法存根

    }

    @Override

    public void mouseMoved(MouseEvent e) {

    // TODO 自动生成的方法存根

    px = e.getX() - 200;

    // 把鼠标的坐标给挡板

    repaint();

    }

    @Override

    public void mouseClicked(MouseEvent e) {

    // TODO 自动生成的方法存根

    if(state==START){

    state=RUNNING;}

    else if (state==PAUSE){

    state=RUNNING;}

    else if(state==OVER){

    score=0;

    bx=400;

    by=100;

    state=RUNNING;

    }

    repaint();

    }

    @Override

    public void mousePressed(MouseEvent e) {

    // TODO 自动生成的方法存根

    }

    @Override

    public void mouseReleased(MouseEvent e) {

    // TODO 自动生成的方法存根

    }

    @Override

    public void mouseEntered(MouseEvent e) {

    // TODO 自动生成的方法存根

    if(state==PAUSE){

    state=RUNNING;

    }

    }

    @Override

    public void mouseExited(MouseEvent e) {

    // TODO 自动生成的方法存根

    if(state==RUNNING){

    state=PAUSE;}

    }

    }

    展开全文
  • packageball;importjavax.swing.JFrame;publicclassBallFrame{publicstaticvoidmain(String[]args){JFramef=newJFrame();BallPanelp=newBallPanel();...f.setTitle("挡板接小球");f.setSize(800,600...

    package ball;

    import javax.swing.JFrame;

    public class BallFrame {

    public static void main(String[] args) {

    JFrame f=new JFrame();

    BallPanel p=new BallPanel();

    f.add(p);

    f.setTitle("挡板接小球");

    f.setSize(800, 600);

    f.setLocationRelativeTo(null);//居中

    f.setDefaultCloseOperation(3);

    f.setVisible(true);

    f.addMouseMotionListener(p);

    f.addMouseListener(p);

    p.move();

    }

    }package ball;

    import java.awt.Color;

    import java.awt.Font;

    import java.awt.Graphics;

    import java.awt.event.MouseEvent;

    import java.awt.event.MouseListener;

    import java.awt.event.MouseMotionListener;

    /*

    * 状态:1.就绪 2.运行 3.暂停 4.结束 5.重新开始

    * 就绪--->运行    点击鼠标

    * 运行--->暂停     移出鼠标

    * 运行--->结束

    * 暂停---.>运行   移入鼠标

    * 结束----> 重新开始 点击鼠标

    * 重新开始---. >运行

    */

    import javax.swing.JOptionPane;

    import javax.swing.JPanel;

    @SuppressWarnings("serial")

    public class BallPanel extends JPanel implements MouseMotionListener,MouseListener {

    int state=1;

    public static final int START=1;

    public static final int RUNNING=2;

    public static final int PAUSE=3;

    public static final int OVER=4;

    public static final int RESTART=5;

    int px = 200;

    int bx = 300, by = 100;

    int score=0,pw=200;

    boolean flag=true;//游戏没结束

    // 定义变量表示小球的路径

    int dir = (int) (Math.random() * 4) + 1;

    int sleep=30;

    Color c=Color.RED;

    @Override

    public void paint(Graphics g) {

    // TODO 自动生成的方法存根

    super.paint(g);

    //        int c=getRandColorCode();

    g.setColor(c);

    g.fillOval(bx, by, 50, 50);

    g.setColor(Color.BLACK);

    g.fillRect(px, 500, pw, 10);

    g.setColor(Color.BLUE);

    g.setFont(new Font("宋体",Font.BOLD,24));

    g.drawString("游戏得分:"+score, 20,50);

    if(state==PAUSE){

    g.drawString("游戏暂停", 300, 200);

    }

    }

    public void move() {

    new Thread() {

    public void run() {

    while (true) {

    if(state==RUNNING){

    if (dir == 1) {

    bx += 10;

    by += 10;

    }

    if (dir == 2) {

    bx -= 10;

    by += 10;

    }

    if (dir == 3) {

    bx -= 10;

    by -= 10;

    }

    if (dir == 4) {

    bx += 10;

    by -= 10;

    }

    if (bx > 700) {

    if (dir == 1) {

    dir = 2;

    }

    if (dir == 4) {

    dir = 3;

    }

    }

    if (bx 

    if (dir == 2) {

    dir = 1;

    }

    if (dir == 3) {

    dir = 4;

    }

    }

    if (by > 450) {

    if (px-50

    if (dir == 1) {

    dir = 4;

    }

    if (dir == 2) {

    dir = 3;}

    score+=5;

    //长度

    if(score%20==0){

    if(pw>200){

    pw-=20; } }

    c=new Color ((int)(Math.random()*256),

    (int)(Math.random()*256),

    (int)(Math.random()*256));}

    else

    {

    by = 450;

    state=OVER;

    //JOptionPane.showMessageDialog(null,"游戏结束,你得了"+score+"分","GAMEOVER",JOptionPane.INFORMATION_MESSAGE);

    }

    }

    if (by 

    if (dir == 4) {

    dir = 1;

    }

    if (dir == 3) {

    dir = 2;

    }

    }

    repaint();

    try {

    Thread.sleep(sleep-score/20);

    } catch (InterruptedException e) {

    // TODO 自动生成的 catch 块

    e.printStackTrace();

    }

    }

    }}

    }.start();

    }

    @Override

    public void mouseDragged(MouseEvent e) {

    // TODO 自动生成的方法存根

    }

    @Override

    public void mouseMoved(MouseEvent e) {

    // TODO 自动生成的方法存根

    px = e.getX() - 200;

    // 把鼠标的坐标给挡板

    repaint();

    }

    @Override

    public void mouseClicked(MouseEvent e) {

    // TODO 自动生成的方法存根

    if(state==START){

    state=RUNNING;}

    else if (state==PAUSE){

    state=RUNNING;}

    else if(state==OVER){

    score=0;

    bx=400;

    by=100;

    state=RUNNING;

    }

    repaint();

    }

    @Override

    public void mousePressed(MouseEvent e) {

    // TODO 自动生成的方法存根

    }

    @Override

    public void mouseReleased(MouseEvent e) {

    // TODO 自动生成的方法存根

    }

    @Override

    public void mouseEntered(MouseEvent e) {

    // TODO 自动生成的方法存根

    if(state==PAUSE){

    state=RUNNING;

    }

    }

    @Override

    public void mouseExited(MouseEvent e) {

    // TODO 自动生成的方法存根

    if(state==RUNNING){

    state=PAUSE;}

    }

    }

    展开全文
  • 我就尝试用java语言写了一个关于Socket挡板程序,该程序还用了log4j的日志函数。简单说一下代码,首先开启一个端口,这里的端口可以自己定义,如果没有定义,就默认23011端口,用LR建立一个socket连接,发送任意数据...

    看云层的《性能测试进阶指南II》,看到有一章节是关于挡板测试的,书中的挡板程序是用Python写的,这对于我来说是一个新的语言,我就开始想,能不能用我熟悉的语言实现呢?我就尝试用java语言写了一个关于Socket挡板程序,该程序还用了log4j的日志函数。

    简单说一下代码,首先开启一个端口,这里的端口可以自己定义,如果没有定义,就默认23011端口,用LR建立一个socket连接,发送任意数据,挡板程序就会返回固定的报文。

    目录树:

    SocketService.java源码如下:

    public class SocketService {

    ServerSocket serverSocket;

    int thread=1;

    Logger logger = Logger.getLogger(SocketService.class);

    public SocketService(){

    try {

    serverSocket=new ServerSocket(23011,500);

    System.out.println("无参数,采用默认端口。端口23011已打开");

    while(true){

    Socket socket=serverSocket.accept();

    SocketAddress clientAdress = socket.getRemoteSocketAddress();//获取连接到服务器的ip

    System.out.println("客户端:"+clientAdress);

    logger.info("开启线程"+thread);

    SocketServiceThread sst=new SocketServiceThread(socket,clientAdress);

    sst.start();

    thread++;

    }

    } catch (IOException e) {

    e.printStackTrace();

    }finally

    {

    System.out.println("dddddddddddd"+thread);

    }

    }

    public SocketService(int port){

    try {

    serverSocket=new ServerSocket(port,500);

    System.out.println("端口"+port+"已打开");

    while(true){

    Socket socket=serverSocket.accept();

    SocketAddress clientAdress = socket.getRemoteSocketAddress();//获取连接到服务器的ip

    System.out.println("客户端:"+clientAdress);

    logger.info("开启线程"+thread);

    SocketServiceThread sst=new SocketServiceThread(socket,clientAdress);

    sst.start();

    thread++;

    }

    } catch (IOException e) {

    e.printStackTrace();

    }finally

    {

    System.out.println("dddddddddddd"+thread);

    }

    }

    ......

    (本文收录于《51测试天地》电子杂志第37期)

    展开全文
  • 为什么我们需要挡板程序? 在应用开发过程中难免会有发送短信验证码、调用人脸识别、压力测试等需要调用外部接口的情况。大多数外部接口都会有调用限制或者需要收费等。如果我们需要进行压力测试、目的接口实际未...

    为什么我们需要挡板程序?

    在应用开发过程中难免会有发送短信验证码、调用人脸识别、压力测试等需要调用外部接口的情况。大多数外部接口都会有调用限制或者需要收费等。如果我们需要进行压力测试、目的接口实际未完成开发或者对方不支持在当前开发环境测试就会有诸多不便。

    因此一个挡板应该满足如下要求:

    1. 接入简单、灵活
    2. 挡板高性能、高可用,能横向扩展
    3. 部署简单,支持热部署
    4. 能够实现简单的业务逻辑
    5. 响应可控、可灵活切换。或特定情况响应特定内容。

    实现方式

    依赖组件列表:

    • spring-boot-starter-web : 构建Web服务端。
    • beetl[http://ibeetl.com]: 灵活构建响应报文,并支持简单业务逻辑,热更新且性能高。
    • mongoDb: 存储挡板配置信息。
    • spring-boot-starter-actuator: 监控,配合其他应用系统做链路追踪。【可选】
    • spring-cloud-starter-alibaba-nacos-discovery: 注册中心、配置中心【可选,提供微服务用】
    • ognl:用于动态获取请求数据。

    功能块

    百分比控制响应

    按字段控制响应

    MongoDb与Beetl集成

     

    源码位置:https://gitee.com/crazyAsm/Tailgate

    展开全文
  • 实现方式 存在URL配置 不存在URL配置 请求 WebFilter 获取Url对应的ApiId 挡板服务 响应 执行Filter 服务 package cn.twh.wall.filter; import cn.twh.wall.config.WallConfig; import ...
  • 我就尝试用java语言写了一个关于Socket挡板程序,该程序还用了log4j的日志函数。简单说一下代码,首先开启一个端口,这里的端口可以自己定义,如果没有定义,就默认23011端口,用LR建立一个socket连接,发送任意数据...
  • 计算响应下标方法 总体思路:传入 N个int值,计算其和。获取一个int随机数,并判断当前随机值是否在该下标中。 例如传入: 1,5,9则 sum=15。随机【0-15】假设得到8则: if(8<大于1) 返回 下标0 ,if(8<...
  • 挡板接小球(Java程序

    千次阅读 2018-12-31 21:29:05
    "挡板接小球" ) ; f . setSize ( 800 , 600 ) ; f . setLocationRelativeTo ( null ) ; //居中 f . setDefaultCloseOperation ( 3 ) ; f . setVisible ( true ) ; f . addMouseMotionListener ( p ) ; ...
  • // 通过挡板配置构建映射关系,形成最终的appInfo集合 templateInfoList.forEach(item -> { Map apis = Optional.ofNullable(appInfoHashMap.get(item.getAppId())) .orElseGet(() -> { AppInfo appInfo = new ...
  • java扩展函数实现 package cn.twh.wall.beetl.tag; import org.beetl.core.exception.BeetlException; import org.beetl.ext.tag.IncludeTag; /** * include 某个文件,如果模板存在则引入,不存在
  • 在使用include方法的时候,如果使用不当,进场会出现对应模板无法找到的问题。有些情况,我们也想在没有指定模板的情况下能有个默认返回。 这个使用扩展include方法是一个很不错的选择。实现beetl扩展需要做以下...
  • 挡板游戏 java

    2013-01-10 15:25:27
    挡板游戏的一个小程序,用的是java语言,可以初学者分享一下
  • Python tkinter Canvas其实前面程序中的高亮显示已经是动画效果了。程序会用红色、黄色交替显示几何图形的边框,这样看上去就是动画效果了。实现其他动画效果也是这个原理,程序只要增加一个定时器,周期性地改变...
  • 在我们的性能测试中或多或少的都要参与些开发的工作,例如最常见的就是挡板的开发,因为在压测中往往不是单一系统会有一些关联系统,而这些关联系统不是我们测试的重点,为了最大...本次压测中发现挡板程序会执行...
  • java弹球小程序

    2013-11-28 16:38:16
    java弹球小程序桌面弹球是游戏中常见的游戏,从以前的掌上游戏机到如今的手机游戏,都是一个十分经典的游戏。 玩家控制一个可以左右移动的挡板去改变运动中小球的移动方向,目的是用小球消除游戏屏幕中的所有 障碍物...
  • 在我们的性能测试中或多或少的都要参与些开发的工作,例如最常见的就是挡板的开发,因为在压测中往往不是单一系统会有一些关联系统,而这些关联系统不是我们测试的重点,为了最大...本次压测中发现挡板程序会执行...
  • 分享一个最近做的一个用swing做的小程序,类似于打砖块。单击开始,单击暂停,再次单击继续游戏,鼠标离开窗口暂停。鼠标移动控制挡板,小球落到挡板上反弹,落到底部生命值扣一,每击中一个成绩加一。初学者可以写...
  • Java趣味小程序:打弹珠

    千次阅读 2017-07-13 18:49:05
    分享一个最近做的一个用swing做的小程序,类似于打砖块。单击开始,单击暂停,再次单击继续游戏,鼠标离开窗口暂停。鼠标移动控制挡板,小球落到挡板上反弹,落到底部生命值扣一,每击中一个成绩加一。初学者可以写...
  • 在我们的性能测试中或多或少的都...而本次的问题就发生在挡板开发程序中,由于要最大限度得到被测系统性能,因此挡板性能要得到保证,一般我会将本地开发的java代码打包然后在Linux服务器上运行。本次压测中发现挡板...
  • 前面一篇博客介绍了CountDownLatch...栅栏可以理解为挡住多个线程运行的挡板,即声明一个CyclicBarrier对象表示栅栏,把栅栏放到每个线程内部,线程调用栅栏方法的时刻就是线程等待的时刻。具体过程如下: CyclicBa...
  • 利用java实现打砖块小游戏,游戏界面包括以下元素 顶部的各色砖块 底部的挡板 小球 游戏信息展示面板 玩法包括 使用鼠标或者键盘移动挡板 打掉砖块,得分 每一局有3次机会,挡板没有接到小球,机会减1 打掉黑色...
  • Java编写打砖块 经典游戏设计

    千次阅读 2014-04-07 14:45:01
    游戏开始时,小球会停在挡板正中间,且此时挡板可左右自 由移动,当按下空格键后小球会弹出,并在程序设定的区域内不 停的碰撞反弹。当小球碰到墙壁、挡板和砖块时,均会以相反的 速度反弹,并且砖块被碰撞后会...
  • 程序共分3个类 主类 角色类 和挡板类 源程序里已经包含相关说明 不过,实现的代码部分,我个人不是很满意,封装做的不够好,希望大家不要介意 PS:希望能有意思的美工朋友一起写些游戏玩玩。。。。互相提高
  • Moco是一个简单搭建模拟服务器的程序库/工具,这个基于 Java 开发的开源项目,可做简单挡板程序,性能压测挡板程序,支持时间延迟设置
  • 手机自动化

    2019-10-04 10:08:07
    手机自动化 学selenium 也最好Java方向,Python掌握也...挡板程序会返回这个打赏数据,你的档板程序代替了微信支付而已 另位同学说的支付1分也是大家常用的办法 写mock 转载于:https://www.cnblogs.com/ITniu/p/63...

空空如也

空空如也

1 2
收藏数 36
精华内容 14
关键字:

java挡板程序

java 订阅