📄 milionercanvas.java
字号:
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 + -