Ir para conteúdo
Fórum Script Brasil

diego_mota

Membros
  • Total de itens

    35
  • Registro em

  • Última visita

Tudo que diego_mota postou

  1. Já mas ele não edita arquivos .rm. Deixa quieto, já desisti de editar esses arquivos...
  2. diego_mota

    Jogos Em Java Applet

    Até que encontrei vários jogos interessantes, mas olhando o Portal Java, não encontrei o Snapple Speedway. Aliás procurando pra caramba não achei um link válido..parece que o desenvolvedor tirou do ar.
  3. Olá amigos! Minha dúvida concerne no seguinte: gravo arquivos real áudio com o Helix Producer, mas reparei que após gravá-los, não consigo amplificar o volume dos arquivos .ra, mesmo usando o Real Producer 8 (com o Real Editor). Não têm como amplificar o volume depois do arquivo estar pronto? Que programa faria isso?
  4. Ok..compilei usando o Java 1.1 e agora ele acha a classe principal (usando o java 1.2 já não encontra e não roda). Desse modo roda para qualquer navegador com o Jvm ou plug-in Java. Só que eu achava que a Jvm do Internet Explorer 6 era um pouco melhorzinha e mais atual que a do Ie 5, mas pelo visto nada mudou...não foi uma das melhores soluções que já encontrei...
  5. Olá pessoal Quando compilo um java para dentro de um arquivo .jar (usando o WinRar para guardar no .jar) e tento executar este no navegador, funciona sem problemas no Internet Explorer 6 (com o plug-in Java instalado) e no Mozilla. O problema é que no Internet Explorer 5 dá o seguinte erro: "class mj not found" (e no Ie 6 quando não há o plug-in instalado). Já chequei todos os parâmetros e está tudo ok (inclusive tentei usar os .class descompactados tb). Estranhamente quando executo o .jar sem modificações no navegador, ele funciona normalmente em qualquer navegador, mesmo sem plug-in. Será que o WinRar não modifica o arquivo "manifest" e estou manipulando erroneamente o arquivo .jar? Quando vejo o manifest dentro do arquivo .jar, parece que ele não têm nada demais, só está escrito a versão dele...Se estou errando nisso, como posso compactar de modo a não haver problemas? E como explicar quando descompactei todas as classes, mudei os parâmetros e mesmo assim não funcionou? Existe diferença entre browsers para este tipo de erro? Como posso compilar de modo a funcionar para a maioria dos browsers? Preciso fazer meu Java 1.4 compilar mesmo em Java 1.1 para fazer rodar o applet? ( )
  6. diego_mota

    Jogos Em Java Applet

    Tudo bom galera? Dei uma olhada no java.com, mas não encontrei nada especifico a applets, só a jogos de celular mesmo. Já procurei pelo Google deste modo, mas gostaria de saber de um site que fosse o "bom" mesmo e tivesse muitos applets para download ou mesmo para jogar.
  7. ehehehe..atrapalhar não atrapalha não, mas discutir problemas ajuda a clarear a mente para as soluções! Valeu! Diego
  8. Oi galera Gostaria de saber em que sites encontro jogos em Java Applet,s eja para pegar o applet ou jogar online mesmo. Mas não só daqueles mais simples..jogos mais complexos e "pesados" tb, como de corrida, ação e etc. Certa vez encontrei um jogo de kart muito bom, parecido com o Mario Kart..mas faz bastante tempo e não consegui mais encontrá-lo Diego
  9. Galera Eu consegui resolver o problema e estou publicando aqui como. Pode ser que haja soluções mais fáceis de implementar, e quem souber, por favor poste aqui. Bom, usei um campo hidden que vai na url e daí um trecho em php para cada option que se conferir com o campo passado na url, escreve "selected". Segue abaixo trechos principais das alterações: <script language="Javascript"> function mudaGata(url) { document.frm.index.value = document.frm.select.options.selectedIndex; document.frm.submit(); }; ... <form name="frm"> <p align="left"> <a href="http://www.rebenta.hpg.ig.com.br/gatas/index.htm"><img src="images/images_pages/retornar.gif" width="21" height="25" border="0">Retornar para Gatas</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Escolher gata: <select name="select" onChange="mudaGata(this.options[this.selectedIndex].value);"> <option value="images/_izoca.jpg" <? if($_GET["index"]==0) echo "selected" ?>>_izoca</option> <option value="images/anazuka.jpg" <? if($_GET["index"]==1) echo "selected" ?>>anazuka</option> <option value="images/aninhabdl.jpg" <? if($_GET["index"]==2) echo "selected" ?>>aninhabdl</option> <option value="images/brunenhaa.jpg" <? if($_GET["index"]==3) echo "selected" ?>>brunenhaa</option> <option value="images/carolinabela.jpg" <? if($_GET["index"]==4) echo "selected" ?>>carolinabela</option> <option value="images/claufreak.jpg" <? if($_GET["index"]==5) echo "selected" ?>>claufreak</option> <option value="images/dessaribas.jpg" <? if($_GET["index"]==6) echo "selected" ?>>dessaribas</option> <option value="images/ellen.jpg" <? if($_GET["index"]==7) echo "selected" ?>>ellen</option> <option value="images/grazinha.jpg" <? if($_GET["index"]==8) echo "selected" ?>>grazinha</option> <option value="images/mozuda.jpg" <? if($_GET["index"]==9) echo "selected" ?>>mozuda</option> <option value="images/nathaliah.jpg" <? if($_GET["index"]==10) echo "selected" ?>>nathaliah</option> <option value="images/tezinhaa.jpg" <? if($_GET["index"]==11) echo "selected" ?>>tezinhaa</option> <option value="images/um_s_na_estrela.jpg" <? if($_GET["index"]==12) echo "selected" ?>>um_s_na_estrela</option> <option value="images/vanihhh.jpg" <? if($_GET["index"]==13) echo "selected" ?>>vanihhh</option> </select> <input type="hidden" name="index"></p> Falou, um abraço!
  10. Crystian, só pra constar aí vai a solução que implementei pro problema do select: Usei um campo hidden que vai na url e daí um trecho em php para cada option que se conferir com o campo passado na url, escreve "selected". Segue abaixo trechos principais das alterações: <script language="Javascript"> function mudaGata(url) { document.frm.index.value = document.frm.select.options.selectedIndex; document.frm.submit(); }; ... <form name="frm"> <p align="left"> <a href="http://www.rebenta.hpg.ig.com.br/gatas/index.htm"><img src="images/images_pages/retornar.gif" width="21" height="25" border="0">Retornar para Gatas</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Escolher gata: <select name="select" onChange="mudaGata(this.options[this.selectedIndex].value);"> <option value="images/_izoca.jpg" <? if($_GET["index"]==0) echo "selected" ?>>_izoca</option> <option value="images/anazuka.jpg" <? if($_GET["index"]==1) echo "selected" ?>>anazuka</option> <option value="images/aninhabdl.jpg" <? if($_GET["index"]==2) echo "selected" ?>>aninhabdl</option> <option value="images/brunenhaa.jpg" <? if($_GET["index"]==3) echo "selected" ?>>brunenhaa</option> <option value="images/carolinabela.jpg" <? if($_GET["index"]==4) echo "selected" ?>>carolinabela</option> <option value="images/claufreak.jpg" <? if($_GET["index"]==5) echo "selected" ?>>claufreak</option> <option value="images/dessaribas.jpg" <? if($_GET["index"]==6) echo "selected" ?>>dessaribas</option> <option value="images/ellen.jpg" <? if($_GET["index"]==7) echo "selected" ?>>ellen</option> <option value="images/grazinha.jpg" <? if($_GET["index"]==8) echo "selected" ?>>grazinha</option> <option value="images/mozuda.jpg" <? if($_GET["index"]==9) echo "selected" ?>>mozuda</option> <option value="images/nathaliah.jpg" <? if($_GET["index"]==10) echo "selected" ?>>nathaliah</option> <option value="images/tezinhaa.jpg" <? if($_GET["index"]==11) echo "selected" ?>>tezinhaa</option> <option value="images/um_s_na_estrela.jpg" <? if($_GET["index"]==12) echo "selected" ?>>um_s_na_estrela</option> <option value="images/vanihhh.jpg" <? if($_GET["index"]==13) echo "selected" ?>>vanihhh</option> </select> <input type="hidden" name="index"></p> Falou, um abraço!
  11. Bom, estou tentando esse select até agora..mas isso dá pra resolver facilmente. Já está operando legal. Quando você puder ver operando, visite aquele endereço. Valeu Crystian!
  12. Oi povo Acontece o seguinte: estou tentando há algum tempo criar uma página que atualize um applet dinamicamente. Consegui tal resultado e pode ser conferido no seguinte endereço: http://dhost.info/rebenta/gatas/quebracabeca.php O código (resumido) da seguinte página segue abaixo: <html> <head> ... <script language="Javascript"> function mudaGata(url) { document.frm.submit(); }; </script> </head> <body> <div align="center"> <center> <table border="0" cellpadding="0" cellspacing="1" width="100%"> <tr> <td width="50%"> <p align="left"> <a href="http://www.rebenta.hpg.ig.com.br/gatas/index.htm"><img src="images/images_pages/retornar.gif" width="21" height="25" border="0"> Retornar para Gatas</a> <form name="frm">Escolher gata: <select name="select" onChange="mudaGata(this.options[this.selectedIndex].value);"> <option value="images/_izoca.jpg" selected>_izoca</option> <option value="images/anazuka.jpg">anazuka</option> <option value="images/aninhabdl.jpg">aninhabdl</option> <option value="images/brunenhaa.jpg">brunenhaa</option> <option value="images/carolinabela.jpg">carolinabela</option> <option value="images/claufreak.jpg">claufreak</option> <option value="images/dessaribas.jpg">dessaribas</option> <option value="images/ellen.jpg">ellen</option> <option value="images/grazinha.jpg">grazinha</option> <option value="images/mozuda.jpg">mozuda</option> <option value="images/nathaliah.jpg">nathaliah</option> <option value="images/tezinhaa.jpg">tezinhaa</option> <option value="images/um_s_na_estrela.jpg">um_s_na_estrela</option> <option value="images/vanihhh.jpg">vanihhh</option> </select></p> <?php $select = $_GET["select"]; $select = (empty($select)?$select = "images/_izoca.jpg":$select); echo "<applet code='SlidingPuzzle.class' archive='SlidingPuzzle.jar' width='610' height='590'> <param name=regcode value='99999999'> <!-- number of frames in the animation of swapping pieces --><param name=frames value='30'> <!-- animation delay between frames in milliseconds --><param name=delay value='20'> <!-- campo foto: controle pelo campo select --><param id='foto' name='photo' value='$select'> <!-- toggle to start with a scrambled mode (0 = no init scarmble) --><param name=scramblestart value='1'> <!-- winning audio filename --><param name=winfile value='SlidingPuzzle1.au'> <!-- moving audio filename --><param name=movefile value='SlidingPuzzle2.au'> <!-- panel background color: R G B --><param name=panelbg value='143 31 192'> <!-- panel foreground color: R G B --><param name=panelfg value='255 199 0'> <!-- button background color: R G B --><param name=buttonbg value='255 199 0'> <!-- button foreground color: R G B --><param name=buttonfg value='0 0 0'> <!-- '|' seperates gameover URL and target frame --> <!-- fill in 'none' for URL if you don't want any URL --> <!-- target frame options are as follows --> <!-- _self = current frame --> <!--_parent = parent frame --> <!-- _top = top-most frame --> <!-- _blank = new unnamed top-level frame --> <!-- x = new top-level frame named x --> <param name=linkto value='none|_self'> <!-- number of rows and columns to divide the puzzle --> <!-- Note. Please make sure puzzle width and height are divisible by row and col.--> <param name=row value='4'><param name=col value='5'> <!-- all text strings --><param name=TitleText value='Quebra Cabe&ccedil;a de Gatas'> <param name=NewGameText value='Misturar'> <param name=SolvePuzzleText value='Resolver'> <param name=MovesCountText value='Contador:'> <param name=BestText value='O melhor desempenho:'> <param name=FinishText value='Voc&ecirc; conseguiu montar uma gata!'> </applet><!------COPY AND PASTE THE CODE ABOVE THIS LINE----------------------------->"; ?> </form></td> <td width="50%"> .... </td> </tr> </table> </center> </div> </body> </html> Minha dúvida agora é algo que considero bem simples de se fazer em php, mas como estou dando os primeiros passos ainda, não sei como fazê-lo: como posso manter o valor do campo "select" quando o formulário dá submit (após o submit, ele volta a exibir o primeiro valor)? O formulário está escrito fora do script php (o script nesse código pega o valor do submit e escreve o applet de acordo com este).
  13. Eu acho que nesse caso, teria que criar uma estrutura condicional que testasse o valor que é passado via get. se fosse nulo (como quando a página é carregada inicialmente) então ele poderia setar a primeira foto com o caminho desta. Só não sei bem como colocar isso.
  14. ok, vou ver o que posso fazer. Já sobre o applet, sei porquê ocorre. É que no código ele atribuí à varíavel $select o valor do parâmetro passado na url. Como a página carrega sem parâmetros inicialmente, ele julga que não existe nenhum parâmetro foto carregando. Você viu o início do código php: <?php $select = $_GET["select"]; echo "<applet code='SlidingPuzzle.class' archive='SlidingPuzzle.jar' width='610' height='590'> <param name=regcode value='99999999'> <!-- number of frames in the animation of swapping pieces --><param name=frames value='30'> <!-- animation delay between frames in milliseconds --><param name=delay value='20'> <!-- campo foto: controle pelo campo select --><param id='foto' name='photo' value='$select'> ... O $select recebe valores tipo "images/foto.jpg", conforme especificamos. Minha dúvida é como associar um valor inicial para o photo assim que a página carrega pela primeira vez. Já o fato de algumas fotos não carregarem têm a ver com o servidor mesmo, que est''a enroladno para atualizá-las no ftp.
  15. Oi Crystian É, na base da porretada está indo, ehehe. O applet está processando as imagens sem travar..o que ocorre é que a primeira imagem ele não processa (quando a página é carregada na primeira vez). E têm uma ou outra foto que estranhamente não carregam. Eu to usando php só para pegar o valor postado na url e imprimir as tags do applet. O tratamento do submit ainda é javascript e a página é impressa normalmente html (sem usar o php para escrevê-la). Como devo proceder para manter o select na página submitada então?
  16. Crystian Boas notícias! Eu consegui um grande progresso já. Dá uma olhada visitando o site: http://dhost.info/rebenta/gatas/teste3.php. O que ficou faltando agora é carregar a primeira foto na carga da página e manter o select com o valor selecionado antes do "submit" (ele retorna para o "_izoca" após o submit, ou seja, a primeira opção). De resto, o applet está funcionando. Abaixo vai o código da referida página: <html> <head> <script language="Javascript"> function mudaGata(id, value) { document.getElementById(id).value = value; document.frm.submit(); }; </script> </head> <body> <center> <table border="0" cellpadding="0" cellspacing="1" width="100%"> <tr> <td width="50%"> <p align="left"> Escolher gata: <form name="frm"> <input type="text" name="nome" onBlur="tel(this)"> <select name="select" onChange="mudaGata('foto', this.options[this.selectedIndex].value);"> <option value="images/_izoca.jpg" selected>images/_izoca.jpg</option> <option value="images/anazuca.jpg">images/anazuca.jpg</option> <option value="images/aninhabdl.jpg">images/aninhabdl.jpg</option> <option value="images/brunenhaa.jpg">images/brunenhaa.jpg</option> <option value="images/carolinabela.jpg">images/carolinabela.jpg</option> <option value="images/claufreak.jpg">images/claufreak.jpg</option> <option value="images/dessaribas.jpg">images/dessaribas.jpg</option> <option value="images/ellen.jpg">images/ellen.jpg</option> <option value="images/grazinha.jpg">images/grazinha.jpg</option> <option value="images/mozuda.jpg">images/mozuda.jpg</option> <option value="images/nathaliah.jpg">images/nathaliah.jpg</option> <option value="images/tezinhaa.jpg">images/tezinhaa.jpg</option> <option value="images/um_s_na_estrela.jpg">images/um_s_na_estrela.jpg</option> <option value="images/vanihhh.jpg">images/vanihhh.jpg</option> </select></p> <?php $select = $_GET["select"]; echo "<applet code='SlidingPuzzle.class' archive='SlidingPuzzle.jar' width='600' height='590'> <param name=regcode value='99999999'> <!-- number of frames in the animation of swapping pieces --><param name=frames value='30'> <!-- animation delay between frames in milliseconds --><param name=delay value='20'> <!-- photo file for the puzzle --><param id='foto' name='photo' value='$select'> <!-- toggle to start with a scrambled mode (0 = no init scarmble) --><param name=scramblestart value='1'> <!-- winning audio filename --><param name=winfile value='SlidingPuzzle1.au'> <!-- moving audio filename --><param name=movefile value='SlidingPuzzle2.au'> <!-- panel background color: R G B --><param name=panelbg value='143 31 192'> <!-- panel foreground color: R G B --><param name=panelfg value='255 199 0'> <!-- button background color: R G B --><param name=buttonbg value='255 199 0'> <!-- button foreground color: R G B --><param name=buttonfg value='0 0 0'> <!-- '|' seperates gameover URL and target frame --> <!-- fill in 'none' for URL if you don't want any URL --> <!-- target frame options are as follows --> <!-- _self = current frame --> <!--_parent = parent frame --> <!-- _top = top-most frame --> <!-- _blank = new unnamed top-level frame --> <!-- x = new top-level frame named x --> <param name=linkto value='none|_self'> <!-- number of rows and columns to divide the puzzle --> <!-- Note. Please make sure puzzle width and height are divisible by row and col.--> <param name=row value='4'><param name=col value='5'> <!-- all text strings --><param name=TitleText value='Quebra Cabe&ccedil;a de Gatas'> <param name=NewGameText value='Misturar'> <param name=SolvePuzzleText value='Resolver'> <param name=MovesCountText value='Contador:'> <param name=BestText value='O melhor desempenho:'> <param name=FinishText value='Voc&ecirc; conseguiu montar uma gata!'> </applet><!------COPY AND PASTE THE CODE ABOVE THIS LINE----------------------------->"; ?> </form></td> <td width="50%"> </td> </tr> </table> </center> </body> </html>
  17. Crystian E se fosse utilizado página dinâmica em php ao invés de javascript para reescrever a página/applet? Que funções eu poderia estar usando?
  18. Ok, descobri; é necessário dar um CHMOD na pasta de upload de imagens (fora que é preciso implementar o register_globals manualmente através de uma página php separada). Mas funcionou legal!
  19. É, os três estão dentro do arquivo SlindingPuzzle.jar (que deixei disponível naquela página para você fazer o download). Não consegui descobrir ainda...
  20. ok Crystian Abaixo segue o código dos outros dois arquivos java, que eu descompilei agora. Estou testando diversas funções, sem sucesso por enquanto. SlidingPuzzleButton // Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov Date: 27/09/2004 17:43:31 // Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version! // Decompiler options: packimports(3) // Source File Name: SlidingPuzzle.java import java.awt.*; class SlidingPuzzleButton extends Canvas { SlidingPuzzleButton(int i, int j, String s, String s1, int k, Color color, Color color1) { shadc = new Color(220, 220, 220); arc = 11; width = i; height = j; caption = s; fonttype = s1; fontsize = k; bg = color; bgmain = color; fg = color1; resize(i, j); status = 0; repaint(); } public void setBGmain(Color color) { bgmain = color; repaint(); } public void update(Graphics g) { paint(g); } public void paint(Graphics g) { g.setColor(bgmain); g.fillRect(0, 0, width - 1, height - 1); if(status == 1) g.setColor(Color.red); else if(status == 2) g.setColor(fg); else g.setColor(bg); g.fillRoundRect(0, 0, width - 2, height - 2, arc, arc); g.setFont(new Font(fonttype, 1, fontsize)); int i = g.getFontMetrics().stringWidth(caption); int j = g.getFontMetrics().getHeight(); int k = g.getFontMetrics().getDescent(); textx = (width - i) / 2; texty = (height + j) / 2 - k - 1; g.setColor(shadc); g.drawRoundRect(1, 1, width - 2, height - 2, arc, arc); g.drawString(caption, textx + 1, texty + 1); if(status == 2) g.setColor(bg); else g.setColor(fg); g.drawString(caption, textx, texty); g.drawRoundRect(0, 0, width - 1, height - 1, arc, arc); } public boolean mouseExit(Event event, int i, int j) { status = 0; repaint(); return true; } public boolean mouseEnter(Event event, int i, int j) { status = 1; repaint(); return true; } public boolean mouseDown(Event event, int i, int j) { status = 2; repaint(); return true; } public boolean mouseUp(Event event, int i, int j) { if(inside(i, j)) { status = 1; repaint(); if(!action(event, event.arg)) { for(java.awt.Container container = getParent(); container != null && !container.action(event, event.arg); container = container.getParent()); } } return true; } public Insets insets() { return new Insets(0, 0, 0, 0); } public Dimension getMinimizeSize() { return new Dimension(width, height); } public Dimension getPreferredSize() { return new Dimension(width, height); } int width; int height; int fontsize; Color bg; Color fg; Color bgmain; Color shadc; int arc; String caption; String fonttype; int status; int textx; int texty; } e SlidingPuzzlePhoto // Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov Date: 27/09/2004 17:44:02 // Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version! // Decompiler options: packimports(3) // Source File Name: SlidingPuzzle.java import java.applet.Applet; import java.applet.AudioClip; import java.awt.*; import java.awt.image.MemoryImageSource; import java.awt.image.PixelGrabber; class SlidingPuzzlePhoto extends Canvas { public SlidingPuzzlePhoto(Image image, int i, int j, int k, int l, Applet applet) { registered = false; showCopyright = false; shadowup = new Color(220, 220, 220); shadowdown = new Color(50, 50, 50); delay = 20; gameover = false; target = -1; targetx = 0; targety = 0; mouseover = -1; moves = 0; movex = -1; movey = -1; best = 9999; sw1 = -1; sw2 = -1; transit = 0; maxtransit = 10; oldrow = 0; oldcol = 0; soff = 5; bMoveAll = false; pic = image; app = applet; width = i; height = j; row = k; col = l; resize(i, j); data = new int[i * j]; grabPixels(); makePieces(k, l); repaint(); } public void makePieces(int i, int j) { boolean flag = false; boolean flag1 = false; boolean flag2 = false; int j1 = 0; int k1 = 0; int l1 = 0; row = i; col = j; if(i == oldrow && j == oldcol) return; int i2 = i * j; w = width / j; h = height / i; pieces = null; pieces = new Image[i2]; order = null; order = new int[i2]; ordernew = new int[i2]; int ai1[] = new int[i2]; int ai2[] = new int[i2]; shad = null; int ai[] = new int[w * h]; for(int j2 = 0; j2 < i2; j2++) { int l = (j2 % j) * w; int i1 = (j2 / j) * h; for(int k2 = 0; k2 < h; k2++) { for(int i3 = 0; i3 < w; i3++) { int k = (k2 + i1) * width + (i3 + l); j1 = (data[k] & 0xff0000) >> 16; k1 = (data[k] & 0xff00) >> 8; l1 = data[k] & 0xff; ai[k2 * w + i3] = (new Color(j1, k1, l1)).getRGB(); } } pieces[j2] = createImage(new MemoryImageSource(w, h, ai, 0, w)); for(ai1[j2] = ai2[j2] = -1; ai1[j2] < 0 || ai2[j2] < 0; ai2[j2] = pieces[j2].getHeight(this)) ai1[j2] = pieces[j2].getWidth(this); order[j2] = j2; ordernew[j2] = j2; } j1 = k1 = l1 = 50; int l2 = 0 | (j1 & 0xff) << 16 | (k1 & 0xff) << 8 | l1 & 0xff; int j3 = 0xff000000 | (j1 & 0xff) << 16 | (k1 & 0xff) << 8 | l1 & 0xff; for(int k3 = 0; k3 < h; k3++) { for(int l3 = 0; l3 < w; l3++) if(l3 % 2 == 1 || k3 % 2 == 1) ai[k3 * w + l3] = j3; else ai[k3 * w + l3] = l2; } shad = createImage(new MemoryImageSource(w, h, ai, 0, w)); for(ai1[0] = ai2[0] = -1; ai1[0] < 0 || ai2[0] < 0; ai2[0] = shad.getHeight(this)) ai1[0] = shad.getWidth(this); oldrow = i; oldcol = j; } public void resetPositions() { boolean flag = false; int i = row * col; Graphics g = getGraphics(); bMoveAll = true; sw1 = sw2 = -1; for(int j = 0; j < i; j++) ordernew[j] = order[j]; soff = 5; for(int k = 1; k <= maxtransit; k++) { transit = k; paint(g); try { Thread.sleep(delay); } catch(Exception exception) { } } for(int l = 0; l < i; l++) order[l] = l; transit = 0; bMoveAll = false; } public void rescramble() { boolean flag = false; boolean flag1 = false; boolean flag2 = false; int l = row * col; Graphics g = getGraphics(); bMoveAll = true; sw1 = sw2 = -1; int ai[] = new int[l]; for(int i1 = 0; i1 < l; i1++) ai[i1] = order[i1]; for(int j1 = 0; j1 < l; j1++) { int i = j1; int j = (int)(Math.round(Math.random() * 10D * (double)l * (double)l) % (long)l); if(i == j) j = (i + 1) % l; int k = ai[i]; ai[i] = ai[j]; ai[j] = k; } for(int k1 = 0; k1 < l; k1++) { for(int l1 = 0; l1 < l; l1++) { if(ai[l1] != order[k1]) continue; ordernew[k1] = l1; break; } } soff = 5; for(int i2 = 1; i2 <= maxtransit; i2++) { transit = i2; paint(g); try { Thread.sleep(delay); } catch(Exception exception) { } } for(int j2 = 0; j2 < l; j2++) order[j2] = ai[j2]; transit = 0; bMoveAll = false; } public void update(Graphics g) { paint(g); } private void grabPixels() { PixelGrabber pixelgrabber = new PixelGrabber(pic, 0, 0, width, height, data, 0, width); try { pixelgrabber.grabPixels(); } catch(InterruptedException interruptedexception) { } } public Dimension minimizeSize() { return new Dimension(width, height); } public Dimension preferredSize() { return new Dimension(width, height); } public Insets insets() { return new Insets(0, 0, 0, 0); } public void paint(Graphics g) { boolean flag = false; boolean flag1 = false; int i2 = row * col; if(og == null) { oi = createImage(width, height); og = oi.getGraphics(); } og.setColor(bg); og.fillRect(0, 0, width, height); for(int j2 = 0; j2 < i2; j2++) if(order[j2] != i2 - 1 && j2 != target && j2 != sw1 && j2 != sw2) if(bMoveAll) { int i = (j2 % col) * w; int i1 = (j2 / col) * h; int k2 = (ordernew[j2] % col) * w; int i3 = (ordernew[j2] / col) * h; i += (transit * (k2 - i)) / maxtransit; i1 += (transit * (i3 - i1)) / maxtransit; og.drawImage(shad, i + soff, i1 + soff, this); og.drawImage(pieces[order[j2]], i - soff, i1 - soff, this); og.setColor(shadowdown); og.drawRect(i - soff, i1 - soff, w - 1, h - 1); } else { int j = (j2 % col) * w; int j1 = (j2 / col) * h; og.drawImage(pieces[order[j2]], j, j1, this); if(j2 == mouseover) og.setColor(Color.red); else og.setColor(shadowdown); og.drawRect(j, j1, w - 1, h - 1); } if(target > -1) { og.setColor(shadowdown); og.drawImage(shad, targetx + 10, targety + 10, this); og.drawImage(pieces[order[target]], targetx, targety, this); og.setColor(shadowdown); og.drawRect(targetx + 1, targety + 1, w - 2, h - 2); og.setColor(shadowup); og.drawRect(targetx, targety, w - 1, h - 1); } else if(sw1 > -1) { for(int l2 = 0; l2 < 2; l2++) if(l2 == 0 && order[sw1] != i2 - 1) { int k = (sw1 % col) * w; int k1 = (sw1 / col) * h; int j3 = (sw2 % col) * w; int j4 = (sw2 / col) * h; k += (transit * (j3 - k)) / maxtransit; k1 += (transit * (j4 - k1)) / maxtransit; og.drawImage(shad, k + soff, k1 + soff, this); og.drawImage(pieces[order[sw1]], k - soff, k1 - soff, this); og.setColor(shadowdown); og.drawRect(k - soff, k1 - soff, w - 1, h - 1); } else if(l2 == 1 && order[sw2] != i2 - 1) { int l = (sw2 % col) * w; int l1 = (sw2 / col) * h; int k3 = (sw1 % col) * w; int k4 = (sw1 / col) * h; l += (transit * (k3 - l)) / maxtransit; l1 += (transit * (k4 - l1)) / maxtransit; og.drawImage(shad, l + soff, l1 + soff, this); og.drawImage(pieces[order[sw2]], l - soff, l1 - soff, this); og.setColor(shadowdown); og.drawRect(l - soff, l1 - soff, w - 1, h - 1); } } if(movex > -1 && movey > -1) { og.setFont(new Font("Helvetica", 1, 11)); String s = MovesCountText + " " + moves; og.setColor(Color.black); byte byte0 = 5; byte byte1 = 24; og.drawString(s, byte0, byte1 - 13); og.drawString(s, byte0, byte1 - 11); og.drawString(s, byte0 - 1, byte1 - 12); og.drawString(s, byte0 + 1, byte1 - 12); og.setColor(Color.white); og.drawString(s, byte0, byte1 - 12); String s3 = BestText + " " + best; if(best >= 9999) s3 = ""; og.setColor(Color.black); og.drawString(s3, byte0, byte1 - 1); og.drawString(s3, byte0, byte1 + 1); og.drawString(s3, byte0 - 1, byte1); og.drawString(s3, byte0 + 1, byte1); og.setColor(Color.white); og.drawString(s3, byte0, byte1); } if(gameover) { if(moves < best) best = moves; og.setFont(new Font("Helvetica", 1, 20)); String s1 = FinishText; int l3 = (width - og.getFontMetrics().stringWidth(s1)) / 2; int l4 = height / 2; og.setColor(Color.black); og.drawString(s1, l3, l4 - 1); og.drawString(s1, l3, l4 + 1); og.drawString(s1, l3 - 1, l4); og.drawString(s1, l3 + 1, l4); og.setColor(Color.white); og.drawString(s1, l3, l4); } if(!registered && showCopyright) { og.setFont(new Font("Helvetica", 1, 11)); String s2 = "SlidingPuzzle (C) thejmaker.com 2002"; int i4 = width - og.getFontMetrics().stringWidth(s2) - 4; int i5 = height - 5; og.setColor(Color.blue); og.drawString(s2, i4, i5 - 1); og.drawString(s2, i4, i5 + 1); og.drawString(s2, i4 - 1, i5); og.drawString(s2, i4 + 1, i5); og.setColor(Color.cyan); og.drawString(s2, i4, i5); } g.drawImage(oi, 0, 0, this); } public void animatedMove() { int i = maxtransit; Graphics g = getGraphics(); soff = 0; maxtransit = 15; for(int j = 1; j <= maxtransit; j++) { transit = j; paint(g); try { Thread.sleep(delay); } catch(Exception exception) { } } sw1 = sw2 = -1; transit = 0; maxtransit = i; } public boolean mouseDown(Event event, int i, int j) { boolean flag = false; boolean flag1 = false; int i1 = -1; boolean flag2 = false; int j1 = row * col; for(int k1 = 0; k1 < j1; k1++) { int k = (k1 % col) * w; int l = (k1 / col) * h; if(i < k || i >= k + w || j < l || j >= l + h) continue; moveaudio.play(); i1 = k1; break; } if(i1 > -1 && i1 % col != 0 && order[i1 - 1] == j1 - 1) { sw1 = i1; sw2 = i1 - 1; animatedMove(); order[i1 - 1] = order[i1]; order[i1] = j1 - 1; flag2 = true; } if(!flag2 && i1 > -1 && i1 % col != col - 1 && order[i1 + 1] == j1 - 1) { sw1 = i1; sw2 = i1 + 1; animatedMove(); order[i1 + 1] = order[i1]; order[i1] = j1 - 1; flag2 = true; } if(!flag2 && i1 > -1 && i1 / col >= 1 && order[i1 - col] == j1 - 1) { sw1 = i1; sw2 = i1 - col; animatedMove(); order[i1 - col] = order[i1]; order[i1] = j1 - 1; flag2 = true; } if(!flag2 && i1 > -1 && i1 / col < row - 1 && order[i1 + col] == j1 - 1) { sw1 = i1; sw2 = i1 + col; animatedMove(); order[i1 + col] = order[i1]; order[i1] = j1 - 1; flag2 = true; } if(flag2) moves++; repaint(); if(moves > 0) { for(int l1 = 0; l1 < j1; l1++) if(order[l1] != l1) return true; gameover = true; } return true; } public boolean mouseExit(Event event, int i, int j) { showCopyright = false; if(!registered) app.showStatus("SlidingPuzzle (C) thejmaker.com 2002"); else app.showStatus(""); repaint(); movex = -1; movey = -1; mouseover = -1; return true; } public boolean mouseUp(Event event, int i, int j) { int k = row * col; if(target > -1) { int l = targetx + w / 2; int j1 = targety + h / 2; boolean flag = false; boolean flag1 = false; int i2 = target; int j2 = w * w + h * h; boolean flag2 = false; for(int i3 = 0; i3 < k; i3++) { int k1 = (i3 % col) * w + w / 2; int l1 = (i3 / col) * h + h / 2; int k2 = (l - k1) * (l - k1) + (j1 - l1) * (j1 - l1); if(k2 < j2) { i2 = i3; j2 = k2; } } if(target != i2) moves++; int l2 = order[target]; order[target] = order[i2]; order[i2] = l2; target = -1; } showCopyright = true; repaint(); for(int i1 = 0; i1 < k; i1++) if(order[i1] != i1) return true; winaudio.play(); gameover = true; return true; } public boolean mouseMove(Event event, int i, int j) { boolean flag = false; boolean flag1 = false; int i1 = row * col; for(int j1 = 0; j1 < i1; j1++) { int k = (j1 % col) * w; int l = (j1 / col) * h; if(i < k || i >= k + w || j < l || j >= l + h) continue; mouseover = j1; break; } movex = i; movey = j; showCopyright = true; if(registered) app.showStatus(""); else app.showStatus("SlidingPuzzle (C) thejmaker.com 2002"); repaint(); return true; } Image oi; Graphics og; boolean registered; boolean showCopyright; Image pic; Color bg; Color shadowup; Color shadowdown; int delay; Applet app; int width; int height; int w; int h; int row; int col; int data[]; Image pieces[]; Image shad; boolean gameover; int order[]; int ordernew[]; int target; int targetx; int targety; int mouseover; int moves; int movex; int movey; int best; AudioClip winaudio; AudioClip moveaudio; String MovesCountText; String FinishText; String BestText; int sw1; int sw2; int transit; int maxtransit; int oldrow; int oldcol; int soff; boolean bMoveAll; }
  21. Eu só não testei o de alterar o .class Na verdade, eu já havia tentado fazer isso semana passada, mas não conseguia compilar de jeito nenhum...Daí desisti de ficar mexendo no código fonte do applet. Você pegou os arquivos que eu deixei para você fazer o download? Talvez você entenda melhor se vir todo o código. É muito estranho que o stop e start não funcionem para atualizar o applet..os códigos são similares aos do exemplo que você me passou. Qual serão as funções que fazem isso..??
  22. Tentei e nada feito...Acho que stop e start não dão muito certo...
  23. Já existem esses métodos na classe java: Dá uma olhada: public void start() { if(t == null) { t = new Thread(this); t.start(); } } public void stop() { if(t != null && t.isAlive()) t.stop(); t = null; photo = null; rp = null; }
  24. Não deu certo tb. É..eu já havia tentado algumas funções do applet fora essas. Acho que daria certo se o objeto fosse destruído, criado um novo e carregado as funções iniciais para liberar a memória..só que não sei como induzir o javascript a executar estas ações, já que aparentemente ele terá que invocar várias funções para efetuar um "reset". Para facilitar vou te passar um endereço para você pegar todos os arquivos zipados onde estou tentando trabalhar: http://dhost.info/rebenta/gatas/download.htm
×
×
  • Criar Novo...