首页后端开发JAVA水果转盘游戏java代码 接水果游戏编程代码

水果转盘游戏java代码 接水果游戏编程代码

时间2023-04-14 15:36:01发布访客分类JAVA浏览783
导读:帮我写java小游戏? 这不就是连连看嘛import javax.swing.*; import java.awt.*; import java.awt.event.*; public class lianliankan implement...

帮我写java小游戏?

这不就是连连看嘛

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class lianliankan implements ActionListener

{

JFrame mainFrame; //主面板

Container thisContainer;

JPanel centerPanel,southPanel,northPanel; //子面板

JButton diamondsButton[][] = new JButton[6][5]; //游戏按钮数组

JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮

JLabel fractionLable=new JLabel("0"); //分数标签

JButton firstButton,secondButton; //分别记录两次被选中的按钮

int grid[][] = new int[8][7]; //储存游戏按钮位置

static boolean pressInformation=false; //判断是否有按钮被选中

int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标

int i,j,k,n; //消除方法控制

public void init(){

mainFrame=new JFrame("JKJ连连看");

thisContainer = mainFrame.getContentPane();

thisContainer.setLayout(new BorderLayout());

centerPanel=new JPanel();

southPanel=new JPanel();

northPanel=new JPanel();

thisContainer.add(centerPanel,"Center");

thisContainer.add(southPanel,"South");

thisContainer.add(northPanel,"North");

centerPanel.setLayout(new GridLayout(6,5));

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

for(int rows = 0; rows 5; rows++ ){

diamondsButton[cols][rows]=new JButton(String.valueOf(grid[cols+1][rows+1]));

diamondsButton[cols][rows].addActionListener(this);

centerPanel.add(diamondsButton[cols][rows]);

}

}

exitButton=new JButton("退出");

exitButton.addActionListener(this);

resetButton=new JButton("重列");

resetButton.addActionListener(this);

newlyButton=new JButton("再来一局");

newlyButton.addActionListener(this);

southPanel.add(exitButton);

southPanel.add(resetButton);

southPanel.add(newlyButton);

fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));

northPanel.add(fractionLable);

mainFrame.setBounds(280,100,500,450);

mainFrame.setVisible(true);

}

public void randomBuild() {

int randoms,cols,rows;

for(int twins=1; twins=15; twins++) {

randoms=(int)(Math.random()*25+1);

for(int alike=1; alike=2; alike++) {

cols=(int)(Math.random()*6+1);

rows=(int)(Math.random()*5+1);

while(grid[cols][rows]!=0) {

cols=(int)(Math.random()*6+1);

rows=(int)(Math.random()*5+1);

}

this.grid[cols][rows]=randoms;

}

}

}

public void fraction(){

fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));

}

public void reload() {

int save[] = new int[30];

int n=0,cols,rows;

int grid[][]= new int[8][7];

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

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

if(this.grid[i][j]!=0) {

save[n]=this.grid[i][j];

n++;

}

}

}

n=n-1;

this.grid=grid;

while(n=0) {

cols=(int)(Math.random()*6+1);

rows=(int)(Math.random()*5+1);

while(grid[cols][rows]!=0) {

cols=(int)(Math.random()*6+1);

rows=(int)(Math.random()*5+1);

}

this.grid[cols][rows]=save[n];

n--;

}

mainFrame.setVisible(false);

pressInformation=false; //这里一定要将按钮点击信息归为初始

init();

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

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

if(grid[i+1][j+1]==0)

diamondsButton[i][j].setVisible(false);

}

}

}

public void estimateEven(int placeX,int placeY,JButton bz) {

if(pressInformation==false) {

x=placeX;

y=placeY;

secondMsg=grid[x][y];

secondButton=bz;

pressInformation=true;

}

else {

x0=x;

y0=y;

fristMsg=secondMsg;

firstButton=secondButton;

x=placeX;

y=placeY;

secondMsg=grid[x][y];

secondButton=bz;

if(fristMsg==secondMsg secondButton!=firstButton){

xiao();

}

}

}

public void xiao() { //相同的情况下能不能消去。仔细分析,不一条条注释

if((x0==x (y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)(y0==y))){ //判断是否相邻

remove();

}

else{

for (j=0; j7; j++ ) {

if (grid[x0][j]==0){ //判断第一个按钮同行哪个按钮为空

if (yj) { //如果第二个按钮的Y坐标大于空按钮的Y坐标说明第一按钮在第二按钮左边

for (i=y-1; i=j; i-- ){ //判断第二按钮左侧直到第一按钮中间有没有按钮

if (grid[x][i]!=0) {

k=0;

break;

}

else //K=1说明通过了第一次验证

}

if (k==1) {

linePassOne();

}

}

if (yj){ //如果第二个按钮的Y坐标小于空按钮的Y坐标说明第一按钮在第二按钮右边

for (i=y+1; i=j ; i++ ){ //判断第二按钮左侧直到第一按钮中间有没有按钮

if (grid[x][i]!=0){

k=0;

break;

}

else

}

if (k==1){

linePassOne();

}

}

if (y==j ) {

linePassOne();

}

}

if (k==2) {

if (x0==x) {

remove();

}

if (x0x) {

for (n=x0; n=x-1; n++ ) {

if (grid[n][j]!=0) {

k=0;

break;

}

if(grid[n][j]==0 n==x-1) {

remove();

}

}

}

if (x0x) {

for (n=x0; n=x+1 ; n-- ) {

if (grid[n][j]!=0) {

k=0;

break;

}

if(grid[n][j]==0 n==x+1) {

remove();

}

}

}

}

}

for (i=0; i8; i++ ) { //列

if (grid[i][y0]==0) {

if (xi) {

for (j=x-1; j=i ; j-- ) {

if (grid[j][y]!=0) {

k=0;

break;

}

else

}

if (k==1) {

rowPassOne();

}

}

if (xi) {

for (j=x+1; j=i; j++ ) {

if (grid[j][y]!=0) {

k=0;

break;

}

else

}

if (k==1) {

rowPassOne();

}

}

if (x==i) {

rowPassOne();

}

}

if (k==2){

if (y0==y) {

remove();

}

if (y0y) {

for (n=y0; n=y-1 ; n++ ) {

if (grid[i][n]!=0) {

k=0;

break;

}

if(grid[i][n]==0 n==y-1) {

remove();

}

}

}

if (y0y) {

for (n=y0; n=y+1 ; n--) {

if (grid[i][n]!=0) {

k=0;

break;

}

if(grid[i][n]==0 n==y+1) {

remove();

}

}

}

}

}

}

}

public void linePassOne(){

if (y0j){ //第一按钮同行空按钮在左边

for (i=y0-1; i=j ; i-- ){ //判断第一按钮同左侧空按钮之间有没按钮

if (grid[x0][i]!=0) {

k=0;

break;

}

else //K=2说明通过了第二次验证

}

}

if (y0j){ //第一按钮同行空按钮在与第二按钮之间

for (i=y0+1; i=j ; i++){

if (grid[x0][i]!=0) {

k=0;

break;

}

else

}

}

}

public void rowPassOne(){

if (x0i) {

for (j=x0-1; j=i ; j-- ) {

if (grid[j][y0]!=0) {

k=0;

break;

}

else

}

}

if (x0i) {

for (j=x0+1; j=i ; j++ ) {

if (grid[j][y0]!=0) {

k=0;

break;

}

else

}

}

}

public void remove(){

firstButton.setVisible(false);

secondButton.setVisible(false);

fraction();

pressInformation=false;

k=0;

grid[x0][y0]=0;

grid[x][y]=0;

}

public void actionPerformed(ActionEvent e) {

if(e.getSource()==newlyButton){

int grid[][] = new int[8][7];

this.grid = grid;

randomBuild();

mainFrame.setVisible(false);

pressInformation=false;

init();

}

if(e.getSource()==exitButton)

System.exit(0);

if(e.getSource()==resetButton)

reload();

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

for(int rows = 0; rows 5; rows++ ){

if(e.getSource()==diamondsButton[cols][rows])

estimateEven(cols+1,rows+1,diamondsButton[cols][rows]);

}

}

}

public static void main(String[] args) {

lianliankan llk = new lianliankan();

llk.randomBuild();

llk.init();

}

}

求JAVA高手~~定义一个类表示水果~~高手在哪里 哆啦A梦在哪里 奥特曼在哪里 葫芦娃在哪里~ help~

