001 000010 003 0 004 Reproductor de cintas 010 0&0&Es un reproductor de cintas muy sencillo, en bastante buen estado. Sólo tiene botones para reproducir, parar y rebobinar las cintas. En su interior hay %INVENTORY 011 0&0&reproductor de cintas 012 0&0&reproductores de cintas 013 1 014 Reproductor de cintas$reproductor$radio 015 Reproductores de cintas$reproductores$radios 016 8 017 6 099 A continuación, el inventario de este Container ( puede contener Pilas y Cintas ) 020 10$10 084 void parseCommand ( Player p , String verb , String args ) { //pilas y cintas pilas = new Object[] { world.getObject(30000006) , world.getObject(30000007) }; cintas = new Object[] { world.getObject(30000013) , world.getObject(30000014) , world.getObject(30000016) }; //Modificación del comando poner/meter para que en este container sólo se puedan poner pilas y cintas if ( verb.equalsIgnoreCase("poner") || verb.equalsIgnoreCase("meter") || verb.equalsIgnoreCase("colocar") || verb.equalsIgnoreCase("introducir") ) { //items permitidos: pilas y cintas. ok = false; //miramos si el item es una pila. Si lo es, OK. for ( int i = 0 ; i < pilas.length ; i++ ) { if ( ParserMethods.refersToEntities ( args , pilas[i] , obj , false , false ) || ParserMethods.refersToEntities ( args , pilas[i] , obj , true , false ) ) ok = true; } //si no OK, miramos si el item es una cinta y no hay ya una en el reproductor. En tal caso, OK. if ( !ok ) //no es una pila... ¿sera una cinta? { for ( int i = 0 ; i < cintas.length ; i++ ) { if ( ParserMethods.refersToEntities ( args , cintas[i] , obj , false , false ) || ParserMethods.refersToEntities ( args , cintas[i] , obj , true , false ) ) { ok = true; } } if ( ok ) { contenido = obj.getContents(); if ( contenido != null ) { for ( int i = 0 ; i < cintas.length ; i++ ) { if ( contenido.contains(cintas[i])) { p.escribir( p.getIO().lifeErrorColorCode() + "\nYa hay una cinta en el reproductor. ¡Sólo cabe una en la pletina a la vez!\n" + p.getIO().resetColorCode() ); source("end.bsh"); } } } } } if ( !ok ) { p.escribir( p.getIO().lifeErrorColorCode() + "\nEs un tanto absurdo meter eso en el reproductor...\n" + p.getIO().resetColorCode() ); source("end.bsh"); } //por lo demás, dejamos al jugador en paz (no puede meter más de dos pilas necesarias, porque no hay) //else dejarlo en paz, por tanto. } else if ( verb.equalsIgnoreCase("reproducir") || verb.equalsIgnoreCase("escuchar") || verb.equalsIgnoreCase("encender") ) { contenido = obj.getContents(); //mirar si tenemos las pilas if ( !contenido.contains(pilas[0]) || !contenido.contains(pilas[1]) ) { p.escribir( p.getIO().lifeErrorColorCode() + "\nEl reproductor necesita dos pilas tipo AA para funcionar.\n" + p.getIO().resetColorCode() ); source("end.bsh"); } done = false; if ( contenido != null ) { for ( int i = 0 ; i < cintas.length ; i++ ) { if ( contenido.contains(cintas[i])) { done = true; switch ( i ) { case 0: //amarilla p.escribir("\nReproduces la cinta amarilla dándole al botón \"play\"..."); p.escribir("\nCRcr CRcr\n"); p.escribir("CrrrrCCCCRRCCRRrrrrCrrro hago planes con tanta anticiRRACCCr. Cr. CR.\n\n"); p.escribir("En el resto de la cinta no hay más que ruido.\n"); break; case 1: //roja: cuentacuentos p.escribir("\nReproduces la cinta roja dándole al botón \"play\"..."); p.escribir("\nzzzzzzzzzzzzzzzz\n"); p.escribir("zzzHabía una vez una niña muy guapa y alegre, a la que su madre le había tejido una caperuza encarnada, que siempre llevaba puesta, y de tanto llevarla, y de tan bien que le quedaba, todos en su pueblo dieron en llamarla Caperucita Roja...\n\n"); p.escribir("¡Escuchar cuentos en esta atmósfera macabra resulta inquietante! Te empiezan a temblar las piernas y paras la cinta. No es por miedo, nos entendemos... Pero es que son niñerías...\n"); break; case 2: //azul: idiomas p.escribir("\nReproduces la cinta azul dándole al botón \"play\"..."); p.escribir("\nLa cinta está en un idioma incomprensible, suena algo como:"); p.escribir("\nzzzzzzzzzzzzzzzz\n"); p.escribir("zzzWalake nai safkaris o lobskar nardristens jan, jadska in. Nai egon izski nomerjalskas. O zsir:\n\n"); p.escribir("In... desca... trai... quetra... zolmes... saitsa... septes... óctil... naga... zran.\n"); p.escribir("I waletski redizik o. Rizki a mai: In...... desca...... trai...... quetra...... zolmes...... saitsa...... septes...... óctil...... naga...... zran.\n"); p.escribir("Ja zsetsky nomerjlaskas, a zisc a jai, ei na zirski a mai, leizit inskilima, refik li reszte a jadska desca, á carkterskai.\n"); break; } } } } if ( !done ) { p.escribir( p.getIO().lifeErrorColorCode() + "\nNo hay ninguna cinta en el reproductor.\n" + p.getIO().resetColorCode() ); source("end.bsh"); } else { source("end.bsh"); } } } 085