Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ²Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 80

Автор Майкл ΠœΠΎΡ€Ρ€ΠΈΡΠΎΠ½

Π’ ΠΊΠΎΠΏΠΈΠ»ΠΊΡƒ Π˜Π³Ρ€ΠΎΠΊΠ°

Π’ΠΎ, ΠΊΠ°ΠΊ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅, зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π’ соврСмСнных ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°ΠΌΡΡ‚ΡŒ устройства, Π½ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΈ ΠΌΠΈΠΊΡ€ΠΎ ТСсткиС диски ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ срСдства хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‡Ρ‚ΠΎ, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программирования, способ хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ Π²Π°ΠΆΠ΅Π½.

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΎ записях ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ… записСй

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ записСй – это упрощСнная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π°ΠΏΠΈΡΡŒ – это Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ числовой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (ID). Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ записСй ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ (рис. 19.1).

Рис. 19.1. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ записСй состоит ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… записСй, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ID

КаТдоС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ записСй Π² RMS ассоциировано с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ ΠΌΠΈΠ΄Π»Π΅Ρ‚Π° ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ тСкстовоС имя, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π΅Π΅. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ списка Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΠ² для ΠΈΠ³Ρ€Ρ‹ Space Out ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ HiScores, доступ ΠΊ Π½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Space Out. Если Π²Ρ‹ распространяСтС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ вмСстС со Space Out Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ этому Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ.

...

Π’ ΠΊΠΎΠΏΠΈΠ»ΠΊΡƒ Π˜Π³Ρ€ΠΎΠΊΠ°

ΠŸΠ°ΠΊΠ΅Ρ‚ ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠ² опрСдСляСтся JAR-Ρ„Π°ΠΉΠ»ΠΎΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠ², просто ΡƒΠΏΠ°ΠΊΡƒΠΉΡ‚Π΅ нСсколько ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ JAR-Ρ„Π°ΠΉΠ» ΠΈ создайтС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ дСскриптор (JAD) для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ…. ВсС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ³Ρ€ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π² ΠΊΠ½ΠΈΠ³Π΅, ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ‹ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ JAR-Ρ„Π°ΠΉΠ»Ρ‹.

Π”Π°Π½Π½Ρ‹Π΅, находящиСся Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, β€“ это массив Π±Π°ΠΉΡ‚ΠΎΠ². НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сохраняСтС Π»ΠΈ Π²Ρ‹ строку тСкста ΠΈΠ»ΠΈ Ρ†Π΅Π»Ρ‹Π΅ числа, ΠΎΠ½ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π°ΠΉΡ‚ΠΎΠ².

ПозТС Π² этой Π³Π»Π°Π²Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π»ΡŽΠ±Ρ‹Π΅ стандартныС Π΄Π°Π½Π½Ρ‹Π΅ Java ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² массив Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, ΠΈ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ это.

Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ класс RecordStore

MIDP API ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ RMS Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°ΠΊΠ΅Ρ‚ javax.microedition.rms. Π’ этом ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ находятся класс ΠΈ нСсколько интСрфСйсов, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… созданиС ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ выполняСт класс RecordStore, ΠΎΠ½ прСдоставляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ интСрфСйс для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎΡ‚ класс выполняСт Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ записСй.

ИспользованиС класса RecordStore ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… шагов:

1. ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅/созданиС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° записСй;

2. Π·Π°ΠΏΠΈΡΡŒ/Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²/ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° записСй;

3. Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° записСй.

Π’Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ особыС Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ запись ΠΈΠ»ΠΈ Ρ†Π΅Π»ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, эти дСйствия Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ класс RecordState.

НиТС пСрСчислСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса RecordState, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с записями:

β–Ί openRecordStore() β€“ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… для чтСния/записи;

β–Ί getNumRecords() β€“ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число записСй Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅;

β–Ί getRecordSize() β€“ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ записи;

β–Ί getRecord() β€“ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ записи;

β–Ί addRecord() β€“ добавляСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅;

β–Ί deleteRecord() β€“ удаляСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ запись;

β–Ί deleteRecordStore() β€“ удаляСт Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ…;

β–Ί closeRecordStore() β€“ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ основныС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ записями Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² классС RecordStore Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½ΠΎ пСрСчислСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π²ΠΏΠΎΠ»Π½Π΅ достаточно для хранСния ΠΈ управлСния списком Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΠ².

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ записСй, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр класса RecordStore:

RecordStore rs = null;

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ REcordStore, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ openRecordStore():

try {

rs = RecordStore.openRecordStore("HiScores", true);

}

catch (Exception e) {

System.err.println("Failed creating hi score record store!");

}

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄, β€“ это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° записСй, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС – Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° списка Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΠ². Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ опрСдСляСт, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ записСй, Ссли ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π½Π΅ сущСствуСт. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ записСй Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ ΠΈΠ»ΠΈ создано, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ€Π°Π²Π½ΠΎ false, Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½ΠΎ сущСствуСт. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ пСрСмСнная rs инициализируСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ null – Π²Ρ‹ смоТСтС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π±Ρ‹Π»ΠΎ Π»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Когда Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ, Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ/ΠΈΠ»ΠΈ запись Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Ρ‹ вспомнитС, ΠΎ Ρ‡Π΅ΠΌ шла Ρ€Π΅Ρ‡ΡŒ Ρ€Π°Π½Π΅Π΅, Ρ‚ΠΎ запись состоит ΠΈΠ· ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ числового ID ΠΈ массива Π±Π°ΠΉΡ‚ΠΎΠ². Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ addRecord() класса RecordStore:

try {

rs.addRecord(recordData, 0, recordData.length);

}

catch (Exception e) {

System.err.println("Failed writing hi scores!");

}

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ пСрСмСнная recordData – это массив Π±Π°ΠΉΡ‚ΠΎΠ², содСрТащий ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Π΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ΠœΠ΅Ρ‚ΠΎΠ΄ recordData() ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚Ρ€ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°: Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…, смСщСниС, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ Π² массивС, Π° Ρ‚Π°ΠΊΠΆΠ΅ число Π±Π°ΠΉΡ‚ записываСмых Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ вСсь массив Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ 0, Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ – Π΄Π»ΠΈΠ½Ρƒ массива Π±Π°ΠΉΡ‚ΠΎΠ², ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Π§Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° нСсколько слоТнСС, Ρ‡Π΅ΠΌ запись, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, сколько Π΄Π°Π½Π½Ρ‹Ρ… находится Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ…ΠΎΠ΄Ρ‹:

1. ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ всСм записям Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°;

2. ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи;

3. ΠΏΡ€ΠΈ нСобходимости ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ записи, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всю запись;

4. ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ запись.

Π― ΠΌΠΎΠ³ Π±Ρ‹ Π²Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ запись, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ всС содСрТимоС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. ΠžΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ шаги ΡƒΠΆΠ΅ Π΄Π°ΡŽΡ‚ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, β€“ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ всСм записям Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ это:

try {

int len;

byte[] recordData = new byte[8]; //Π’ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ записи (8 Π±Π°ΠΉΡ‚) Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ магичСского – это просто ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎ срСднСм Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ записи

for (int i = 1; i <= rs.getNumRecords(); i++) {

// Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΈ нСобходимости

if (rs.getRecordSize(i) > recordData.length) //Если Ρ€Π°Π·ΠΌΠ΅Ρ€ записи большС 8 Π±Π°ΠΉΡ‚, этот ΠΊΠΎΠ΄ выдСляСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ объСм памяти

recordData = new byte[rs.getRecordSize(i)];

// ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² массив

len = rs.getRecord(i, recordData, 0);

// Do something with the record data

... //Π—Π΄Π΅ΡΡŒ Π²Ρ‹ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, int

}

}

catch (Exception e) {

System.err.println("Failed reading hi scores!");

}

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ всСм записям Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, считывая ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ записи. Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ нСобходимости выдСляСтся ΠΏΠ°ΠΌΡΡ‚ΡŒ для записи. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ этого Π½Π΅ трСбуСтся ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со списком Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС записи Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€, Π½ΠΎ ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚. Π•ΡΡ‚ΡŒ ряд ситуаций, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ записСй. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π² классС RecordStore для этого Π΅ΡΡ‚ΡŒ статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ deleteRecordStore(). ВсС, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, β€“ это ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° записСй, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ:

try {

Rs.deleteRecordStore("HiScores");

}

catch (Exception e) {

System.err.println("Failed deleting record store!");

}

ΠœΠ΅Ρ‚ΠΎΠ΄ deleteRecordStore() ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ старого Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ использован дальшС Π² этой Π³Π»Π°Π²Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ содСрТимоС списка Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΠ² ΠΈΠ³Ρ€Ρ‹ Space Out. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ запись Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΈΠ³Ρ€Π° Space Out 2 удаляСт староС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ записываСт Π½ΠΎΠ²ΠΎΠ΅. Об этом Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ Π² этой Π³Π»Π°Π²Π΅. Π’Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ closeRecord() β€“ послСдний ΠΌΠ΅Ρ‚ΠΎΠ΄ класса RecordStore, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ интСрСсСн с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программирования ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для закрытия Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° записСй ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ:

try {

rs.closeRecordStore();

}

catch (Exception e) {

System.err.println("Failed closing hi score record store!");

}

Π₯отя ΠΏΡ€ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° записСй ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ MIDP API БистСмы управлСния записями ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ лишь Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ интСрСсныС ΡˆΡ‚Ρ€ΠΈΡ…ΠΈ Π² создаваСмыС Π²Π°ΠΌΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΡΡ‚Π°Π²ΡˆΠ°ΡΡΡ Ρ‡Π°ΡΡ‚ΡŒ Π³Π»Π°Π²Ρ‹ посвящСна добавлСнию списка Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΠ² Π² ΠΈΠ³Ρ€Ρƒ Space Out, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΡƒΡŽ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° списка Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΠ² ΠΊ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ

Π― Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π» Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ список Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΠ² (ΠΎΠ΄Π½Ρƒ ΠΈΠ· особСнностСй классичСских Π°Ρ€ΠΊΠ°Π΄), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ вашС имя ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Ρ‹. К соТалСнию, эта Π·Π°Π΄Π°Ρ‡Π° достаточно слоТна с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программирования. Если Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΎΡ‚ Ρ‚Π΅ΠΌΡ‹ повСствования, Π½Π΅ ΡƒΠ³Π»ΡƒΠ±Π»ΡΡΡΡŒ Π² Π΄Π΅Ρ‚Π°Π»ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ вмСсто списка Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΠ², хранящСго ΠΈΠΌΠ΅Π½Π° ΠΈ счСт Π»ΡƒΡ‡ΡˆΠΈΡ… пяти ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ², Π²Ρ‹ создадитС список Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΠ², содСрТащий лишь Π»ΡƒΡ‡ΡˆΠΈΠ΅ 5 Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Π₯отя ΠΏΡ€ΠΈ этом ΠΈΠΌΠ΅Π½Π° рСкордсмСнов Π±ΡƒΠ΄ΡƒΡ‚ нСизвСстны, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ‚Π°ΠΊΠΎΠΉ способ Ρ…ΠΎΡ€ΠΎΡˆ для отраТСния Π»ΡƒΡ‡ΡˆΠΈΡ… достиТСний.

...

Π’ ΠΊΠΎΠΏΠΈΠ»ΠΊΡƒ Π˜Π³Ρ€ΠΎΠΊΠ°

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°ΠΌΠΈ – ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ устройствами, Π² спискС Ρ€Π΅ΠΊΠΎΡ€Π΄ΠΎΠ² Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π²ΠΎΠ΄ ΠΈΠΌΠ΅Π½ΠΈ рСкордсмСна Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅Ρ‚ нСобходимости ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π°, Π²Π°ΠΌ придСтся ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ лишь счСт ΠΈΠ³Ρ€Ρ‹. Если Π²Ρ‹ вспомнитС, Ρ‚ΠΎ Π² ΠΈΠ³Ρ€Π΅ Space Out счСт– это чСтырСхразрядноС число (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ мСньшС 10000), Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, пСрСмСнная Ρ‚ΠΈΠΏΠ° int Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π΅Π³ΠΎ хранСния. Однако Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ записСй хранятся ΠΊΠ°ΠΊ массивы Π±Π°ΠΉΡ‚ΠΎΠ². Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² массив Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.