begin process at 2008 08 29 08:16:28
1 233 523 membres
62 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

LE RUBIX CUBE EN 3D AVEC OU SANS IMAGES


Information sur la source

Catégorie :Jeux Niveau : Initié Date de création : 14/11/2003 Vu / téléchargé: 8 965 / 514

Note :
7,33 / 10 - par 3 personnes
7,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

Description

interactif mais injouable. c pur le fun!
projet manipulable sur Jbuilder perso
sans java3D

Source

  • //la classe principale
  • import java.applet.*;
  • import java.awt.*;
  • import java.awt.image.*;
  • import java.lang.Math;
  • import java.lang.Thread;
  • import java.lang.System;
  • import java.net.URL;
  • public class go extends Applet implements Runnable
  • {
  • int a,b,i,largeurEcran=800,hauteurEcran=700,nb,facettex[]=new int[4],
  • facettey[]=new int[4],jeupret[];
  • rubicube GO;
  • PixelGrabber grosPx;
  • Image entrez,chargement,jeu;
  • boolean toutDebut = true,toutouDebut = true;
  • Graphics g2;
  • Image Imagecachee;
  • //chargement d'images
  • public void init()
  • {
  • largeurEcran = new Integer(getParameter("largeurEcran")).intValue();
  • hauteurEcran = new Integer(getParameter("hauteurEcran")).intValue();
  • setBackground(new Color(125,125,152));
  • entrez = getImage(getDocumentBase(),"entrez.gif");
  • jeu = getImage(getDocumentBase(),"jeupret.gif");
  • MediaTracker myTracker=new MediaTracker(this);
  • myTracker.addImage(entrez,0);
  • chargement = getImage(getDocumentBase(),"chargement.gif");
  • myTracker.addImage(chargement,1);
  • myTracker.addImage(jeu,2);
  • try
  • {
  • myTracker.waitForID(0);
  • myTracker.waitForID(1);
  • myTracker.waitForID(2);
  • }
  • catch (InterruptedException e){}
  • Imagecachee = createImage(largeurEcran,hauteurEcran);
  • g2 = Imagecachee.getGraphics();
  • }
  • public void run(){}
  • //detection évennement
  • public synchronized boolean handleEvent(Event e)
  • {
  • if(!toutouDebut)
  • {
  • GO.xPointCourant = e.x;
  • GO.yPointCourant = e.y;
  • a = GO.xPointCourant - GO.xAncienPointCourant;
  • b = GO.yPointCourant - GO.yAncienPointCourant;
  • if (a != 0 || b != 0) {
  • GO.xDplt = a;
  • GO.yDplt = b;
  • }
  • switch (e.id) {
  • case Event.MOUSE_MOVE:
  • GO.OK = false;
  • break;
  • case Event.MOUSE_DRAG:
  • if (!toutDebut) {
  • if (GO.tournerCube)
  • GO.tournerCamera();
  • if (GO.tournerFacettes) {
  • if (!GO.rotationInitialisee)
  • GO.initialiserRotation();
  • GO.tournerFacettes();
  • }
  • }
  • break;
  • case Event.MOUSE_DOWN:
  • GO.OK = false;
  • if (!toutDebut) {
  • if (!GO.dansLeCube())
  • GO.tournerCube = true;
  • else
  • GO.tournerFacettes = true;
  • }
  • break;
  • case Event.MOUSE_UP:
  • if (!toutDebut) {
  • if (GO.tournerFacettes)
  • GO.estCEqueLEcube();
  • GO.tournerFacettes = GO.tournerCube = false;
  • }
  • break;
  • case Event.KEY_PRESS:
  • switch (e.key) {
  • case '2':
  • i = 2;
  • break;
  • case '3':
  • i = 3;
  • break;
  • case '4':
  • i = 4;
  • break;
  • case '5':
  • i = 5;
  • break;
  • case '6':
  • i = 6;
  • break;
  • case '7':
  • i = 7;
  • break;
  • case '8':
  • i = 8;
  • break;
  • case '9':
  • i = 9;
  • break;
  • default:
  • return false;
  • }
  • break;
  • default:
  • return false;
  • }
  • GO.xAncienPointCourant = GO.xPointCourant;
  • GO.yAncienPointCourant = GO.yPointCourant;
  • }
  • repaint();
  • return false;
  • }
  • public void update(Graphics g)
  • {
  • if(toutDebut || toutouDebut)//chargement images puis rotation puis zeu!
  • {
  • if(toutouDebut)
  • {
  • g2.drawImage(chargement,0,hauteurEcran/2-hauteurEcran/2*chargement.getHeight(this)/largeurEcran,largeurEcran,hauteurEcran*chargement.getHeight(this)/largeurEcran,this);
  • g.drawImage(Imagecachee,0,0,this);
  • GO = new rubicube(this);
  • jeupret = new int[jeu.getWidth(this)*jeu.getHeight(this)];
  • grosPx = new PixelGrabber(jeu,0,0,jeu.getWidth(this),jeu.getHeight(this),jeupret,0,jeu.getWidth(this));
  • try
  • {
  • grosPx.grabPixels();
  • }
  • catch(InterruptedException ee){}
  • GO.jeu = jeupret;
  • GO.face3 = jeu.getWidth(this);
  • GO.face4 = jeu.getHeight(this);
  • GO.largeurEcran = largeurEcran;
  • GO.hauteurEcran = hauteurEcran;
  • toutouDebut = false;
  • }
  • if(toutDebut && !toutouDebut)
  • {
  • g2.clearRect(0,0,largeurEcran,hauteurEcran);
  • g2.drawImage(entrez,0,hauteurEcran/2-hauteurEcran/2*entrez.getHeight(this)/largeurEcran,largeurEcran,hauteurEcran*entrez.getHeight(this)/largeurEcran,this);
  • if(i >= 2 && i <= 9)
  • {
  • g2.clearRect(0,0,largeurEcran,hauteurEcran);
  • GO.nombreParCote = i;
  • GO.toutDebut();
  • GO.stockerLesSommets();
  • GO.xDplt = 0;
  • GO.yDplt = 0;
  • GO.tournerCamera();
  • GO.aleatoire(g,g2,Imagecachee);
  • toutDebut = false;
  • GO.OK = true;
  • GO.dessiner(g);
  • }
  • else
  • g.drawImage(Imagecachee,0,0,this);
  • }
  • }
  • else
  • GO.dessiner(g);
  • }
  • }
//la classe principale 

import java.applet.*;
import java.awt.*;
import java.awt.image.*;
import java.lang.Math;
import java.lang.Thread;
import java.lang.System;
import java.net.URL;


public class go extends Applet implements Runnable
{

int a,b,i,largeurEcran=800,hauteurEcran=700,nb,facettex[]=new int[4],
facettey[]=new int[4],jeupret[];
rubicube GO;
PixelGrabber grosPx;
Image entrez,chargement,jeu;
boolean toutDebut = true,toutouDebut = true;
Graphics g2;
Image Imagecachee;


//chargement d'images
 public void init()
 {
  largeurEcran = new Integer(getParameter("largeurEcran")).intValue();
  hauteurEcran = new Integer(getParameter("hauteurEcran")).intValue();
  setBackground(new Color(125,125,152));
  entrez = getImage(getDocumentBase(),"entrez.gif");
  jeu = getImage(getDocumentBase(),"jeupret.gif");
  MediaTracker myTracker=new MediaTracker(this);
  myTracker.addImage(entrez,0);
  chargement = getImage(getDocumentBase(),"chargement.gif");
  myTracker.addImage(chargement,1);
  myTracker.addImage(jeu,2);
  try
  {
   myTracker.waitForID(0);
   myTracker.waitForID(1);
   myTracker.waitForID(2);
  }
  catch (InterruptedException e){}
  Imagecachee = createImage(largeurEcran,hauteurEcran);
  g2 = Imagecachee.getGraphics();
 }

