1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Probleme mit Buffer

  • Maggi
  • 18. März 2005 um 18:27
  • Unerledigt
  • Maggi
    2
    Maggi
    Mitglied
    Punkte
    20
    Beiträge
    2
    • 18. März 2005 um 18:27
    • #1

    Huhu,
    ich hab große Probleme mit JavaCards.
    Ich habe einen code gegeben den ich erweitern soll . es handelt sich dabei um so eine art tamagotchi-farm wo man mit den tieren interagieren kann.
    Leider verstehe ich den code teilweise gar nicht .
    ich habe z.B. folgendes:

    Code
    public Animal() {
    
    	feed_send_buffer = new byte[2];
    	mode_send_buffer = new byte[1];
    	contagious_send_buffer = new byte[1];
    	symptoms_send_buffer = new byte[1];
      }
    
    
    
    
     
      public void process(APDU apdu) throws ISOException
      {
    	byte[] buffer = apdu.getBuffer();
    
    
    	// process is called on applet selection,
    	// but we don't do anything in this applet
    	if ((buffer[ISO.OFFSET_CLA] == SELECT_CLA) &&
    	(buffer[ISO.OFFSET_INS] == SELECT_INS)) return;
    
    
    	if (buffer[ISO.OFFSET_CLA] == ANIMAL_CLA) {
    	  short size = (short) buffer[ISO.OFFSET_LC];
    	  byte[] temp;
    	  switch (buffer[ISO.OFFSET_INS]) {
    	  case ANIMAL_WHO_ARE_YOU:
    	apdu.setIncomingAndReceive();
    	sendResponse(apdu, getWhoAreYou());
    	break;
    
    
    	  case ANIMAL_MESSAGE:
    	apdu.setIncomingAndReceive();
    	System.beginTransaction();
    
    
    				mode = MODE_SAD;
    			System.commitTransaction();
    	sendResponse(apdu, getMessage());
    	break;
    
    
    	  case ANIMAL_WHERE_YOU_ARE:
    	temp = receive(apdu);
    	byte[] loc = new byte[size-LOCATION_OFFSET];
    	Util.arrayCopy(temp, LOCATION_OFFSET, loc,
    			   (short)0, (short)loc.length);
    	setWhereYouAre(temp[INDOOR_TEMPERATURE_OFFSET],
    			   temp[OUTDOOR_TEMPERATURE_OFFSET],
    			   temp[LIGHT_OFFSET], loc);
    	break;
    
    
    	  case ANIMAL_LAST_LOCATION:
    	apdu.setIncomingAndReceive();
    	if (getLastLocation() != null) sendResponse(apdu, getLastLocation());
    	break;
    
    
    	  case ANIMAL_FEED:
    	sendResponse(apdu, feed(receive(apdu), size));
    	break;
    
    
    	  case ANIMAL_MODE:
    	apdu.setIncomingAndReceive();
    	mode_send_buffer[0] = getMode();
    	sendResponse(apdu, mode_send_buffer);
    	break;
    
    
    	  case ANIMAL_OPERATIONS:
    	apdu.setIncomingAndReceive();
    	sendResponse(apdu, getOperations());
    	break;
    
    
    	/**  case INSECT_MOVE:
    	sendResponse(apdu, moveInsect(receive(apdu)));
    	break;
    */
    	  default:
    	processGeneric(apdu);   // Let the generic animal handle it
    	  }
    	} else if (buffer[ISO.OFFSET_CLA] == ANIMAL_OP) {
    	  // It is an instruction for an Animal-specific operation...
    	  performOperation(buffer[ISO.OFFSET_INS]);
    	} else  {
    	  // Don't know what to do with this instruction...
    	  throw new ISOException(ISO.SW_CLA_NOT_SUPPORTED);
    	}
      }
    
    
    .....
    Alles anzeigen

    Ich habe keine Ahnung wie ich mit dem Tier mittels dem Buffer kommunizieren soll. Wie schreibe ich irgendwas da rein?
    Bitte helft mir, ich habe keine Ahnung wie ich vorgehen soll.

    Hoffe auf Antworten
    Gruß

    Maggi

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung