大球吃小球java源代码,java大球吃小球项目总结

关于类的,写一个球的体积的java代码

import java.util.Scanner;

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、虚拟空间、营销软件、网站建设、克山网站维护、网站推广。

/**

* 计算球的体积

* @author young

*

*/

public class Volume {

public static void main(String[] args) {

System.out.print("请输入r:");

Scanner reader = new Scanner(System.in);

double r = 0, v = 0;

r = reader.nextDouble();

v = 4 * 3.14159 / 3 * r * r * r;

System.out.println("球体积为:" + String.format("%.2f", v));

}

}

滚动的小球 java源代码

;

要制造那种效果只需要大约 30 行 Java 代码:

import javax.swing.*;

import java.awt.*;

import java.awt.geom.*;

class RollingBall extends JPanel {

Ellipse2D.Float ball = new Ellipse2D.Float( -100, 100, 50, 50 );

public void paintComponent( Graphics g ) {

super.paintComponent( g );

Graphics2D g2 = ( Graphics2D ) g;

// Draw the ball

g2.fill( ball );

// Draw the rotating ellipse by skewing the Device Space

double angdeg =     // One rotation per ball's travelling over its perimeter

ball.x++ % ( Math.PI * ball.width ) / ( Math.PI * ball.width ) * 360;

g2.rotate( Math.toRadians( angdeg ), ball.getCenterX( ), ball.getCenterY( ) );

g2.scale( .5, 1 );

g2.translate( ball.getCenterX( ), 0 );

g2.setColor( Color.gray );

g2.fill( ball );

}

public void roll( ) throws Exception {

while( true ) {

repaint( );

Thread.sleep( 8 );

}

}

public static void main( String[ ] args ) throws Exception {

JFrame f = new JFrame( );

RollingBall rb = new RollingBall( );

f.setSize( 999, 185 );

f.getContentPane( ).add( rb );

f.setVisible( true );

rb.roll( );

}

}

如何用易语言编写一个大球吃小球的游戏

你说的是琼脂吧,易语言是不可能实现的,因为太慢了。

琼脂是PHP实现的,java版的也有了,你可以用c++来做,想做个引擎再实现功能

Java,线程小球碰撞游戏,如何制作结束画面?

如果要在 Java 的线程小球碰撞游戏中制作结束画面,需要实现以下步骤:

在程序中创建一个画布,用于绘制结束画面。

在游戏结束时,使用画布的 drawString 方法在画布上绘制文字,表示游戏结束。

使用画布的 repaint 方法刷新画布,让结束画面显示在屏幕上。

例如,可以这样实现结束画面:

// 创建画布

Canvas canvas = new Canvas();

// 绘制文字

canvas.drawString("Game Over", 100, 100);

// 刷新画布

canvas.repaint();

在这里,我们创建了一个画布,并在画布上绘制了文字,表示游戏结束。最后,我们使用了 repaint 方法,让结束画面显示在屏幕上。

此外,如果需要在结束画面上显示更多的信息,比如游戏得分、玩家名字等,也可以使用类似的方法来实现。例如,可以这样显示游戏得分:

// 绘制文字

canvas.drawString("Game Over", 100, 100);

canvas.drawString("Score: " + score, 100, 120);

// 刷新画布

canvas.repaint();

求解答以下的java源代码,详细点,说明这个程序的设计思路,还有比如运用了多线程的话运用了多线程的什么

import java.awt.*;

import java.awt.event.*;

import java.util.Random;

import javax.swing.Timer;

public class PinBall

{

private final int TABLE_WIDTH = 300;//桌面宽度

private final int TABLE_HEIGHT = 400;//桌面高度

private final int RACKET_Y = 340;//球拍的垂直位置

private final int RACKET_HEIGHT = 20;//球拍高度

private final int RACKET_WIDTH = 60;//球拍宽度

private final int BALL_SIZE = 16;//球的大小

private Frame f = new Frame("弹球游戏");//实例化一个窗口

Random rand = new Random();//实例化一个随机数生成器

private int ySpeed = 10;//小球的纵向运动数度、

private double xyRate = rand.nextDouble() - 0.5;//返回一个-0.5到0.5之间的比率用控制小球运动方向

private int xSpeed = (int)(ySpeed*xyRate*2);//这个横向速度在-10到10之间,产生左右摆动运动效果

private int ballX = rand.nextInt(200)+20;//小球开始的横坐标位置,200表示产生0到100之间的随机数

private int ballY = rand.nextInt(10)+20;//小球开始的纵坐标位置

private int racketX = rand.nextInt(200);//球拍开始时的横坐标位置

private MyCanvas tableArea = new MyCanvas();//实力化一个画布工具,集成Canvas类

private String shape = "";//保存需要绘制图形的字符串属性

Timer timer;//声明一个时间变量

private boolean isLose = false;//表示游戏是否结束

public void init()

{

tableArea.setPreferredSize(new Dimension(TABLE_WIDTH,TABLE_HEIGHT));//定义画布大小

f.add(tableArea);//添加画布到窗口

KeyAdapter keyProcessor = new KeyAdapter()//实例化一个键盘监听事件适配器

{

public void keyPressed(KeyEvent ke)//重写适配器里面的按下某键盘方法

{

if(ke.getKeyCode()==KeyEvent.VK_LEFT)//按下键盘左键时

{

if(racketX 0)//球拍左边框不能出画布的左边框

racketX -=10;//按一左键次向左移动10个像素

}

if(ke.getKeyCode()==KeyEvent.VK_RIGHT)//按下键盘右键时

{

if(racketX TABLE_WIDTH - RACKET_WIDTH)//球拍右边框不能出画布的右边框

racketX +=10;//按一次右键移动向右移动10个像素

}

}

};

f.addKeyListener(keyProcessor);//给窗口添加键盘监听器

tableArea.addKeyListener(keyProcessor);//给画布添加键盘监听器

ActionListener taskPerformer = new ActionListener()//这里是实例化了一个监听接口,这个接口里面只有一个方法

{

public void actionPerformed(ActionEvent evt)//重写这个接口里面的方法,判断小球的位置

{

if(ballX=0 || ballX=TABLE_WIDTH-BALL_SIZE)//保证小球横向上在画布之内运动

{

xSpeed = -xSpeed;//触发反方向运动

}

if(ballY=RACKET_Y-BALL_SIZE(ballXracketX||ballXracketX+RACKET_WIDTH))//出了球拍的可击打范围

{

timer.stop();//停止对监听器的触发

isLose=true;//将标志isLose变量置为true

tableArea.repaint();//调用画布的重绘方法

}

else if(ballY=0||(ballY=RACKET_Y-BALL_SIZEballYracketXballX=racketX+RACKET_WIDTH))//小球在球拍之内,而其到达球拍的高度

{

ySpeed=-ySpeed;//上下方向改变,小球反弹

}

ballY+=ySpeed;//小球的坐标在纵向上增加

ballX+=xSpeed;//小球的坐标在横向上的增加

tableArea.repaint();//调用画布的重绘方法3

}

};

timer = new Timer(100,taskPerformer);//每隔0.1秒运行一次监听器

timer.start();//计时器开始运行

f.addWindowListener(new MyListener());//关闭窗口事件

f.pack();//设置窗口最佳大小

f.setVisible(true);//显示窗口

}

class MyListener extends WindowAdapter//关闭窗口的类

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

}

public static void main(String[] args)//程序入口

{

new PinBall().init();//调用PinBall类里面的init()方法

}

class MyCanvas extends Canvas//建一个集成Canvas类的类

{

public void paint(Graphics g)//重写父类的绘图方法

{

if(isLose)//如果isLose为真,则在画布里打印“游戏已结束”

{

g.setColor(new Color(255,0,0));//当前颜色

g.setFont(new Font("黑体",Font.BOLD,30));//字体名称,样式,大小

g.drawString("游戏已结束!",50,200);//按坐标绘制文字图形

}

else//负责

{

g.setColor(new Color(240,240,80));//当前颜色

g.fillOval(ballX,ballY,BALL_SIZE,BALL_SIZE);//填充颜色,根据坐标和长宽填充圆形

g.setColor(new Color(80,80,200));//当前颜色

g.fillRect(racketX,RACKET_Y,RACKET_WIDTH,RACKET_HEIGHT);//填充颜色,根据坐标和长宽填充矩形

}

}

}

}

用Java程序写一个彩票的模拟程序生成6个红球(1-33的随机数),1个蓝球(1-16的随机数),随机数可以重复

import java.util.Random;

import java.util.Scanner;

public class DoubleBalls {

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("是否机选一组双色球号码?(Y/N)");

Scanner input = new Scanner(System.in);

char a = input.next().charAt(0); // 输入一个char字符,0位即是第一位

if (a == 'Y' || a == 'y') {

Random suiji = new Random(); // 创建suiji方法

int blue = suiji.nextInt(16);//从0到16中选一个数字个蓝球

while(blue==0){

blue=suiji.nextInt(16);

}//如果选到了0,再选一次给blue

int red[] = new int[6];// 用一个6个元素的数组装红球

for (int i = 0; i 6; i++) {

red[i] = suiji.nextInt(33); // 随机分配0到33的整数

if (red[i] == 0) {i--;}

if (i == -1) {i = 0;}

for (int j = 0; j i; j++) {

while (red[i] == red[j]) {i--;}// 发现相同的从新回去生成一个

}

}

System.out.print("红球:");

for (int k = 0; k red.length; k++) {

System.out.print(red[k] + " ");// 输出数组red

}

System.out.print("蓝球:"+blue);

} else

System.out.println("fuck you~");

}

}

应该可以了,可以产生一组。。。如果楼主你中头奖了,送我套房好了哈^0^


网站名称:大球吃小球java源代码,java大球吃小球项目总结
路径分享:http://ybzwz.com/article/hsigge.html