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

📄 milionercanvas.java

📁 一个用于编写百万富翁游戏的框架
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
  			g.setColor( 1, 2, 72 );
  			g.fillRect( 0, 0, 128, 128 ); 

			// postavi font
  			g.setColor( 255, 255, 255 );
			g.setFont(Font.getFont(Font.FACE_PROPORTIONAL, 
			       Font.STYLE_PLAIN, Font.SIZE_SMALL));
  			
  			// ispis
  				
  			// pitanje
  			g.drawImage( goreImage, 0, 0, 0 );
  			g.setClip( 1, 2, 101, 46);
  			g.setColor( 255, 255, 255 );  			
  			cTPitanje =  Str2Lines( cPitanje, 98 );
			for (int i = 0; i < 5; i++) { if (cTPitanje[i] == "") { nPPrazno++; } } 
			nPOffset = nPPrazno*9/2;
			for (int i = 0; i < 5-nPPrazno; i++) { 
				g.drawString( cTPitanje[i].trim(), 51, 2+i*9+nPOffset, g.TOP|g.HCENTER);
			}

			// dugmad
			for (int i = 0; i < 4; i++) { 
	  			g.setClip( 0, 51+i*15, 128, 15);			
	  			if (lPitanjaC[i]) {
	  				g.drawImage( dugmeCImage, 0, 51+i*15, 0 );
	  				g.setColor( 0, 0, 0 ); 	  					  					  				
	  			} else if (lPitanjaZ[i]) {
	  				g.drawImage( dugmeZImage, 0, 51+i*15, 0 );	  				
	  				g.setColor( 0, 0, 0 ); 	  					  				
	  			} else {
	  				g.drawImage( dugmeImage, 0, 51+i*15, 0 );
	  				g.setColor( 255, 255, 255 ); 	  				
	  			}
				g.drawString( cOdgovori[i].trim(), 2, 54+i*15, g.LEFT|g.TOP);
				
			}

  			
  			// dugme 50-50  			
  			g.setClip( 103, 0, 23, 10);
  			if (l50) {
	  			g.drawImage( p50Image, 103, 0, 0 );
	  		} else {
	  			g.drawImage( p50xImage, 103, 0, 0 );	
	  		}

  			// dugme prijatelj
  			g.setClip( 103, 10, 23, 12);
  			if (lPrijatelj) {  			
	  			g.drawImage( prijateljImage, 103, 10, 0 );
	  		} else {
	  			g.drawImage( prijateljxImage, 103, 10, 0 );	  			
	  		}
	  		

  			// dugme publika
  			g.setClip( 103, 22, 23, 12);
  			if (lPub) {  			  			
	  			g.drawImage( pubImage, 103, 22, 0 );
	  		} else {
	  			g.drawImage( pubxImage, 103, 22, 0 );
	  		}
	  		
  			
  			// bodovi
  			g.setColor( 200, 128, 50 );
		  	switch (nPitanje) {
		  		case 5:
		  		case 10:		  			
		  		case 15:		  	
		  			g.setColor( 228, 233, 167 );		
		  			break;
		  	}
  			g.setClip( 100, 37, 28, 14);
			g.drawString( PARE_STRING[nPitanje], 127, 37, g.RIGHT|g.TOP);

			if (lDaNe) {
				
	  			// dugme Da-Ne
  				g.setClip( 0, 113, 128, 15);
  				g.drawImage( doleImage, 0, 113, 0 );

	  			// Da
  				g.setClip( 4, 115, 53, 10);
  				g.setColor( 255, 255, 255 );  			
				g.drawString( cDA.trim(), 31, 116, g.HCENTER|g.TOP);

	  			// Ne
  				g.setClip( 73, 115, 51, 10);
  				g.setColor( 255, 255, 255 );  			
				g.drawString( cNE.trim(), 98, 116, g.HCENTER|g.TOP);
			} else if (lOdustani) {
	  			// dugme odustani
  				g.setClip( 63, 113, 64, 15);
  				g.drawImage( doleImage, 64, 113, 0 );

	  			// Odustani
  				g.setClip( 73, 115, 51, 10);
  				g.setColor( 255, 255, 255 );  			
				g.drawString( "Odustani", 95, 116, g.HCENTER|g.TOP);
			} else {
				g.setClip( 0, 0, 128, 128);						
	  			g.setColor( 0, 0, 0 );			
				g.drawString(VERZIJA+" Milika 2004", 127, 127, g.BOTTOM|g.RIGHT);
  				g.setColor( 20, 110, 200 );
				g.drawString(VERZIJA+" Milika 2004", 126, 126, g.BOTTOM|g.RIGHT);			
			}
				
		
	}


