private void cushion() {
		final int CushionRound = 16;
		for (int i = 0; i < CushionRound; i++) {
			try {
				sleep(delay);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			checkRunBridge();
			control.run();
			towerDefense_TransData = control.getInfo(clientId, timestamp);
			towerDefense_TransData.setTransmitType(Transmit_Type_Regular);
			messager.transmitRegularData(towerDefense_TransData);
			if (messager.getReceivedData().getTransmitType() == Transmit_Type_Game_End) {
				mainFrame.turnOnRound("You Win!");
				try {
					sleep(10000);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				System.exit(0);
			} else if (messager.getReceivedData().getTransmitType() == Transmit_Type_Regular)
				opponentData = messager.getReceivedData();
			else if (messager.getReceivedData().getSize() > 0)
				receivedData = messager.getReceivedData();
			// paint
			if (draw_state == false)
				mainFrame.nextFrame(towerDefense_TransData);
			if (draw_state == true)
				mainFrame.nextFrame(opponentData);
		}
	}