public class Fruit {

private String name;

private double weight;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public double getWeight() {

return weight;

}

public void setWeight(double weight) {

this.weight = weight;

}

//构造方法

public Fruit(String name,double weight){

this.name = name;

this.weight = weight;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Fruit f = new Fruit("苹果",0.5);

System.out.println(f.getName()); //输出名称

System.out.println(f.getWeight()); //输出名称

}

}

如果对你有所帮助,请采纳,谢谢!

5种水果,用java来按照字典顺序排列输出

public class Fruit {

String[] fruits=new String[5];

public void inputfruit(){

Scanner input=new Scanner(System.in);

for(int i=0; ifruits.length; i++){

System.out.print("请输入第"+(i+1)+"种水果:");

fruits[i]=input.next();

}

}

public String[] getNames(){

Arrays.sort(fruits);

return fruits;

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Fruit sg=new Fruit();

String[] newFruits=new String[5];

sg.inputfruit();

newFruits=sg.getNames();

System.out.println("这些水果在字典种出现的顺序是:");

for(int i=0; inewFruits.length; i++){

if(newFruits[i]!=null){

System.out.print(newFruits[i]+"\t");

}

}

}

输入5种水果的英文名称,用java编写一个程序,输出这些水果名称按照字典出现的先后循序输出?

一、思路:

1、建立一个String数组,用来存储用户输入的水果名字。

2、按字典出现的先后顺序即比较字符串大小。可以使用到String对象的compareTo()方法。

3、对比大小后,升序输出。

二、实现:

1、定义输入水果名字的个数,用来确定数组的大小,修改此值可以修改数组的大小。

2、用户输入,用循环实现接收,并存储到数组中。

3、将数据对比大小,按升序排列。使用最简单的冒泡排序法(麻烦易错)或Java的工具类(简单高效)。

4、输出排序后的数组。

实现代码:

//java代码:输入五种水果的英文,按字典出现的先后顺序循环输出。

import java.util.Arrays;

import java.util.Scanner;

public class CompareTest {

/**

 * 一、思路:

 * 1、建立一个String数组,用来存储用户输入的水果名字。

 * 2、按字典出现的先后顺序即比较字符串大小。可以使用到String对象的compareTo()方法。

 * 3、对比大小后,升序输出。

 * 二、实现:

 * 1、定义输入水果名字的个数,用来确定数组的大小,修改此值可以修改数组的大小。

 * 2、用户输入,用循环实现接收,并存储到数组中。

 * 3、将数据对比大小,按升序排列。使用最简单的冒泡排序法(麻烦易错)或Java的工具类(简单高效)。

 * 4、输出排序后的数组。

 * */

//定义用户输入数据的个数,修改此值可以修改个数及数据接收数组的大小

public static final int COUNT = 5;

public static void main(String[] args) {

// TODO Auto-generated method stub

//定义接收用户输入数据的数组

String[] fruits = new String[COUNT];

Scanner reader = new Scanner(System.in);

//接收用户输入的数据

System.out.println("请输入"+COUNT+"个水果的英文名字:");

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

fruits[i] = reader.next();

}

reader.close();

//比较数组中数据的大小,并按升序排列。冒泡法

for(int i = 1; i = (COUNT-1); i++){

for(int n = 0; n  (COUNT-i); n++){

if(fruits[n]点抗pareTo(fruits[n+1])  0){

String temp = null;

temp = fruits[n];

fruits[n] = fruits[n+1];

fruits[n+1] = temp;

}

}

}

//不使用冒泡排序,使用java自带的工具类,一句话即可,排序由底层自动完成

//Arrays.sort(fruits);

//输出排序后的数组,即为字典中的出现顺序

System.out.println("这些水果的英文名在字典中出现的顺序是:");

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

System.out.print(fruits[i] + " ");

}

System.out.println();

}

}

运行结果图:

应注意:程序中使用的比较方式是区分大小写的,如果是不区分大小写的比较方式,应使用compareToIgnoreCase()方法。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 水果转盘游戏java代码 接水果游戏编程代码
本文地址: https://pptw.com/jishu/3025.html
java跳转代码隐藏地址 java跳转代码隐藏地址是什么 java死锁代码示例 java实现死锁代码

游客 回复需填写必要信息