 public void run(){}


//detection évennement
 public synchronized boolean handleEvent(Event e)
 {
  if(!toutouDebut)
  {
    GO.xPointCourant = e.x;
    GO.yPointCourant = e.y;
    a = GO.xPointCourant - GO.xAncienPointCourant;
    b = GO.yPointCourant - GO.yAncienPointCourant;
    if (a != 0 || b != 0) {
      GO.xDplt = a;
      GO.yDplt = b;
    }
    switch (e.id) {
      case Event.MOUSE_MOVE:
        GO.OK = false;
        break;
      case Event.MOUSE_DRAG:
        if (!toutDebut) {
          if (GO.tournerCube)
            GO.tournerCamera();
          if (GO.tournerFacettes) {
            if (!GO.rotationInitialisee)
              GO.initialiserRotation();
            GO.tournerFacettes();
          }
        }
        break;
      case Event.MOUSE_DOWN:
        GO.OK = false;
        if (!toutDebut) {
          if (!GO.dansLeCube())
            GO.tournerCube = true;
          else
            GO.tournerFacettes = true;
        }
        break;
      case Event.MOUSE_UP:
        if (!toutDebut) {
          if (GO.tournerFacettes)
            GO.estCEqueLEcube();
          GO.tournerFacettes = GO.tournerCube = false;
        }
        break;
      case Event.KEY_PRESS:
        switch (e.key) {
          case '2':
            i = 2;
            break;
          case '3':
            i = 3;
            break;
          case '4':
            i = 4;
            break;
          case '5':
            i = 5;
            break;
          case '6':
            i = 6;
            break;
          case '7':
            i = 7;
            break;
          case '8':
            i = 8;
            break;
          case '9':
            i = 9;
            break;
          default:
            return false;
        }
        break;
      default:
        return false;
    }
    GO.xAncienPointCourant = GO.xPointCourant;
    GO.yAncienPointCourant = GO.yPointCourant;
  }
  repaint();
  return false;
 }

 public void update(Graphics g)
 {
  if(toutDebut || toutouDebut)//chargement images puis rotation puis zeu!
  {
   if(toutouDebut)
   {
    g2.drawImage(chargement,0,hauteurEcran/2-hauteurEcran/2*chargement.getHeight(this)/largeurEcran,largeurEcran,hauteurEcran*chargement.getHeight(this)/largeurEcran,this);
    g.drawImage(Imagecachee,0,0,this);
    GO = new rubicube(this);
    jeupret = new int[jeu.getWidth(this)*jeu.getHeight(this)];
    grosPx = new PixelGrabber(jeu,0,0,jeu.getWidth(this),jeu.getHeight(this),jeupret,0,jeu.getWidth(this));
    try
    {
     grosPx.grabPixels();
    }
    catch(InterruptedException ee){}
    GO.jeu = jeupret;
    GO.face3 = jeu.getWidth(this);
    GO.face4 = jeu.getHeight(this);
    GO.largeurEcran = largeurEcran;
    GO.hauteurEcran = hauteurEcran;
    toutouDebut = false;
   }
   if(toutDebut && !toutouDebut)
   {
    g2.clearRect(0,0,largeurEcran,hauteurEcran);
    g2.drawImage(entrez,0,hauteurEcran/2-hauteurEcran/2*entrez.getHeight(this)/largeurEcran,largeurEcran,hauteurEcran*entrez.getHeight(this)/largeurEcran,this);
    if(i >= 2 && i <= 9)
    {
     g2.clearRect(0,0,largeurEcran,hauteurEcran);
     GO.nombreParCote = i;
     GO.toutDebut();
     GO.stockerLesSommets();
     GO.xDplt = 0;
     GO.yDplt = 0;
     GO.tournerCamera();
     GO.aleatoire(g,g2,Imagecachee);
     toutDebut = false;
     GO.OK = true;
     GO.dessiner(g);
    }
    else
     g.drawImage(Imagecachee,0,0,this);
   }
  }
  else
   GO.dessiner(g);
 }
}
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de azour le 29/03/2005 17:50:58

    ca marche pas désolé

  • signaler à un administrateur
    Commentaire de artichaud le 01/04/2005 03:12:26

    va dans le répertoire compilation! et clique sur une des icônes html, je sais pu lakelle

Ajouter un commentaire

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS