⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c.java

📁 现在非常流行的手机网游的源码,可以下载来学习学习.
💻 JAVA
字号:
import java.io.PrintStream;

public final class c
{
  private int jdField_a_of_type_Int;
  private byte[] jdField_a_of_type_ArrayOfByte;

  public c()
  {
    this(16);
  }

  private c(int paramInt)
  {
    this.jdField_a_of_type_Int = 0;
    this.jdField_a_of_type_ArrayOfByte = new byte[paramInt];
    this.jdField_a_of_type_Int = 0;
  }

  public c(byte[] paramArrayOfByte)
  {
    this.jdField_a_of_type_Int = 0;
    this.jdField_a_of_type_ArrayOfByte = paramArrayOfByte;
    this.jdField_a_of_type_Int = 0;
  }

  public final void a(byte paramByte)
  {
    d(1);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int++)] = paramByte;
  }

  public final void a(int paramInt)
  {
    a((byte)paramInt);
  }

  public final void a(short paramShort)
  {
    d(2);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 1)] = (byte)(paramShort >>> 0);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 0)] = (byte)(paramShort >>> 8);
    this.jdField_a_of_type_Int += 2;
  }

  public final void b(int paramInt)
  {
    a((short)paramInt);
  }

  public final void c(int paramInt)
  {
    d(4);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 3)] = (byte)(paramInt >>> 0);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 2)] = (byte)(paramInt >>> 8);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 1)] = (byte)(paramInt >>> 16);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 0)] = (byte)(paramInt >>> 24);
    this.jdField_a_of_type_Int += 4;
  }

  public final void a(long paramLong)
  {
    d(8);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 7)] = (byte)(int)(paramLong >>> 0);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 6)] = (byte)(int)(paramLong >>> 8);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 5)] = (byte)(int)(paramLong >>> 16);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 4)] = (byte)(int)(paramLong >>> 24);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 3)] = (byte)(int)(paramLong >>> 32);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 2)] = (byte)(int)(paramLong >>> 40);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 1)] = (byte)(int)(paramLong >>> 48);
    this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 0)] = (byte)(int)(paramLong >>> 56);
    this.jdField_a_of_type_Int += 8;
  }

  public final void a(byte[] paramArrayOfByte)
  {
    if (paramArrayOfByte == null)
      return;
    d(paramArrayOfByte.length);
    System.arraycopy(paramArrayOfByte, 0, this.jdField_a_of_type_ArrayOfByte, this.jdField_a_of_type_Int, paramArrayOfByte.length);
    this.jdField_a_of_type_Int += paramArrayOfByte.length;
  }

  public final void a(String paramString)
  {
    a(a(paramString));
  }

  public final boolean a()
  {
    return (this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int++)] != 0);
  }

  public final byte a()
  {
    return this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int++)];
  }

  public final short a()
  {
    int i = (short)(((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 1)] & 0xFF) << 0) + ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 0)] & 0xFF) << 8));
    this.jdField_a_of_type_Int += 2;
    System.out.println("currentPos:" + this.jdField_a_of_type_Int);
    return i;
  }

  public final int a()
  {
    int i = ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 3)] & 0xFF) << 0) + ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 2)] & 0xFF) << 8) + ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 1)] & 0xFF) << 16) + ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 0)] & 0xFF) << 24);
    this.jdField_a_of_type_Int += 4;
    return i;
  }

  public final long a()
  {
    long l = ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 7)] & 0xFF) << 0) + ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 6)] & 0xFF) << 8) + ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 5)] & 0xFF) << 16) + ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 4)] & 0xFF) << 24) + ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 3)] & 0xFF) << 32) + ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 2)] & 0xFF) << 40) + ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 1)] & 0xFF) << 48) + ((this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int + 0)] & 0xFF) << 56);
    this.jdField_a_of_type_Int += 8;
    return l;
  }

  public final byte[] a(int paramInt)
  {
    if ((paramInt == -1) || (this.jdField_a_of_type_Int + paramInt > this.jdField_a_of_type_ArrayOfByte.length))
      paramInt = this.jdField_a_of_type_ArrayOfByte.length - this.jdField_a_of_type_Int;
    byte[] arrayOfByte = new byte[paramInt];
    System.arraycopy(this.jdField_a_of_type_ArrayOfByte, this.jdField_a_of_type_Int, arrayOfByte, 0, paramInt);
    this.jdField_a_of_type_Int += paramInt;
    return arrayOfByte;
  }

  private byte[] a(int paramInt1, int paramInt2)
  {
    if ((paramInt2 == -1) || (paramInt1 + paramInt2 > this.jdField_a_of_type_ArrayOfByte.length))
      paramInt2 = this.jdField_a_of_type_ArrayOfByte.length - paramInt1;
    byte[] arrayOfByte = new byte[paramInt2];
    System.arraycopy(this.jdField_a_of_type_ArrayOfByte, paramInt1, arrayOfByte, 0, paramInt2);
    return arrayOfByte;
  }

  public final String a()
  {
    int i;
    int j;
    if ((i = c()) == -1)
      return "ERROR";
    byte[] arrayOfByte = null;
    char[] arrayOfChar = null;
    arrayOfByte = a(i);
    arrayOfChar = new char[i];
    int i1 = 0;
    int i2 = 0;
    while (i1 < i)
    {
      if ((j = arrayOfByte[i1] & 0xFF) > 127)
        break;
      ++i1;
      arrayOfChar[(i2++)] = (char)j;
    }
    while (true)
      while (true)
      {
        while (true)
        {
          while (true)
          {
            if (i1 >= i)
              break label278;
            switch ((j = arrayOfByte[i1] & 0xFF) >> 4)
            {
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
              ++i1;
              arrayOfChar[(i2++)] = (char)j;
            case 12:
            case 13:
            case 14:
            case 8:
            case 9:
            case 10:
            case 11:
            }
          }
          k = arrayOfByte[((i1 += 2) - 1)];
          arrayOfChar[(i2++)] = (char)((j & 0x1F) << 6 | k & 0x3F);
        }
        int k = arrayOfByte[((i1 += 3) - 2)];
        int l = arrayOfByte[(i1 - 1)];
        arrayOfChar[(i2++)] = (char)((j & 0xF) << 12 | (k & 0x3F) << 6 | (l & 0x3F) << 0);
      }
    label278: return new String(arrayOfChar, 0, i2);
  }

  private void d(int paramInt)
  {
    if (this.jdField_a_of_type_Int + paramInt >= this.jdField_a_of_type_ArrayOfByte.length)
    {
      byte[] arrayOfByte = new byte[this.jdField_a_of_type_ArrayOfByte.length + 2 * paramInt];
      System.arraycopy(this.jdField_a_of_type_ArrayOfByte, 0, arrayOfByte, 0, this.jdField_a_of_type_ArrayOfByte.length);
      this.jdField_a_of_type_ArrayOfByte = arrayOfByte;
    }
  }

  private static byte[] a(String paramString)
  {
    int k;
    int i = paramString.length();
    int j = 0;
    int l = 0;
    for (int i1 = 0; i1 < i; ++i1)
      if (((k = paramString.charAt(i1)) >= '\1') && (k <= 127))
        ++j;
      else if (k > 2047)
        j += 3;
      else
        j += 2;
    byte[] arrayOfByte = new byte[j + 2];
    ++l;
    arrayOfByte[0] = (byte)(j >>> 8 & 0xFF);
    ++l;
    arrayOfByte[1] = (byte)(j >>> 0 & 0xFF);
    int i2 = 0;
    for (i2 = 0; i2 < i; ++i2)
    {
      if ((k = paramString.charAt(i2)) < '\1')
        break;
      if (k > 127)
        break;
      arrayOfByte[(l++)] = (byte)k;
    }
    while (i2 < i)
    {
      if (((k = paramString.charAt(i2)) >= '\1') && (k <= 127))
      {
        arrayOfByte[(l++)] = (byte)k;
      }
      else if (k > 2047)
      {
        arrayOfByte[(l++)] = (byte)(0xE0 | k >> 12 & 0xF);
        arrayOfByte[(l++)] = (byte)(0x80 | k >> 6 & 0x3F);
        arrayOfByte[(l++)] = (byte)(0x80 | k >> 0 & 0x3F);
      }
      else
      {
        arrayOfByte[(l++)] = (byte)(0xC0 | k >> 6 & 0x1F);
        arrayOfByte[(l++)] = (byte)(0x80 | k >> 0 & 0x3F);
      }
      ++i2;
    }
    return arrayOfByte;
  }

  private int b()
  {
    return (this.jdField_a_of_type_ArrayOfByte[(this.jdField_a_of_type_Int++)] & 0xFF);
  }

  private int c()
  {
    int i = b();
    int j = b();
    if ((i | j) < 0)
      return -1;
    return ((i << 8) + (j << 0));
  }

  public final byte[] a()
  {
    if (this.jdField_a_of_type_Int < this.jdField_a_of_type_ArrayOfByte.length)
      return a(0, this.jdField_a_of_type_Int);
    return this.jdField_a_of_type_ArrayOfByte;
  }

  public final void a()
  {
    this.jdField_a_of_type_ArrayOfByte = null;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -