begin process at 2010 03 20 18:35:28
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > LE RUBIX CUBE EN 3D AVEC OU SANS IMAGES

LE RUBIX CUBE EN 3D AVEC OU SANS IMAGES


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Niveau :Initié Date de création :14/11/2003 Vu / téléchargé :10 737 / 621

Auteur : artichaud

Ecrire un message privé
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);
 }
}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip EBAUCHE DE MOTEUR 3D
Source avec Zip UNE TERRE QUI TOURNE (3D)
Source avec Zip UN LOGICIEL DE DESSIN 3D

 Sources de la même categorie

Source avec Zip Source avec une capture JEU DE MASTERMIND EN JAVA par hysteria
Source avec Zip Source avec une capture DÉMARRAGE DE JEUX DE CARTES par mercierdes
Source avec Zip Source avec une capture OUTPOST (PAS FINIT) par Pratana
Source avec Zip CITY, C'EST UN JEU DE VILLE par edouard333
Source avec Zip Source avec une capture PETIT JEU AVEC JAVAFX par puccino1er

Commentaires et avis

Commentaire de azour le 29/03/2005 17:50:58

ca marche pas désolé

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




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales