⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jcgamewindow.java

📁 非常好的java collapse游戏代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    		    		public void levelChanged( int newLevel ) {    			m_LabelLevelCount.setText( Integer.toString( newLevel ) );    		}    		    		public void highScoreChanged( int highLevel ) {    			m_LabelHighScorePoints.setText( Integer.toString( highLevel ) );    		}    		    		public void highLevelChanged( int highLevel ) {    			m_LabelHighLevelCount.setText( Integer.toString( highLevel ) );    		}    	});    	//JCComponent    	//----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_JCComponent = new JCComponent();        m_JCComponent.setMinimumSize( new Dimension( 160, 192 ) );        m_JCComponent.setPreferredSize( new Dimension( 300, 360 ) );        //JCComponent Listener        m_JCComponent.addJCollapseComponentListener( new JCComponentListener() {        	public void gamePaused( boolean paused ) {        		if( paused ) {        			m_JCComponent.drawEffect( m_PauseEffect );        			m_SoundControl.doEvent( "music01", SoundEvent.PAUSE );        		}        		else {        			m_JCComponent.terminateEffect();        			m_SoundControl.doEvent( "music01", SoundEvent.RESUME );        		}        	}        	        	public void gameStarted() {        		m_ButtonPause.setEnabled( true );        		m_LevelStartedEffect.setText( "Level " + m_GameControl.getLevel() );        		m_JCComponent.drawEffect( m_LevelStartedEffect );        	}        	        	public void levelLoaded( Level level ) {	        	m_LabelLevelName.setText( level.getName() );	        	m_TextAreaNotes.setText( level.getNotes() );        	}        	        	public void levelEnd( Level level ) {    			//play congratulations    			m_SoundControl.doEvent( "congratulations", SoundEvent.PLAY );    			    			//next level    			m_GameControl.addLevel();    			    			//if game find last level, go to the first    			if( m_LevelList.size() == m_GameControl.getLevel() )    				m_GameControl.setLevel( 0 );    			    			//load next level    			m_JCComponent.loadLevel( m_LevelList.getLevel( m_GameControl.getLevel() ) );    			m_JCComponent.start();        	}        	        	public void gameStoped() {         		m_ButtonPause.setEnabled( false );        	}        	public void blockRolled( int remainder, boolean isBaseBoardFull ) {        		//play roll sound        		if( isBaseBoardFull )        			m_SoundControl.doEvent( "roll", SoundEvent.PLAY );        		//play siren when 2 or less rows remains        		if( m_JCComponent.getJCollapseModel().getGameBoard().hasBlockOnRow( m_JCComponent.getJCollapseModel().getGameBoard().getBoardHeight() - 2 ) &&        			m_JCComponent.getJCollapseModel().getGameBoard().getBaseBoard().isNullBlock( 1 ) )        		{        			m_SoundControl.doEvent( "siren", SoundEvent.PLAY );        		}        		        		//lines remains        		m_LabelLinesRemains.setText(        				Integer.toString(        						( remainder / m_JCComponent.getJCollapseModel().getGameBoard().getBoardWidth() ) ) );        	}        } );        //CollapseModel Listener        m_JCComponent.getJCollapseModel().addJCollapseListener( new JCListener() {        	public void blockRolled( int remainder, boolean isBaseBoardFull ) {}        	        	public void gameOver() {        		m_SoundControl.doEvent( "music01", SoundEvent.STOP );        		m_SoundControl.doEvent( "gameover", SoundEvent.PLAY );        		m_JCComponent.drawEffect( m_GameOverEffect );        	}        	public void boardTouched( int removedBlocks, int blocksInStack, Block block ) {        		if( removedBlocks > 0 )        			if( block instanceof SimpleBlock ) {        				m_SoundControl.doEvent( "destroyed", SoundEvent.PLAY );        				m_GameControl.addScore( (int) Math.pow( removedBlocks, 2 ) + 1 );        			} else if( block instanceof BombBlock ) {        				m_SoundControl.doEvent( "bomb", SoundEvent.PLAY );        				m_GameControl.addScore( removedBlocks * 2 + 1 );        			}        	}        });            	//SoundControl    	//----------------------------------------------------------------------------------------------------------------------------------------------------------------------    	m_SoundControl = new SoundControl();    	m_SoundControl.addSoundControlListener( new SoundControlListener() {    		public void soundStateChanged( int newState ) {    			if( ( newState | SoundControlListener.ENABLED +    					         SoundControlListener.ALLREADY ) == SoundControlListener.ENABLED +    					       										SoundControlListener.ALLREADY ) {    				if( m_SoundControl.isEnabled() && !m_JCComponent.isPaused() && m_JCComponent.isRunning() )    					m_SoundControl.doEvent( "music01", SoundEvent.PLAY );    				else if( m_SoundControl.isEnabled() && !m_JCComponent.isRunning() )    					m_SoundControl.doEvent( "intro", SoundEvent.PLAY );    			}    		}    	});    	m_SoundControl.add( "bomb", new Wave( DLHelper.getInstance().getURL( "/sourceforge/net/projects/jcollapse/game/resources/sounds/bomb.wav" ), false ) );    	m_SoundControl.add( "roll", new Wave( DLHelper.getInstance().getURL( "/sourceforge/net/projects/jcollapse/game/resources/sounds/roll.wav" ), false ) );    	m_SoundControl.add( "siren", new Wave( DLHelper.getInstance().getURL( "/sourceforge/net/projects/jcollapse/game/resources/sounds/siren.wav" ), false ) );    	m_SoundControl.add( "destroyed", new Wave( DLHelper.getInstance().getURL( "/sourceforge/net/projects/jcollapse/game/resources/sounds/destroyed.wav" ), false ) );    	m_SoundControl.add( "congratulations", new Wave( DLHelper.getInstance().getURL( "/sourceforge/net/projects/jcollapse/game/resources/sounds/congratulations.wav" ), false ) );    	m_SoundControl.add( "gameover", new Midi( DLHelper.getInstance().getURL( "/sourceforge/net/projects/jcollapse/game/resources/sounds/gameover.mid" ), false ) );    	m_SoundControl.add( "music01", new Midi( DLHelper.getInstance().getURL( "/sourceforge/net/projects/jcollapse/game/resources/sounds/music01.mid" ), true ) );    	m_SoundControl.add( "intro", new Midi( DLHelper.getInstance().getURL( "/sourceforge/net/projects/jcollapse/game/resources/sounds/intro.mid" ), true ) );    	//check for command line parameter. If sound is not disabled,    	//initialize the sound engine    	if( checkForCommandLineParameter( CMDLINE_SOUND_DISABLED ) == null ) {	    	if( m_SoundControl.initialize() ) {	    		m_SoundControl.setEnabled( true );	    		System.out.println( "Sound system is initialized!" );	    	}	    	else {	    		System.out.println( "Error initializing sound system!" );	    		JOptionPane.showMessageDialog( null, "Error initializing sound engine!", "Error", JOptionPane.ERROR_MESSAGE );	    	}    	}                //LabelGameStatus        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelGameStatus = new JLabel( "Game Status" );        m_LabelGameStatus.setForeground( Color.WHITE );        m_LabelGameStatus.setHorizontalAlignment( JLabel.CENTER );        m_LabelGameStatus.setVerticalAlignment( JLabel.TOP );        m_LabelGameStatus.setFont( m_BoldFont );                //LabelLevelName        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelLevelName = new JLabel( APPLICATION_NAME );        m_LabelLevelName.setHorizontalAlignment( JLabel.CENTER );        m_LabelLevelName.setVerticalAlignment( JLabel.TOP );        m_LabelLevelName.setFont( m_BoldFont );                //SeparatorGameStatus        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_SeparatorGameStatus = new JSeparator();                //LabelScore        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelScore = new JLabel( "Score" );        m_LabelScore.setHorizontalAlignment( JLabel.LEFT );        m_LabelScore.setVerticalAlignment( JLabel.TOP );        m_LabelScore.setFont( m_NormalFont );                //LabelScorePoints        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelScorePoints = new JLabel( "0" );        m_LabelScorePoints.setHorizontalAlignment( JLabel.RIGHT );        m_LabelScorePoints.setVerticalAlignment( JLabel.TOP );        m_LabelScorePoints.setFont( m_BoldFont );                //LabelLevel        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelLevel = new JLabel( "Level" );        m_LabelLevel.setHorizontalAlignment( JLabel.LEFT );        m_LabelLevel.setVerticalAlignment( JLabel.TOP );        m_LabelLevel.setFont( m_NormalFont );                //LabelLevelCount        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelLevelCount = new JLabel( "0" );        m_LabelLevelCount.setHorizontalAlignment( JLabel.RIGHT );        m_LabelLevelCount.setVerticalAlignment( JLabel.TOP );        m_LabelLevelCount.setFont( m_BoldFont );                //LabelLines        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelLines = new JLabel( "Lines" );        m_LabelLines.setHorizontalAlignment( JLabel.LEFT );        m_LabelLines.setVerticalAlignment( JLabel.TOP );        m_LabelLines.setFont( m_NormalFont );                //LabelLinesRemains        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelLinesRemains = new JLabel( "0" );        m_LabelLinesRemains.setHorizontalAlignment( JLabel.RIGHT );        m_LabelLinesRemains.setVerticalAlignment( JLabel.TOP );        m_LabelLinesRemains.setFont( m_BoldFont );        //LabelRecord        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelRecord = new JLabel( "Record" );        m_LabelRecord.setHorizontalAlignment( JLabel.LEFT );        m_LabelRecord.setVerticalAlignment( JLabel.TOP );        m_LabelRecord.setFont( m_BoldFont );        //SeparatorRecord        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_SeparatorRecord = new JSeparator();                //LabelHighScore        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelHighScore = new JLabel( "Score " );        m_LabelHighScore.setHorizontalAlignment( JLabel.LEFT );        m_LabelHighScore.setVerticalAlignment( JLabel.TOP );        m_LabelHighScore.setFont( m_NormalFont );        //LabelHighScorePoints        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelHighScorePoints = new JLabel( "0" );        m_LabelHighScorePoints.setHorizontalAlignment( JLabel.RIGHT );        m_LabelHighScorePoints.setVerticalAlignment( JLabel.TOP );        m_LabelHighScorePoints.setFont( m_BoldFont );                //LabelHighLevel        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelHighLevel = new JLabel( "Level" );        m_LabelHighLevel.setHorizontalAlignment( JLabel.LEFT );        m_LabelHighLevel.setVerticalAlignment( JLabel.TOP );        m_LabelHighLevel.setFont( m_NormalFont );        //LabelHighLevelCount        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_LabelHighLevelCount = new JLabel( "0" );        m_LabelHighLevelCount.setHorizontalAlignment( JLabel.RIGHT );        m_LabelHighLevelCount.setVerticalAlignment( JLabel.TOP );        m_LabelHighLevelCount.setFont( m_BoldFont );        //TextAreaDescription        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------        m_TextAreaNotes = new JEditorPane();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -