返回顶部
首页 > 资讯 > 精选 >Java如何实现萝卜勇者游戏
  • 267
分享到

Java如何实现萝卜勇者游戏

2023-06-29 03:06:22 267人浏览 八月长安
摘要

这篇文章主要介绍了Java如何实现萝卜勇者游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。主要设计 用Swing库做可视化界面键盘监听,用WSAD可以控制光标移动,J是确定

这篇文章主要介绍了Java如何实现萝卜勇者游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    主要设计

    用Swing库做可视化界面

    键盘监听,用WSAD可以控制光标移动,J是确定,K是取消,游戏中,WSAD移动,J攻击,K格挡。

    线程实现画面刷新。

    用流实现音乐播放。

    支持多种语言,支持用户翻译语言文件。

    在帮助界面下,按键盘1234567890可以启用秘籍(传奇模式:一刀砍999血)

    使用的是jdk8

    文件编码GBK

    功能截图

    游戏开始

    Java如何实现萝卜勇者游戏

    游戏帮助

    Java如何实现萝卜勇者游戏

    游戏设置

    Java如何实现萝卜勇者游戏

    选择不同的关卡

    Java如何实现萝卜勇者游戏

    游戏效果

    Java如何实现萝卜勇者游戏

    怪物攻击效果

    Java如何实现萝卜勇者游戏

    代码实现

    启动类

    @SuppressWarnings("serial")public class TestWindowBuilder extends JFrame {TextLibrary textLib;settingLoader settingLib;private JPanel contentPane;boolean isCheating;saveSelect saveSelectMenu;int[] startMenuPointer=new int[1];JLabel lblNewLabel1;JLabel lblNewLabel2;JLabel lblNewLabel3;JLabel lblNewLabel3_2;JLabel lblNewLabel3_1;JLabel lblNewLabel4;JLabel lblNewLabel5;JLabel lblNewLabel6;CMusicLink CMLHead=new CMusicLink(1);CMusicLink CMLLast=new CMusicLink(2);boolean sawExplain=true;CMusic menuBGMusic;public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {TestWindowBuilder frame = new TestWindowBuilder();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}public TestWindowBuilder() {this.setTitle("CARROT MAN II");this.setIconImage(new ImageIcon("resource/down4.png").getImage());int screenWidth=Calculator.setInside(ScreenSize.getWidth(), 800, 99999);int screenHeight=Calculator.setInside(ScreenSize.getHeight(), 450, 99999);System.out.println("启动控制台222...");CMLHead.next=CMLLast;CMLLast.prev=CMLHead;settingLib=new settingLoader();settingLib.loadSetting();//加载设置settingLib.saveSetting();textLib=new TextLibrary();textLib.saveText();//创建默认的语言文件textLib.loadText(settingLib.settings[0]);startNewMenuBGMusic(1);int gamePhase=0;isCheating=false;startMenuPointer[0]=0;int allSMPCount=5;//总指针数TestWindowBuilder testMenu=this;setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds((screenWidth-800)/2, (screenHeight-450)/2, 800, 450);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);JPanel mainMenu = new JPanel();mainMenu.setBounds(0, 0, 784, 412);contentPane.add(mainMenu);mainMenu.setLayout(null);lblNewLabel1 = new JLabel();//菜单标题lblNewLabel1.setBounds(192, 10, 400, 150);lblNewLabel1.setIcon(new ImageIcon("resource/MenuTitle.png"));mainMenu.add(lblNewLabel1);lblNewLabel2 = new JLabel();//开始lblNewLabel2.setBounds(10, 193, 764, 43);lblNewLabel2.setHorizontalAlignment(SwinGConstants.CENTER);lblNewLabel2.setFont(new Font("Adobe 黑体 Std R", Font.PLAIN, 21));lblNewLabel2.setForeground(new Color(200,200,200));mainMenu.add(lblNewLabel2);lblNewLabel3 = new JLabel();//帮助lblNewLabel3.setBounds(10, 223, 764, 43);lblNewLabel3.setHorizontalAlignment(SwingConstants.CENTER);lblNewLabel3.setFont(new Font("Adobe 黑体 Std R", Font.PLAIN, 21));lblNewLabel3.setForeground(new Color(200,200,200));mainMenu.add(lblNewLabel3);lblNewLabel3_2 = new JLabel();//设置lblNewLabel3_2.setBounds(10, 253, 764, 43);lblNewLabel3_2.setHorizontalAlignment(SwingConstants.CENTER);lblNewLabel3_2.setFont(new Font("Adobe 黑体 Std R", Font.PLAIN, 21));lblNewLabel3_2.setForeground(new Color(200,200,200));mainMenu.add(lblNewLabel3_2);lblNewLabel3_1 = new JLabel();//语言lblNewLabel3_1.setBounds(10, 283, 764, 43);lblNewLabel3_1.setHorizontalAlignment(SwingConstants.CENTER);lblNewLabel3_1.setFont(new Font("Adobe 黑体 Std R", Font.PLAIN, 21));lblNewLabel3_1.setForeground(new Color(200,200,200));mainMenu.add(lblNewLabel3_1);lblNewLabel4 = new JLabel();//退出lblNewLabel4.setBounds(10, 313, 764, 43);lblNewLabel4.setHorizontalAlignment(SwingConstants.CENTER);lblNewLabel4.setFont(new Font("Adobe 黑体 Std R", Font.PLAIN, 21));lblNewLabel4.setForeground(new Color(200,200,200));mainMenu.add(lblNewLabel4);lblNewLabel5 = new JLabel(textLib.textData[5]);//底部提示lblNewLabel5.setBounds(10, 371, 764, 31);lblNewLabel5.setHorizontalAlignment(SwingConstants.CENTER);lblNewLabel5.setFont(new Font("Adobe 黑体 Std R", Font.PLAIN, 15));lblNewLabel5.setForeground(new Color(200,200,200));mainMenu.add(lblNewLabel5);lblNewLabel6 = new JLabel();//半透明黑背景lblNewLabel6.setBounds(267, 193, 250, 209);lblNewLabel6.setIcon(new ImageIcon("resource/mainMenuButtonBackGround.png"));mainMenu.add(lblNewLabel6);JLabel MenuBackGroundLabel = new JLabel();//白色背景MenuBackGroundLabel.setBounds(0, 0, 800, 450);MenuBackGroundLabel.setIcon(new ImageIcon("resource/mainMenuBackGround.png"));mainMenu.add(MenuBackGroundLabel);reflash();//键盘监听器this.addKeyListener(new KeyAdapter() {public void keyPressed(KeyEvent e) {char cmd=e.geTKEyChar();if(gamePhase==0)//开始菜单{if(sawExplain==false){sawExplain=true;StartView sv=new StartView(testMenu);sv.setVisible(true);testMenu.setVisible(false);}else{if(TestWindowBuilder.charEqualsIgnoreCase(cmd, 'w')){startMenuPointer[0]=(startMenuPointer[0]-1+allSMPCount)%allSMPCount;startNewSound("pointerMove.wav",false,1);}if(TestWindowBuilder.charEqualsIgnoreCase(cmd, 's')){startMenuPointer[0]=(startMenuPointer[0]+1)%allSMPCount;startNewSound("pointerMove.wav",false,1);}reflash();if(TestWindowBuilder.charEqualsIgnoreCase(cmd, 'j')){if(startMenuPointer[0]==0){saveSelectMenu=new saveSelect(testMenu);saveSelectMenu.setVisible(true);testMenu.setVisible(false);startNewSound("menuChange.wav",false,1);}if(startMenuPointer[0]==1){HelpMenu helpMenu=new HelpMenu(testMenu);helpMenu.setVisible(true);testMenu.setVisible(false);startNewSound("menuChange.wav",false,1);}if(startMenuPointer[0]==2){settingMenu sMenu=new settingMenu(testMenu);sMenu.setVisible(true);testMenu.setVisible(false);startNewSound("menuChange.wav",false,1);}if(startMenuPointer[0]==3){settingLanguage settingMenu=new settingLanguage(testMenu);settingMenu.setVisible(true);testMenu.setVisible(false);startNewSound("menuChange.wav",false,1);}if(startMenuPointer[0]==4){startNewSound("menuChange.wav",false,1);System.exit(0);}}}}}});}public void reflash(){lblNewLabel1.setText(textLib.textData[1]);lblNewLabel2.setText(textLib.textData[6]);lblNewLabel3.setText(textLib.textData[3]);lblNewLabel3_2.setText(textLib.textData[60]);lblNewLabel3_1.setText(textLib.textData[49]);lblNewLabel4.setText(textLib.textData[4]);lblNewLabel5.setText(textLib.textData[5]);if(startMenuPointer[0]==0){lblNewLabel2.setText(textLib.textData[6]+" <--");}if(startMenuPointer[0]==1){lblNewLabel3.setText(textLib.textData[3]+" <--");}if(startMenuPointer[0]==2){lblNewLabel3_2.setText(textLib.textData[60]+" <--");}if(startMenuPointer[0]==3){lblNewLabel3_1.setText(textLib.textData[49]+" <--");}if(startMenuPointer[0]==4){lblNewLabel4.setText(textLib.textData[4]+" <--");}}public void startNewMenuBGMusic(int prepare){if(settingLib.settings[1].equals("1")){if(menuBGMusic!=null)menuBGMusic.endMusic();menuBGMusic=new CMusic("menuMusic.wav",true,30000);menuBGMusic.start();}else if(prepare==1){if(menuBGMusic!=null)menuBGMusic.endMusic();menuBGMusic=new CMusic("menuMusic.wav",true,30000);menuBGMusic.start();menuBGMusic.pauseMusic();}}public void startNewSound(String soundName,boolean isReplay,int replayDelay)//开启新音效{if(settingLib.settings[2].equals("1"))new CMusicLink(CMLLast,soundName,isReplay,replayDelay);}public static boolean charEqualsIgnoreCase(char a,char b){if(((int)a)>=65&&((int)a)<=90)//大写{if(a==b)return true;if(a+32==b)return true;}if(((int)a)>=97&&((int)a)<=122)//小写{if(a==b)return true;if(a-32==b)return true;}return false;}}

    键盘监听

    public class KeyLininter extends KeyAdapter{GameMenu gameMenu;public KeyLininter(GameMenu gameMenu){this.gameMenu=gameMenu;}public void keyPressed(KeyEvent e) {char cmd = e.getKeyChar();if(cmd=='w'||cmd=='W'){gameMenu.pressingW=1;}if(cmd=='s'||cmd=='S'){gameMenu.pressingS=1;}if(cmd=='a'||cmd=='A'){gameMenu.pressingA=1;}if(cmd=='d'||cmd=='D'){gameMenu.pressingD=1;}if(cmd=='j'||cmd=='J'){gameMenu.pressingJ=1;}if(cmd=='k'||cmd=='K'){gameMenu.pressingK=1;}}public void keyReleased(KeyEvent e){char cmd = e.getKeyChar();if(cmd=='w'||cmd=='W'){gameMenu.pressingW=0;}if(cmd=='s'||cmd=='S'){gameMenu.pressingS=0;}if(cmd=='a'||cmd=='A'){gameMenu.pressingA=0;}if(cmd=='d'||cmd=='D'){gameMenu.pressingD=0;}if(cmd=='j'||cmd=='J'){gameMenu.pressingJ=0;}if(cmd=='k'||cmd=='K'){gameMenu.pressingK=0;}}}

    核心算法

    @SuppressWarnings("serial")public class GameMenu extends JFrame {GameMenu thisMenu;private JPanel contentPane;TestWindowBuilder fatherMenu;boolean isCheating;CMusic battleBGM,questCompleteBGM;int pressingW;int pressingS;int pressingA;int pressingD;int pressingJ;int pressingK;int playingSave;int playingProfessionID;int g_int1;Role playingRole;double playerX;//0-734double playerY;//0-312int rotationSpeed=15;//旋转速度int movementSpeed=3;//移动速度int NORMalSpeed=3;int attackSpeed=3;//攻击速度int activeCounter;int attackCounter;int defenceCounter=0;int perfectDefenceTime=0;//完美格挡剩余时间(在敌人发动攻击前0.1秒启动的格挡能让格挡所需体力消耗减少到原来的十分之一)int defenceCooldown=0;//格挡冷却 这样阻止了玩家疯狂地启动/停止格挡int playerWidth=50;int playerHeight=50;int gamePhaseTimeCounter=0;int gamePhaseTimeCounter2=0;int endPhase=6*4;//游戏通关的阶段int gamePhase=0;//游戏开始时的阶段(正常玩家从第一关开始打,阶段应当从0开始)String humanIconContorler;JPanel viewMap;//玩家有两个Label 一个在boss上方 一个在boss下方int usingPlayerLabel=0;JLabel[] playerLabel=new JLabel[2];JLabel lblNewLabel_6;JLabel lblNewLabel_7;JLabel[] GiantBackGround=new JLabel[400];JLabel bossLabel;JLabel lblNewLabel_2;JLabel lblNewLabel_3;JLabel lblNewLabel_2B;JLabel lblNewLabel_3B;JLabel MobHead;JLabel MobName;JLabel MobHPBar;JLabel MobHPText;JLabel TitleLabelT;JLabel SubTitleLabelT;JLabel TitleLabel;JLabel SubTitleLabel;JPanel Titles;JLabel placeNameLabel;JLabel groundArrayLabel;JLabel placeChangeBlack;//换场地时的黑幕JLabel placeChangeBlack_1;//换场地时的黑幕(用于属性条)int maxProCount=5000;JLabel[] proLabel=new JLabel[maxProCount];boolean[] proIsUsed=new boolean[maxProCount];proLink proHead=new proLink();int existProCount;int maxParCount=5000;JLabel[] parLabel=new JLabel[maxParCount];boolean[] parIsUsed=new boolean[maxParCount];parLink parHead=new parLink();int existParCount;int existPro=0;int proTeamPointer=0;//队列指针 0-499int existPar=0;int parTeamPointer=0;JPanel panel;Mob boss;int allPhaseCount=1;int gameTime=0;Map map;public GameMenu(TestWindowBuilder fatherMenu,boolean isCheating,int professionID,int partID,int playingSave){this.setTitle("CARROT MAN II");this.setIconImage(new ImageIcon("resource/down4.png").getImage());for(int i=0;i<proIsUsed.length;++i)proIsUsed[i]=false;for(int i=0;i<parIsUsed.length;++i)parIsUsed[i]=false;playingProfessionID=professionID;this.playingSave=playingSave;gamePhase=(partID-1)*6;this.fatherMenu=fatherMenu;this.isCheating=isCheating;//this.isCheating=true;//测试用g_int1=0;playerX=50;playerY=200;thisMenu=this;activeCounter=0;attackCounter=0;setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(fatherMenu.getBounds());contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);//转场黑幕 第100层placeChangeBlack=new JLabel("");placeChangeBlack.setIcon(new ImageIcon("resource/black.png"));placeChangeBlack.setVisible(true);placeChangeBlack_1=new JLabel("");placeChangeBlack_1.setIcon(new ImageIcon("resource/black.png"));placeChangeBlack_1.setVisible(true);placeChangeBlack.setBounds(0, 0, 784, 362);placeChangeBlack_1.setBounds(0, 0, 784, 362);//contentPane.add(placeChangeBlack);JPanel panel_1 = new JPanel();panel_1.setBounds(0, 0, 784, 50);contentPane.add(panel_1);panel_1.setLayout(null);panel_1.add(placeChangeBlack_1);JLabel lblNewLabel = new JLabel("");//头像lblNewLabel.setBounds(0, 0, 50, 50);lblNewLabel.setIcon(new ImageIcon("resource/HPBarHead.png"));panel_1.add(lblNewLabel);lblNewLabel_2B = new JLabel("");//血量字lblNewLabel_2B.setForeground(Color.WHITE);lblNewLabel_2B.setHorizontalAlignment(SwingConstants.CENTER);lblNewLabel_2B.setBounds(50, 0, 200, 25);panel_1.add(lblNewLabel_2B);lblNewLabel_3B = new JLabel("");//体力字lblNewLabel_3B.setForeground(Color.WHITE);lblNewLabel_3B.setHorizontalAlignment(SwingConstants.CENTER);lblNewLabel_3B.setBounds(50, 25, 200, 25);panel_1.add(lblNewLabel_3B);lblNewLabel_2 = new JLabel("");//血条lblNewLabel_2.setBounds(50, 0, 200, 25);lblNewLabel_2.setIcon(new ImageIcon("resource/RedBar.png"));panel_1.add(lblNewLabel_2);lblNewLabel_3 = new JLabel("");//体力条lblNewLabel_3.setBounds(50, 25, 200, 25);lblNewLabel_3.setIcon(new ImageIcon("resource/GreenBar.png"));panel_1.add(lblNewLabel_3);JLabel lblNewLabel_1 = new JLabel("");//血条体力条背景lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER);lblNewLabel_1.setBounds(50, 0, 200, 50);lblNewLabel_1.setIcon(new ImageIcon("resource/HPBarBG.png"));panel_1.add(lblNewLabel_1);JLabel lblNewLabel_4 = new JLabel("J");lblNewLabel_4.setForeground(Color.GRAY);lblNewLabel_4.setFont(new Font("黑体", Font.BOLD, 30));lblNewLabel_4.setHorizontalAlignment(SwingConstants.CENTER);lblNewLabel_4.setBounds(250, 0, 50, 50);panel_1.add(lblNewLabel_4);JLabel lblNewLabel_5 = new JLabel("");lblNewLabel_5.setFont(new Font("宋体", Font.PLAIN, 20));lblNewLabel_5.setHorizontalAlignment(SwingConstants.CENTER);lblNewLabel_5.setBounds(250, 0, 50, 50);lblNewLabel_5.setIcon(new ImageIcon("resource/skillJ.png"));panel_1.add(lblNewLabel_5);JLabel skillKLabel = new JLabel("K");skillKLabel.setForeground(Color.GRAY);skillKLabel.setFont(new Font("黑体", Font.BOLD, 30));skillKLabel.setHorizontalAlignment(SwingConstants.CENTER);skillKLabel.setBounds(300, 0, 50, 50);panel_1.add(skillKLabel);JLabel skillKLabel2 = new JLabel("");skillKLabel2.setFont(new Font("宋体", Font.PLAIN, 20));skillKLabel2.setHorizontalAlignment(SwingConstants.CENTER);skillKLabel2.setBounds(300, 0, 50, 50);skillKLabel2.setIcon(new ImageIcon("resource/skillK.png"));panel_1.add(skillKLabel2);placeNameLabel = new JLabel("");placeNameLabel.setFont(new Font("宋体", Font.PLAIN, 30));placeNameLabel.setHorizontalAlignment(SwingConstants.CENTER);placeNameLabel.setBounds(350, 0, 200, 50);panel_1.add(placeNameLabel);JLabel placeNameLabel2 = new JLabel("");placeNameLabel2.setHorizontalAlignment(SwingConstants.CENTER);placeNameLabel2.setBounds(350, 0, 200, 50);placeNameLabel2.setIcon(new ImageIcon("resource/placeNameBackGround.png"));panel_1.add(placeNameLabel2);MobHead = new JLabel("");MobHead.setHorizontalAlignment(SwingConstants.CENTER);MobHead.setBounds(550, 0, 50, 50);MobHead.setIcon(new ImageIcon("resource/MobHead_0.png"));panel_1.add(MobHead);MobName = new JLabel("");MobName.setHorizontalAlignment(SwingConstants.CENTER);MobName.setBounds(600, 0, 184, 25);panel_1.add(MobName);MobHPText = new JLabel("");MobHPText.setForeground(Color.WHITE);MobHPText.setHorizontalAlignment(SwingConstants.CENTER);MobHPText.setBounds(600, 25, 184, 25);panel_1.add(MobHPText);MobHPBar = new JLabel("");MobHPBar.setHorizontalAlignment(SwingConstants.CENTER);MobHPBar.setBounds(600, 25, 184, 25);MobHPBar.setIcon(new ImageIcon("resource/RedBar.png"));panel_1.add(MobHPBar);JLabel MobNameBG = new JLabel("");MobNameBG.setHorizontalAlignment(SwingConstants.CENTER);MobNameBG.setBounds(600, 0, 184, 50);MobNameBG.setIcon(new ImageIcon("resource/MobNameBG.png"));panel_1.add(MobNameBG);panel = new JPanel();panel.setBounds(0, 50, 784, 362);contentPane.add(panel);viewMap=panel;panel.setLayout(null);panel.add(placeChangeBlack);lblNewLabel_7 = new JLabel("");//玩家tryingFace指示器(暂时停用)lblNewLabel_7.setBounds((int)playerX, (int)playerY, 5, 5);lblNewLabel_7.setIcon(new ImageIcon("resource/moveDeraction2.png"));lblNewLabel_7.setVisible(false);panel.add(lblNewLabel_7);//第99层//标题TitleLabelT = new JLabel("");TitleLabelT.setFont(new Font("黑体", Font.PLAIN, 45));TitleLabelT.setHorizontalAlignment(SwingConstants.CENTER);TitleLabelT.setBounds(100, 50, 584, 50);TitleLabelT.setVisible(true);panel.add(TitleLabelT);//副标题SubTitleLabelT = new JLabel("");SubTitleLabelT.setFont(new Font("黑体", Font.PLAIN, 25));SubTitleLabelT.setHorizontalAlignment(SwingConstants.CENTER);SubTitleLabelT.setBounds(100, 100, 584, 50);SubTitleLabelT.setVisible(true);panel.add(SubTitleLabelT);//预先创建粒子效果的Label,第6层for(int i=0;i<maxParCount;++i){parLabel[i]=new JLabel("");panel.add(parLabel[i]);}//boss上方的玩家,第5层playerLabel[1]=new JLabel("");playerLabel[1].setHorizontalAlignment(SwingConstants.CENTER);playerLabel[1].setBounds((int)playerX-playerWidth/2, (int)playerY-playerHeight/2, playerHeight, playerWidth);playerLabel[1].setIcon(new ImageIcon("resource/HumanRight_0.png"));playerLabel[1].setVisible(false);panel.add(playerLabel[1]);//bossLabel,第4.5层bossLabel = new JLabel("");panel.add(bossLabel);//boss下方的玩家,第4层playerLabel[0]=new JLabel("");playerLabel[0].setHorizontalAlignment(SwingConstants.CENTER);playerLabel[0].setBounds((int)playerX-playerWidth/2, (int)playerY-playerHeight/2, playerHeight, playerWidth);playerLabel[0].setIcon(new ImageIcon("resource/HumanRight_0.png"));playerLabel[0].setVisible(true);panel.add(playerLabel[0]);//玩家面向方向指示器,第3层lblNewLabel_6 = new JLabel("");lblNewLabel_6.setBounds((int)playerX, (int)playerY, 5, 5);lblNewLabel_6.setIcon(new ImageIcon("resource/moveDeraction.png"));panel.add(lblNewLabel_6);//预先创建发射物的Label,第2层for(int i=0;i<maxProCount;++i){proLabel[i]=new JLabel("");panel.add(proLabel[i]);}//创建地面箭头,第1.5层groundArrayLabel=new JLabel("");groundArrayLabel.setBounds(709,156, 50, 50);groundArrayLabel.setIcon(new ImageIcon("resource/groundArray.png"));groundArrayLabel.setVisible(false);panel.add(groundArrayLabel);//创建地面Label,第1层for(int i=0;i<400;++i){GiantBackGround[i]=new JLabel("");GiantBackGround[i].setVisible(true);panel.add(GiantBackGround[i]);}playingRole=new Role(professionID,thisMenu);KeyLininter kl=new KeyLininter(thisMenu);        this.addKeyListener(kl);map=new Map(thisMenu);map.start();}//发射物相关public int addProjectile(Projectile pro){existProCount=proHead.getLength();if(existProCount<maxProCount){proHead.insert(new proLink(pro));int tempFinder=0;for(int i=0;i<maxProCount;++i){if(proIsUsed[i]==false){proIsUsed[i]=true;tempFinder=i;break;}}return tempFinder;}return -1;}public void removeProjectile(int id){proLabel[id].setVisible(false);proIsUsed[id]=false;}public void allProjectilesFly(){proLink tempnode=proHead;while(tempNode.next!=null){tempNode=tempNode.next;tempNode.data.doFly();}}//发射物相关结束//粒子效果相关public int addParticle(particle par){existParCount=parHead.getLength();if(existParCount<maxParCount){parHead.insert(new parLink(par));int tempFinder=0;for(int i=0;i<maxParCount;++i){if(parIsUsed[i]==false){parIsUsed[i]=true;tempFinder=i;break;}}return tempFinder;}return -1;}public void removeParticle(int id){parLabel[id].setVisible(false);parIsUsed[id]=false;}public void allParticlesFly(){parLink tempNode=parHead;while(tempNode.next!=null){tempNode=tempNode.next;tempNode.data.doFly();}}public void checkPlayerLocation()//检测玩家位置 如果超出地图 则拉回地图{if(playerX<playerWidth/2)playerX=playerWidth/2;if(playerX>784-playerWidth/2)playerX=784-playerWidth/2;if(playerY<playerHeight/2)playerY=playerHeight/2;if(playerY>362-playerHeight/2)playerY=362-playerHeight/2;}@SuppressWarnings("unused")public void saveData(int part){if(Integer.parseInt(fatherMenu.saveSelectMenu.savedData[playingSave].split(" ")[1])<part){String[] temp= {fatherMenu.saveSelectMenu.savedData[playingSave].split(" ")[0],fatherMenu.saveSelectMenu.savedData[playingSave].split(" ")[1]};fatherMenu.saveSelectMenu.savedData[playingSave]=""+playingProfessionID+" "+part;fatherMenu.saveSelectMenu.saveSaves();}}@SuppressWarnings({ "deprecation" })public void modTick()//每秒执行50次{if(attackCounter==0&&defenceCounter==0)playingRole.regenerate();if(playingRole.HP>0){//刷新体力条lblNewLabel_3.setBounds(50, 25, (int) (200*playingRole.energy/playingRole.MaxEnergy), 25);lblNewLabel_3B.setText(""+(int)playingRole.energy+"/"+(int)playingRole.MaxEnergy);//刷新血条lblNewLabel_2.setBounds(50, 0, (int) (200*playingRole.HP/playingRole.MaxHP), 25);lblNewLabel_2B.setText(""+(int)playingRole.HP+"/"+(int)playingRole.MaxHP);}else if(gamePhase!=-1){boss.target=null;gamePhaseTimeCounter=0;gamePhase=-1;movementSpeed=0;TitleLabelT.setText("YOU DIED");TitleLabelT.setVisible(true);playerLabel[usingPlayerLabel].setVisible(false);lblNewLabel_6.setVisible(false);lblNewLabel_3.setBounds(50, 25, (int) (200*playingRole.energy/playingRole.MaxEnergy), 25);lblNewLabel_3B.setText(""+(int)playingRole.energy+"/"+(int)playingRole.MaxEnergy);lblNewLabel_2.setBounds(50, 0, (int) (200*playingRole.HP/playingRole.MaxHP), 25);lblNewLabel_2B.setText(""+(int)playingRole.HP+"/"+(int)playingRole.MaxHP);}++gameTime;allProjectilesFly();allParticlesFly();if(gamePhase==0){if(gamePhaseTimeCounter<50)gamePhaseTimeCounter=50;++gamePhaseTimeCounter;if(gamePhaseTimeCounter==51){System.out.println("启动控制台...");movementSpeed=0;placeChangeBlack.setBounds(0, 0, 784, 362);placeChangeBlack_1.setBounds(0, 0, 784, 362);placeChangeBlack.setVisible(true);placeChangeBlack_1.setVisible(true);TitleLabelT.setVisible(false);SubTitleLabelT.setVisible(false);groundArrayLabel.setVisible(false);for(int i=0;i<128;++i)//初始化第一关地面{String backGroundContorler="resource/ground";GiantBackGround[i].setBounds(50*(i%16),50*(int)(i/16), 50, 50);if(Math.random()<0.9)backGroundContorler=backGroundContorler+"1.png";elsebackGroundContorler=backGroundContorler+"2.png";GiantBackGround[i].setIcon(new ImageIcon(backGroundContorler));}playerX=50;playerY=200;placeNameLabel.setText(fatherMenu.textLib.textData[13]);TitleLabelT.setText(fatherMenu.textLib.textData[13]);TitleLabelT.setVisible(true);SubTitleLabelT.setText(fatherMenu.textLib.textData[37]);SubTitleLabelT.setVisible(true);}if(gamePhaseTimeCounter>=100&&gamePhaseTimeCounter<=150){placeChangeBlack.setBounds((int)((gamePhaseTimeCounter-100)*0.02*784), 0, 784, 362);placeChangeBlack_1.setBounds((int)((gamePhaseTimeCounter-100)*0.02*784), 0, 784, 362);}if(gamePhaseTimeCounter==151){startNewBattleBGM(1);placeChangeBlack.setVisible(false);placeChangeBlack_1.setVisible(false);gamePhaseTimeCounter=0;++gamePhase;}}if(gamePhase%6==1){++gamePhaseTimeCounter;if(gamePhaseTimeCounter>=200){++gamePhase;TitleLabelT.setVisible(false);SubTitleLabelT.setVisible(false);movementSpeed=NormalSpeed;}}if(gamePhase==2){gamePhaseTimeCounter=0;boss=new Mob(1,bossLabel,thisMenu);boss.reflash();bossLabel.setVisible(true);++gamePhase;}if(gamePhase==3){if(boss.HP>0)boss.reflash();else{bossLabel.setVisible(false);MobHPBar.setBounds(600, 25, 184*boss.HP/boss.MaxHP, 25);MobHPText.setText(""+boss.HP+"/"+boss.MaxHP);++gamePhase;gamePhaseTimeCounter=0;TitleLabelT.setText(fatherMenu.textLib.textData[38]);TitleLabelT.setVisible(true);SubTitleLabelT.setText(fatherMenu.textLib.textData[39]);SubTitleLabelT.setVisible(true);saveData(2);startQuestCompleteBGM();endBattleBGM();}}if(gamePhase%6==4){playingRole.percentReHP(0.005);++gamePhaseTimeCounter;if(gamePhaseTimeCounter>200){gamePhaseTimeCounter=0;++gamePhase;TitleLabelT.setText(fatherMenu.textLib.textData[40]);TitleLabelT.setVisible(true);SubTitleLabelT.setText(fatherMenu.textLib.textData[41]);SubTitleLabelT.setVisible(true);gamePhaseTimeCounter2=0;}}if(gamePhase%6==5){++gamePhaseTimeCounter;if(gamePhaseTimeCounter2==0){if(gamePhaseTimeCounter>50){groundArrayLabel.setVisible(true);if(playerX>709&&playerX<759&&playerY>156&&playerY<206)//进入箭头{gamePhaseTimeCounter=0;gamePhaseTimeCounter2=1;movementSpeed=0;placeChangeBlack.setBounds(-784,0,784,362);placeChangeBlack.setVisible(true);placeChangeBlack_1.setBounds(-784,0,784,362);placeChangeBlack_1.setVisible(true);}}}if(gamePhaseTimeCounter2==1){if(gamePhaseTimeCounter>=0&&gamePhaseTimeCounter<=50){placeChangeBlack.setBounds((int)(gamePhaseTimeCounter*0.02*784-784), 0, 784, 362);placeChangeBlack_1.setBounds((int)(gamePhaseTimeCounter*0.02*784-784), 0, 784, 362);}if(gamePhaseTimeCounter==51){++gamePhase;gamePhaseTimeCounter=0;}}}if(gamePhase==6){movementSpeed=0;if(gamePhaseTimeCounter<50)gamePhaseTimeCounter=50;++gamePhaseTimeCounter;if(gamePhaseTimeCounter==51){placeChangeBlack.setBounds(0, 0, 784, 362);placeChangeBlack.setVisible(true);placeChangeBlack_1.setBounds(0, 0, 784, 362);placeChangeBlack_1.setVisible(true);TitleLabelT.setVisible(false);SubTitleLabelT.setVisible(false);groundArrayLabel.setVisible(false);for(int i=0;i<325;++i){GiantBackGround[i].setBounds(32*(i%25),32*(int)(i/25), 32, 32);GiantBackGround[i].setIcon(new ImageIcon("resource/ground6.png"));}playerX=50;playerY=200;placeNameLabel.setText(fatherMenu.textLib.textData[14]);TitleLabelT.setText(fatherMenu.textLib.textData[14]);TitleLabelT.setVisible(true);SubTitleLabelT.setText(fatherMenu.textLib.textData[42]);SubTitleLabelT.setVisible(true);}if(gamePhaseTimeCounter>=100&&gamePhaseTimeCounter<=150){placeChangeBlack.setBounds((int)((gamePhaseTimeCounter-100)*0.02*784), 0, 784, 362);placeChangeBlack_1.setBounds((int)((gamePhaseTimeCounter-100)*0.02*784), 0, 784, 362);}if(gamePhaseTimeCounter==151){startNewBattleBGM(2);placeChangeBlack.setVisible(false);placeChangeBlack_1.setVisible(false);gamePhaseTimeCounter=0;++gamePhase;}}if(gamePhase==8){gamePhaseTimeCounter=0;boss=new Mob(2,bossLabel,thisMenu);bossLabel.setBounds(375, 175, 100, 100);boss.reflash();bossLabel.setVisible(true);++gamePhase;}if(gamePhase==9){if(boss.HP>0)boss.reflash();else{bossLabel.setVisible(false);MobHPBar.setBounds(600, 25, 184*boss.HP/boss.MaxHP, 25);MobHPText.setText(""+boss.HP+"/"+boss.MaxHP);++gamePhase;gamePhaseTimeCounter=0;TitleLabelT.setText(fatherMenu.textLib.textData[43]);TitleLabelT.setVisible(true);SubTitleLabelT.setText(fatherMenu.textLib.textData[39]);SubTitleLabelT.setVisible(true);saveData(3);startQuestCompleteBGM();endBattleBGM();}}if(gamePhase==12){movementSpeed=0;if(gamePhaseTimeCounter<50)gamePhaseTimeCounter=50;++gamePhaseTimeCounter;if(gamePhaseTimeCounter==51){placeChangeBlack.setBounds(0, 0, 784, 362);placeChangeBlack.setVisible(true);placeChangeBlack_1.setBounds(0, 0, 784, 362);placeChangeBlack_1.setVisible(true);TitleLabelT.setVisible(false);SubTitleLabelT.setVisible(false);groundArrayLabel.setVisible(false);for(int i=0;i<325;++i){GiantBackGround[i].setBounds(32*(i%25),32*(int)(i/25), 32, 32);GiantBackGround[i].setIcon(new ImageIcon("resource/ground7.png"));}playerX=50;playerY=200;placeNameLabel.setText(fatherMenu.textLib.textData[15]);TitleLabelT.setText(fatherMenu.textLib.textData[15]);TitleLabelT.setVisible(true);SubTitleLabelT.setText(fatherMenu.textLib.textData[44]);SubTitleLabelT.setVisible(true);}if(gamePhaseTimeCounter>=100&&gamePhaseTimeCounter<=150){placeChangeBlack.setBounds((int)((gamePhaseTimeCounter-100)*0.02*784), 0, 784, 362);placeChangeBlack_1.setBounds((int)((gamePhaseTimeCounter-100)*0.02*784), 0, 784, 362);}if(gamePhaseTimeCounter==151){startNewBattleBGM(3);placeChangeBlack.setVisible(false);placeChangeBlack_1.setVisible(false);gamePhaseTimeCounter=0;++gamePhase;}}if(gamePhase==14){gamePhaseTimeCounter=0;boss=new Mob(3,bossLabel,thisMenu);bossLabel.setBounds(375, 175, 100, 100);boss.reflash();bossLabel.setVisible(true);++gamePhase;}if(gamePhase==15){if(boss.HP>0)boss.reflash();else{bossLabel.setVisible(false);MobHPBar.setBounds(600, 25, 184*boss.HP/boss.MaxHP, 25);MobHPText.setText(""+boss.HP+"/"+boss.MaxHP);++gamePhase;gamePhaseTimeCounter=0;TitleLabelT.setText(fatherMenu.textLib.textData[45]);TitleLabelT.setVisible(true);SubTitleLabelT.setText(fatherMenu.textLib.textData[39]);SubTitleLabelT.setVisible(true);saveData(4);startQuestCompleteBGM();endBattleBGM();}}if(gamePhase==18){movementSpeed=0;if(gamePhaseTimeCounter<50)gamePhaseTimeCounter=50;++gamePhaseTimeCounter;if(gamePhaseTimeCounter==51){placeChangeBlack.setBounds(0, 0, 784, 362);placeChangeBlack.setVisible(true);placeChangeBlack_1.setBounds(0, 0, 784, 362);placeChangeBlack_1.setVisible(true);TitleLabelT.setVisible(false);SubTitleLabelT.setVisible(false);groundArrayLabel.setVisible(false);//需要修改开始for(int i=0;i<325;++i){GiantBackGround[i].setBounds(32*(i%25),32*(int)(i/25), 32, 32);GiantBackGround[i].setIcon(new ImageIcon("resource/ground8.png"));}//需要修改结束playerX=50;playerY=200;//需要修改开始placeNameLabel.setText(fatherMenu.textLib.textData[70]);TitleLabelT.setText(fatherMenu.textLib.textData[70]);TitleLabelT.setForeground(Color.LIGHT_GRAY);TitleLabelT.setVisible(true);SubTitleLabelT.setText(fatherMenu.textLib.textData[71]);SubTitleLabelT.setForeground(Color.LIGHT_GRAY);//需要修改结束SubTitleLabelT.setVisible(true);}if(gamePhaseTimeCounter>=100&&gamePhaseTimeCounter<=150){placeChangeBlack.setBounds((int)((gamePhaseTimeCounter-100)*0.02*784), 0, 784, 362);placeChangeBlack_1.setBounds((int)((gamePhaseTimeCounter-100)*0.02*784), 0, 784, 362);}if(gamePhaseTimeCounter==151){startNewBattleBGM(4);//需要修改placeChangeBlack.setVisible(false);placeChangeBlack_1.setVisible(false);gamePhaseTimeCounter=0;++gamePhase;}}if(gamePhase==20){gamePhaseTimeCounter=0;boss=new Mob(4,bossLabel,thisMenu);//需要修改bossLabel.setBounds(375, 175, 100, 100);//需要修改boss.reflash();bossLabel.setVisible(true);++gamePhase;}if(gamePhase==21){if(boss.HP>0)boss.reflash();else{bossLabel.setVisible(false);MobHPBar.setBounds(600, 25, 184*boss.HP/boss.MaxHP, 25);MobHPText.setText(""+boss.HP+"/"+boss.MaxHP);++gamePhase;gamePhaseTimeCounter=0;//需要修改开始TitleLabelT.setText(fatherMenu.textLib.textData[72]);TitleLabelT.setForeground(Color.LIGHT_GRAY);TitleLabelT.setVisible(true);SubTitleLabelT.setText(fatherMenu.textLib.textData[39]);TitleLabelT.setForeground(Color.LIGHT_GRAY);SubTitleLabelT.setVisible(true);//saveData(4);//需要修改完成startQuestCompleteBGM();endBattleBGM();}}if(gamePhase==endPhase){endBattleBGM();winMenu WM=new winMenu(thisMenu);WM.setVisible(true);thisMenu.setVisible(false);map.stop();}if(gamePhase==-1){if(boss.HP>0)boss.reflash();++gamePhaseTimeCounter;if(gamePhaseTimeCounter>250){endBattleBGM();loseMenu LM=new loseMenu(thisMenu);LM.setVisible(true);thisMenu.setVisible(false);map.stop();}}//刷新bossBarif(boss!=null&&gamePhase%6==3){MobHead.setIcon(new ImageIcon("resource/MobHead_"+boss.MobId+".png"));MobName.setText(""+boss.Name);MobHPBar.setBounds(600, 25, 184*boss.HP/boss.MaxHP, 25);MobHPText.setText(""+boss.HP+"/"+boss.MaxHP);}//玩家试图面向方向if(attackCounter==0&&defenceCounter==0){if(pressingD==1&&pressingW==0&&pressingS==0){playingRole.tryingFace=0;}else if(pressingD==1&&pressingW==1){playingRole.tryingFace=45;}else if(pressingW==1&&pressingA==0&&pressingD==0){playingRole.tryingFace=90;}else if(pressingW==1&&pressingA==1){playingRole.tryingFace=135;}else if(pressingA==1&&pressingW==0&&pressingS==0){playingRole.tryingFace=180;}else if(pressingA==1&&pressingS==1){playingRole.tryingFace=225;}else if(pressingS==1&&pressingA==0&&pressingD==0){playingRole.tryingFace=270;}else if(pressingS==1&&pressingD==1){playingRole.tryingFace=315;}}playingRole.setFace();humanIconContorler="resource/human_"+playingRole.face;if(attackCounter==0&&defenceCounter==0&&(pressingW==1||pressingS==1||pressingA==1||pressingD==1))//进行转向{double d_angle=(playingRole.facingAngle-playingRole.tryingFace+360)%360;//0-180为顺时针if(d_angle<=rotationSpeed||d_angle>=360-rotationSpeed)//旋转功能{playingRole.facingAngle=playingRole.tryingFace;}else{if(d_angle>0&&d_angle<=180){playingRole.facingAngle-=rotationSpeed;}else{playingRole.facingAngle+=rotationSpeed;}}}if(attackCounter==0&&defenceCounter==0&&(pressingW==1||pressingS==1||pressingA==1||pressingD==1))//进行移动{++activeCounter;playerX+=(int)(movementSpeed*Math.cos(playingRole.facingAngle*Math.PI/180));playerY-=(int)(movementSpeed*Math.sin(playingRole.facingAngle*Math.PI/180));checkPlayerLocation();if(activeCounter>=10)//10Tick一次 切换移动图片{activeCounter=0;playingRole.lastMoveActive=(playingRole.lastMoveActive+1)%4;}if(playingRole.lastMoveActive==2)humanIconContorler=humanIconContorler+'_'+0;else if(playingRole.lastMoveActive==3)humanIconContorler=humanIconContorler+'_'+2;elsehumanIconContorler=humanIconContorler+'_'+playingRole.lastMoveActive;}if(pressingJ==1&&attackCounter==0&&defenceCounter==0&&playingRole.HP>0)//发动攻击{attackCounter=1;}if(attackCounter>0&&attackCounter<=8*attackSpeed)//正在攻击{++attackCounter;if(attackCounter>0&&attackCounter<=attackSpeed){humanIconContorler=humanIconContorler+'_'+3;}else if(attackCounter<=2*attackSpeed){humanIconContorler=humanIconContorler+'_'+4;}else if(attackCounter<=3*attackSpeed){humanIconContorler=humanIconContorler+'_'+5;}else if(attackCounter<=4*attackSpeed){humanIconContorler=humanIconContorler+'_'+6;}else if(attackCounter<=5*attackSpeed){humanIconContorler=humanIconContorler+'_'+7;}else if(attackCounter<=6*attackSpeed){humanIconContorler=humanIconContorler+'_'+8;}else if(attackCounter<=7*attackSpeed){humanIconContorler=humanIconContorler+'_'+9;}}if(attackCounter==3*attackSpeed)//完成攻击{playingRole.costEnergy(10);fatherMenu.startNewSound("sweep"+Calculator.randomInt(1,3)+".wav",false,1);playingRole.doAttack();}if(attackCounter>8*attackSpeed)//结束硬直{attackCounter=0;}if(defenceCooldown>0){--defenceCooldown;}if(perfectDefenceTime>0){--perfectDefenceTime;}if(pressingK==1&&attackCounter==0&&defenceCounter==0&&defenceCooldown==0)//发动防御{perfectDefenceTime=5;defenceCounter=1;playingRole.defenceStance=true;playingRole.isBlocked=false;}if(defenceCounter==1){if(pressingK==0)//解除格挡{defenceCounter=0;playingRole.defenceStance=false;if(playingRole.isBlocked==true)defenceCooldown=0;elsedefenceCooldown=30;}else{humanIconContorler=humanIconContorler+'_'+10;}}humanIconContorler=humanIconContorler+".png";if(boss!=null&&playingRole.HP>0){if(playerY>=boss.bossY&&usingPlayerLabel==0)//玩家应当盖住boss,但是却没盖住{usingPlayerLabel=1;playerLabel[0].setBounds((int)playerX-playerWidth/2, (int)playerY-playerHeight/2, playerWidth, playerHeight);playerLabel[1].setBounds((int)playerX-playerWidth/2, (int)playerY-playerHeight/2, playerWidth, playerHeight);playerLabel[0].setVisible(false);playerLabel[1].setVisible(true);}if(playerY<boss.bossY&&usingPlayerLabel==1)//boss应当盖住玩家,但是却没盖住{usingPlayerLabel=0;playerLabel[0].setBounds((int)playerX-playerWidth/2, (int)playerY-playerHeight/2, playerWidth, playerHeight);playerLabel[1].setBounds((int)playerX-playerWidth/2, (int)playerY-playerHeight/2, playerWidth, playerHeight);playerLabel[0].setVisible(true);playerLabel[1].setVisible(false);}}playerLabel[usingPlayerLabel].setIcon(new ImageIcon(humanIconContorler));playerLabel[usingPlayerLabel].setBounds((int)playerX-playerWidth/2, (int)playerY-playerHeight/2, playerWidth, playerHeight);lblNewLabel_6.setBounds((int)playerX+(int)(25*Math.cos(playingRole.facingAngle*Math.PI/180))-2, (int)playerY-(int)(25*Math.sin(playingRole.facingAngle*Math.PI/180))-2, 4,4);lblNewLabel_7.setBounds((int)playerX+(int)(25*Math.cos(playingRole.tryingFace*Math.PI/180))-2, (int)playerY-(int)(25*Math.sin(playingRole.tryingFace*Math.PI/180))-2, 4,4);}public void startNewBattleBGM(int bossID){if(fatherMenu.settingLib.settings[1].equals("1")){if(battleBGM!=null)battleBGM.endMusic();battleBGM=new CMusic("boss"+bossID+".wav",true,1);battleBGM.start();}}public void endBattleBGM(){if(battleBGM!=null)battleBGM.endMusic();}public void startQuestCompleteBGM(){if(questCompleteBGM!=null)questCompleteBGM.endMusic();questCompleteBGM=new CMusic("QuestComplete.wav",false,1);questCompleteBGM.start();}}

    感谢你能够认真阅读完这篇文章,希望小编分享的“Java如何实现萝卜勇者游戏”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

    --结束END--

    本文标题: Java如何实现萝卜勇者游戏

    本文链接: https://lsjlt.com/news/322070.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • Java如何实现萝卜勇者游戏
      这篇文章主要介绍了Java如何实现萝卜勇者游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。主要设计 用Swing库做可视化界面键盘监听,用WSAD可以控制光标移动,J是确定...
      99+
      2023-06-29
    • Java实现萝卜勇者游戏的示例代码
      目录前言主要设计功能截图代码实现启动类键盘监听核心算法总结前言 《萝卜勇者》是由国内玩家自制的一款独立游戏,玩家扮演萝卜勇士闯关,打败各种邪恶的敌人,获得最后的胜利。 《萝卜勇者》游...
      99+
      2024-04-02
    • Python Pygame如何实现水果忍者游戏
      这篇文章给大家分享的是有关Python Pygame如何实现水果忍者游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、准备中1.0 游戏规则Python版本的水果忍者小编初始化设置是玩家3条生命值,...
      99+
      2023-06-29
    • Python如何实现高配版王者小游戏
      这篇“Python如何实现高配版王者小游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python如何实现高配版王者小游戏...
      99+
      2023-07-05
    • Java如何实现潜艇小游戏
      本篇内容介绍了“Java如何实现潜艇小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先是主方法里定义的窗口(这些都是固定的格式,不会的...
      99+
      2023-06-29
    • Java如何实现Android拼图游戏
      这篇文章主要介绍“Java如何实现Android拼图游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java如何实现Android拼图游戏”文章能帮助大家解决问题。1.项目介绍这是一款基于 Jav...
      99+
      2023-06-29
    • java如何实现2048游戏功能
      小编这次要给大家分享的是java如何实现2048游戏功能,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。功能要求:2048的基本界面,能够实现2048的游戏功能。总思路:两个类:Game和GameLis...
      99+
      2023-05-31
      java ava
    • java如何实现打砖块游戏
      这篇文章主要介绍了java如何实现打砖块游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java如何实现打砖块游戏文章都会有所收获,下面我们一起来看看吧。一个打砖块游戏算法,供大家参考,具体内容如下这里有一个...
      99+
      2023-06-30
    • Java如何实现五子棋游戏
      本篇内容介绍了“Java如何实现五子棋游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!简介相比之前,做出了以下修改:新增菜单栏,将重新开始...
      99+
      2023-06-30
    • Java如何实现飞机小游戏
      这篇文章主要讲解了“Java如何实现飞机小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java如何实现飞机小游戏”吧!1,Constant;专门放常量package com....
      99+
      2023-07-01
    • JAVA如何实现CrazyArcade泡泡堂游戏
      这篇文章将为大家详细讲解有关JAVA如何实现CrazyArcade泡泡堂游戏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复...
      99+
      2023-06-14
    • java如何实现猜拳游戏试题
      这篇文章将为大家详细讲解有关java如何实现猜拳游戏试题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。试题描述通过控制台方式实现一个人机对战的猜拳游戏,用户通过输入(1.剪刀 2.石头 3.布),机器随机...
      99+
      2023-06-14
    • Java中如何实现斗地主游戏
      这篇文章给大家分享的是有关Java中如何实现斗地主游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。题目要求:通过自制54张扑克牌,发给3人,留下3张底牌,分别显示不同人的手牌与底牌达到斗地主的游戏需求算法思想:...
      99+
      2023-06-20
    • Java如何实现接月饼小游戏
      这篇文章给大家分享的是有关Java如何实现接月饼小游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。主要设计设计游戏界面,用swing实现设计背景设计得分物体-月饼,碰到加一分设计障碍物-月亮,碰到会死亡监听鼠标...
      99+
      2023-06-29
    • Java如何实现动物换位游戏
      本篇内容介绍了“Java如何实现动物换位游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果展示一、效果展示1.游戏界面开始成功2.测试界...
      99+
      2023-07-02
    • java如何实现扫雷游戏程序
      本篇内容介绍了“java如何实现扫雷游戏程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!分析:首先布一个10*10的雷阵,即二维数组map...
      99+
      2023-07-01
    • Java初学者之五子棋游戏实现教程
      本文为大家分享了Java实现五子棋游戏的具体代码,供大家参考,具体内容如下 1.图形化界面的创建 1.1创建JFrame窗体容器 1)JFrame窗体需要设置基本的大小、布局、默认的...
      99+
      2024-04-02
    • 如何使用Java实现经典游戏2048
      这篇文章主要介绍如何使用Java实现经典游戏2048,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!主要设计游戏面板生成显示方块设计键盘监听,方向键控制数字移动数字移动逻辑算法处理数字累加到2048,游戏胜利功能截图游...
      99+
      2023-06-29
    • Java如何实现年兽大作战游戏
      这期内容当中小编将会给大家带来有关Java如何实现年兽大作战游戏,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言春节要到了,看惯了前端各种小游戏,确实做得很好,很精致。但是我也要为后端程序员稍微做一点贡...
      99+
      2023-06-26
    • 如何使用Java实现扫雷小游戏
      这篇文章主要介绍“如何使用Java实现扫雷小游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用Java实现扫雷小游戏”文章能帮助大家解决问题。效果展示主类:GameWin类package&n...
      99+
      2023-06-30
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作