// timer  Flicker
class TimerFlicker extends TimerTask {

  public void run() {
		lLoaded = false;
		for (int a = 0; a < 4; a++) { if (lPitanjaFlicker[a]) { lPitanjaZ[a]=!lPitanjaZ[a]; } }
		repaint();
  	  
  	  nFlickerTimer++;  	  
  	  if (lFlickerTimerPause || nFlickerTimer > 6 ) { 
  	  	lFlickerTimerPause = true;
		for (int i = 0; i < 4; i++) { lPitanjaFlicker[i] = false; }
		nStatus = nFlickerStatus;
		if (lDoCheckRez) {
			checkRez();
			lDoCheckRez = false;
		}
		
		if (nFlickerStatus == 3) { //tacan odg
			for (int i = 0; i < 4; i++) { 
				lPitanjaC[i] = false;
				lPitanjaZ[i] = false;		
//				lPitanjaFlicker[i] = false;
			 }
			lDaNe = false;
			PostaviPitanje(nPitanje);			
		}
		lLoaded = true;
  	  	cancel(); 
  	  }
  	  
  }
}



// timer  bodovi
class TimerBodovi extends TimerTask {

  public void run() {
  	  if (!lBodoviTimerPause) {
	  	  nBodoviTimer++;
  		  }
  }
}


// timer  pomoci
class TimerPomoc extends TimerTask {

  public void run() {
  	if (nStatus == 5) { //prijatelj
	switch (nPomocTimer) {
  		case 0:
			acPrijatelj[0] = "";  			
			acPrijatelj[1] = "";  			
			acPrijatelj[2] = "";  								
  			break;
  		case 1:  		
			acPrijatelj[0] = "Prij.:";  			
			acPrijatelj[1] = "";  			
			acPrijatelj[2] = "";  								
	  		break;
  		case 2:
			acPrijatelj[0] = "Prij.: Odgovor je "+Odg2Str( nIzbPit );  			
			acPrijatelj[1] = "";  			
			acPrijatelj[2] = "";  								
	  		break;
  		case 3:
			acPrijatelj[0] = "Prij.: Odgovor je "+Odg2Str( nIzbPit );
			acPrijatelj[1] = "Koliko si siguran?";  			
			acPrijatelj[2] = "";  								
	  		break;
	  	case 4:
			acPrijatelj[0] = "Prij.: Odgovor je "+Odg2Str( nIzbPit );
			acPrijatelj[1] = "Koliko si siguran?";  			
			acPrijatelj[2] = "Prij.: "+nPost+"%";  								
	  		break;
	  	case 5:
	  	case 6:
	  	case 7:
	  		cancel();
	  		break;
	  		
   	} } else if (nStatus == 0) {
	switch (nPomocTimer) {
  		case 0:
   			nLoad++;
			try { 
				goreImage = Image.createImage("/gore.png");
				doleImage = Image.createImage("/dole.png");				
				dugmeImage = Image.createImage("/dugme.png");				
  				} catch (Exception ex) {};
  			break;  				
  		case 1:
   			nLoad++;  			
			try { 
				dugmeCImage = Image.createImage("/dugmec.png");				
				dugmeZImage = Image.createImage("/dugmez.png");												
				p50Image = Image.createImage("/50.png");				
  				} catch (Exception ex) {};
  			break;  				
  		case 2:
   			nLoad++;  			
			try { 
				p50xImage = Image.createImage("/50x.png");								
				prijateljImage = Image.createImage("/prijatelj.png");				
				prijateljxImage = Image.createImage("/prijateljx.png");								
  				} catch (Exception ex) {};
  			break;
  		case 3:
   			nLoad++;  			
			try { 
//				scprijateljImage = Image.createImage("/scprijatelj.jpg");												
				pubImage = Image.createImage("/pub.png");				
				pubxImage = Image.createImage("/pubx.png");								
  				} catch (Exception ex) {};
  			break;
  		case 4:
   			nLoad++;  			
			try { 
//				scpubImage = Image.createImage("/scpub.png");																
			   	repaint();								
  				} catch (Exception ex) {};
  			break;
  		case 5:
  		case 6:
  		case 7:  			  			
			lLoaded = true;
  			cancel();
   			
   		}
   	} else { //publika
		if (nPomocTimer > 10) { cancel(); }
   	}

   	repaint();
	nPomocTimer++;  	   	  
  }
}

	void milFilRect( Graphics g, int x, int y, int width, int height ) {
		g.setClip( x, y, width+1, height+1);									
		for (int i = 0; i < 13; i++) { 
			g.setColor( 51+i*50/12, 203-i*202/12, 254-i*201/12 );
			g.fillRect( x, y+i*height/12, width, height/12+1 );
		}
		g.setColor( 190, 190, 190 );				
		g.drawRect( x, y, width, height );		
	}

	String Odg2Str( int nOdgovor ) {
		if (nOdgovor==0) { return "A"; }
		if (nOdgovor==1) { return "B"; }
		if (nOdgovor==2) { return "C"; }
		if (nOdgovor==3) { return "D"; }
		return "??";
	}




//////////********* Ucitanjave pitanja 14 10 16188 320
	String GetPitanje( int nPit ) {
		try {
//            char bT[] = new byte[1];            

			// random pozicija
			int[] nFileSize = new int[10];
			int nFileNum = 0;			
			switch (nPit) {
				case 1:
					nFileNum = 1;
					nFileSize[0] = 2013; 
					break;
				case 3:
					nFileNum = 2;
					nFileSize[0] = 6305; 
					nFileSize[1] = 8942; 					
					break;
				case 6:
					nFileNum = 3;
					nFileSize[0] = 10738; 
					nFileSize[1] =  9565; 					
					nFileSize[2] =  7935; 					
					break;
				case 11:
					nFileNum = 3;
					nFileSize[0] = 10055; 
					nFileSize[1] = 10346; 					
					nFileSize[2] =  9135; 					
					break;

			}
//			System.out.println(""+nFileSize.length+"-"+Math.abs( random.nextInt()%nFileSize.length ) );
			int nFileChoose = Math.abs( random.nextInt()%nFileNum );
			int nRand =  Math.abs(random.nextInt()%(
				(nFileSize[nFileChoose]-200))/50)*50;
			
            InputStream ist = this.getClass().getResourceAsStream("/"+nPit+"-"+(nFileChoose+1)+".pit");
			InputStreamReader is = new InputStreamReader(ist);
            StringBuffer str = new StringBuffer();
            char b[] = new char[320];
			
//			System.out.println(""+nRand);			

//			long nTT = System.currentTimeMillis();
			is.skip(nRand);

//			long nTT1 = System.currentTimeMillis();
			
			int nMax = is.read(b);
			
//			long nTT2 = System.currentTimeMillis();			
			
//			System.out.println(""+nMax);
			// trazi pocetak
			int nT = 0;
            while ( b[nT] != 10 && nT < nMax-1 ) { nT++; }

			nT++;
            // ucitaj pitanje
            while ( b[nT] != 10 && nT < nMax-1 ) {
//            	bT[0] = b[nT];
				// yu slova
				switch (b[nT]) {
					case 142: b[nT] = YU_SLOVA.charAt(0); break;
					case 158: b[nT] = YU_SLOVA.charAt(1); break;
					case 138: b[nT] = YU_SLOVA.charAt(2); break;
					case 154: b[nT] = YU_SLOVA.charAt(3); break;															
					case 198: b[nT] = YU_SLOVA.charAt(4); break;
					case 230: b[nT] = YU_SLOVA.charAt(5); break;
					case 200: b[nT] = YU_SLOVA.charAt(6); break;
					case 232: b[nT] = YU_SLOVA.charAt(7); break;					
					case 208: b[nT] = YU_SLOVA.charAt(8); break;
					case 240: b[nT] = YU_SLOVA.charAt(9); break;					
				}
                str.append(b[nT]);
				nT++;
//				System.out.println("P"+nT);
            }
            
            is.close();
	        return str.toString();            
        }
        catch (IOException e) {
            e.printStackTrace();
        }
        return "";
	}
//////////****************************

public void checkRez() {
//	System.out.println("-"+myMilioner.nameRet);								
	nTRez = GetBodovi();
		for (int i = 0; i < 5; i++) { 
			if ( MilScore.anRez[i] < nTRez ) {
				for (int a = 4; a > i; a--) { 				
					MilScore.anRez[a] = MilScore.anRez[a-1];
					MilScore.acRez[a] = MilScore.acRez[a-1];					
				}
				nRezMesto = i;
				myMilioner.nameT = "bodovi "+GetBodovi();
				myMilioner.getName();
				break;
			}
		}
}

public void saveRez() {
//	System.out.println("-"+nRezMesto);								
	if (nRezMesto != -1) {
		MilScore.acRez[nRezMesto] = myMilioner.nameRet;
		MilScore.anRez[nRezMesto] = nTRez;
		MilScore.saveHighScore();
		nRezMesto = -1;
	}
}




private void connect() {

	try {
    
      HttpConnection http = null;
      String url = "http://www.cafe.co.yu/milika/m02/rezm02.php";
//      "http://www.cafe.co.yu/milika/m02/rezm02.php";

	char[] cuCheckSum = { 'a', 'c', 't', 'y', '7', 'i', '2', '9' };
    String cData = "";
    for( int nTi=0; nTi < 5; nTi++ ) {
        cData += MilScore.acRez[nTi]+"^"+MilScore.anRez[nTi]+"^";
    }
//    String cData1 = "";    
    for( int nTi=0; nTi < cData.length(); nTi++ ) {
        cuCheckSum[nTi%8] =  (char)(
            ( (cuCheckSum[nTi%8]) ^ ( cData.charAt(nTi) ) ) ^ 34 ) ;
//        cData1 += (char)( cData.charAt(nTi) ^ ((218-(int)(nTi/4))%255) );
	}

//    String cStats = "-";

    url += "?enjj87="+URLEncode(cData)+"&i1="+URLEncode(
    		""+cuCheckSum[0]+
    		cuCheckSum[1]+
    		cuCheckSum[2]+
    		cuCheckSum[3]+
    		cuCheckSum[4]+
    		cuCheckSum[5]+    	    	    	    	    	
    		cuCheckSum[6]+
    		cuCheckSum[7]
    	)+"&i2="+URLEncode("-");

        	

        // Create the connection
        http = (HttpConnection) Connector.open(url);

        //----------------
        // Client Request
        //----------------
        // 1) Send request method
        http.setRequestMethod(HttpConnection.POST);

		http.getResponseCode();
			
		if (http != null) http.close();

        }
        catch (IOException e) {
        }

    }


String URLEncode( String psSrc){
	String cRez = "";
    for( int i=0; i < psSrc.length(); i++ ) {	
      cRez += ByteToHex((byte)(psSrc.charAt(i)));
	}
	return cRez;
}

String ByteToHex(byte b) {
	int high = ((b & 0xf0) >> 4);
	int low = (b & 0x0f);
	return ""+hexChars[high]+hexChars[low];
}


} // KRAJ ***************

⌨️ 快捷键说明

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