public function paid() { // Gacha Id TODO // Stone Check // TODO 消耗石头常量化 if ($this->_playerData->stone < 5) { // 石头不够的情况 return Response::json(['error' => 'not enough stone']); } // 抽奖列表列表 TODO APC缓存 $lstGachaItems = GachaItems::all()->toArray(); // 抽选 $objGachaItem = $this->_drawing($lstGachaItems); if ($objGachaItem) { $card = Card::find($objGachaItem['card_id']); // 抽到卡片的品质 $quality = $objGachaItem['quality']; $ownedCard = $this->_player->appendCard($objGachaItem['card_id'], $quality); if ($ownedCard) { $this->_playerData->stone = $this->_playerData->stone - $this->PAID_NEED_STONE; if ($this->_playerData->save()) { return Response::json($ownedCard); } } } return Response::json(['error' => 'Create Card Failure']); }
/** * Returns a json representation of the card. * * @param $id id number of the card * @return string json representation of the card */ public function getCardById($id) { // get the card via the database: $card = \App\Card::find($id); // return the card as JSON: return json_encode($card); }
/** * 赋予玩家一张卡片 * @param $intCardId * @param string $strQuality * @return \App\OwnedCard|bool */ public function appendCard($intCardId, $strQuality = 'normal') { // 取得卡片情报 $objCard = Card::find($intCardId); // 卡片情报不正确 if (!$objCard || empty($objCard)) { return false; } // Transaction DB::beginTransaction(); try { // 初始化玩家卡片 $objOwnedCard = new OwnedCard(); // 玩家卡片情报Set $objOwnedCard->createOwnedCard($intCardId, $this->id, $strQuality); // 保存 if (!$objOwnedCard->save()) { throw new Exception('Save Failed'); } DB::commit(); } catch (Exception $e) { // TODO Dev Log DB::rollback(); // 失败 return false; } return $objOwnedCard; }
public function run() { DB::table('card_playlist')->delete(); $playlist = \App\Playlist::find(1); $playlist->cards()->attach(\App\Card::find(1)); $playlist->cards()->attach(\App\Card::find(2)); $playlist->cards()->attach(\App\Card::find(3)); $playlist->cards()->attach(\App\Card::find(4)); $playlist->cards()->attach(\App\Card::find(5)); $playlist = \App\Playlist::find(2); $playlist->cards()->attach(\App\Card::find(2)); $playlist->cards()->attach(\App\Card::find(3)); $playlist->cards()->attach(\App\Card::find(5)); $playlist = \App\Playlist::find(3); $playlist->cards()->attach(\App\Card::find(1)); $playlist->cards()->attach(\App\Card::find(2)); $playlist->cards()->attach(\App\Card::find(4)); }
/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { // $card = Card::find($id); if (!$card) { // 无对应卡片数据 } $skill = null; if ($card->skill_id != 0) { $skill = Skill::where("skill_id", $card->skill_id)->first(); } $lskill = null; if ($card->lskill_id != 0) { $lskill = Lskill::where("lskill_id", $card->lskill_id)->first(); } $objEvoTargetCard = null; $objMaterial1Card = null; $objMaterial2Card = null; $objMaterial3Card = null; $objMaterial4Card = null; if ($card->evo_id != 0) { $objEvoTargetCard = Card::where("card_id", $card->evo_id)->first(); if ($card->material_id1 > 0) { $objMaterial1Card = Card::where("card_id", $card->material_id1)->first(); } if ($card->material_id2 > 0) { $objMaterial2Card = Card::where("card_id", $card->material_id2)->first(); } if ($card->material_id3 > 0) { $objMaterial3Card = Card::where("card_id", $card->material_id3)->first(); } if ($card->material_id4 > 0) { $objMaterial4Card = Card::where("card_id", $card->material_id4)->first(); } } return view('card.show')->withCard($card)->withSkill($skill)->withLskill($lskill)->withTitle($card->name_jp)->withAbilities(Ability::all())->withType1s(Type1::all())->withType2s(Type2::all())->withEvoTargetCard($objEvoTargetCard)->withMaterial1Card($objMaterial1Card)->withMaterial2Card($objMaterial2Card)->withMaterial3Card($objMaterial3Card)->withMaterial4Card($objMaterial4Card)->withAttrs(Attr::all()); }
/** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { $card = Card::find($id); return $card; }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update(Request $request, $id) { // $card = Card::find($id); try { $statusCode = 200; if ($request->has('saldo')) { $card->saldo = $request->saldo; } if ($request->has('status')) { $card->status = $request->status; } if ($card->save()) { $response = ["success" => true]; } else { $response = ["success" => false]; } } catch (Exception $e) { $response = ["error" => "Error interno"]; $statusCode = 500; } finally { return Response::json($response, $statusCode); } }
/** * 取得玩家卡片的Master卡片数据 * @return \Illuminate\Support\Collection|null|static */ public function getCardInfo() { return Card::find($this->card_id); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $cardUpdate = Request::all(); $status = $_GET['status']; $card = Card::find($id); $payment_token = null; $hash_card = $card->hash_card; if ($status == 'PAID') { $payment_token = md5($hash_card . $id . microtime() . rand()); } $newCardStatus = ['id_card' => $id, 'card_status' => $status, 'payment_token' => $payment_token]; $card->update($newCardStatus); return view('comandas.sucesso', compact('hash_card', 'payment_token', 'status')); }
<?php /* |-------------------------------------------------------------------------- | Application Routes |-------------------------------------------------------------------------- | | Here is where you can register all of the routes for an application. | It's a breeze. Simply tell Laravel the URIs it should respond to | and give it the controller to call when that URI is requested. | */ Route::get('/', function () { return view('index'); }); Route::get('/api/card/{card}', function ($cardID) { return \App\Card::find($cardID); }); Route::get('/api/deck/{deck}', function ($deck) { return \App\Deck::with("cards")->find($deck); }); Route::get("/api/deck/class/{class}", function ($class) { return \App\Deck::where("playerClass", "=", $class)->get(); });
/** * 装备页面 */ public function equip() { // 取得对象玩家卡片的ID $intOwnedCardId = Input::get("owned_card_id"); $intEquipmentPositionId = Input::get("equipment_position_id"); if ($intOwnedCardId <= 0) { } // 取得对象玩家卡片的实例 $objOwnedCard = OwnedCard::find($intOwnedCardId); if (!$objOwnedCard || $objOwnedCard->player_id != $this->_intPlayerId) { } // 卡片数据实例 $objCard = Card::find($objOwnedCard->card_id); $intFromOwnedEquipmentId = 0; switch ($intEquipmentPositionId) { case 1: echo "[Lv{$objOwnedCard->level}]{$objCard->name_cn}武器装备<br />"; $intFromOwnedEquipmentId = $objOwnedCard->owned_equipment_id_1; break; case 2: echo "[Lv{$objOwnedCard->level}]{$objCard->name_cn}头部装备<br />"; $intFromOwnedEquipmentId = $objOwnedCard->owned_equipment_id_2; break; case 3: echo "[Lv{$objOwnedCard->level}]{$objCard->name_cn}胸部装备<br />"; $intFromOwnedEquipmentId = $objOwnedCard->owned_equipment_id_3; break; case 4: echo "[Lv{$objOwnedCard->level}]{$objCard->name_cn}脚部装备<br />"; $intFromOwnedEquipmentId = $objOwnedCard->owned_equipment_id_4; break; case 5: echo "[Lv{$objOwnedCard->level}]{$objCard->name_cn}耳环装备<br />"; $intFromOwnedEquipmentId = $objOwnedCard->owned_equipment_id_5; break; case 6: echo "[Lv{$objOwnedCard->level}]{$objCard->name_cn}项链装备<br />"; $intFromOwnedEquipmentId = $objOwnedCard->owned_equipment_id_6; break; } // 检查是否有当前装备 if ($intFromOwnedEquipmentId > 0) { $objFromOwnedEquipment = OwnedEquipment::find($intFromOwnedEquipmentId); $objFromEquipment = Equipment::find($objFromOwnedEquipment->equipment_id); echo "当前装备[{$objFromOwnedEquipment->level}]{$objFromEquipment->name_cn}<br />"; echo "<a href='equip-exec?player_id={$this->_intPlayerId}&owned_equipment_id=0&owned_card_id={$intOwnedCardId}&equipment_position_id={$intEquipmentPositionId}'>卸下装备</a><br />"; } // 该当装备类型的未装备装备列表取得 $lstOwnedEquipments = OwnedEquipment::where("equipment_type_id", $intEquipmentPositionId)->where("owned_card_id", 0)->get(); foreach ($lstOwnedEquipments as $objOwnedEquipment) { $objEquipment = Equipment::find($objOwnedEquipment->equipment_id); echo "<a href='equip-exec?player_id={$this->_intPlayerId}&owned_equipment_id={$objOwnedEquipment->id}&owned_card_id={$intOwnedCardId}&equipment_position_id={$intEquipmentPositionId}'>[Lv.{$objOwnedEquipment->level}]{$objEquipment->name_cn}</a><br />"; } }
public function show($id) { //return view('cards.show', compact('card')); $card = Card::find($id); return view('cards.show', compact('card')); }
/** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { //type hinting not working, should be able to just use show(Card $card){return view('cards.show', compact('card'));} $card = Card::find($id); return view('cards.show', compact('card')); }
/** * 卡片更新处理 * @param $id * @return mixed */ public function update($id) { $objCard = Card::find($id); // Card Model 内容 $objCard->name_jp = Input::get('name_jp'); $objCard->name_en = Input::get('name_en'); $objCard->name_cn = Input::get('name_cn'); $objCard->desc_jp = Input::get('desc_jp'); $objCard->desc_en = Input::get('desc_en'); $objCard->desc_cn = Input::get('desc_cn'); $objCard->icon = Input::get('icon'); $objCard->image = Input::get('image'); $objCard->race = Input::get('race'); $objCard->rare = Input::get('rare'); $objCard->attr = Input::get('attr'); $objCard->cost = Input::get('cost'); $objCard->job = Input::get('job'); $objCard->max_level = Input::get('max_level'); $objCard->skill_id = Input::get('skill_id', 0); // $card->lskill_id = Input::get('lskill_id'); // $card->skill_id = 1; // TEST $objCard->lskill_id = 1; // TEST $objCard->init_hp_min = Input::get('init_hp_min'); $objCard->init_atk_min = Input::get('init_atk_min'); $objCard->init_def_min = Input::get('init_def_min'); $objCard->init_spd_min = Input::get('init_spd_min'); $objCard->init_int_min = Input::get('init_int_min'); $objCard->grow_hp_min = (double) Input::get('grow_hp_min'); $objCard->grow_atk_min = (double) Input::get('grow_atk_min'); $objCard->grow_def_min = (double) Input::get('grow_def_min'); $objCard->grow_spd_min = (double) Input::get('grow_spd_min'); $objCard->grow_int_min = (double) Input::get('grow_int_min'); $objCard->init_hp_max = Input::get('init_hp_max'); $objCard->init_atk_max = Input::get('init_atk_max'); $objCard->init_def_max = Input::get('init_def_max'); $objCard->init_spd_max = Input::get('init_spd_max'); $objCard->init_int_max = Input::get('init_int_max'); $objCard->grow_hp_max = (double) Input::get('grow_hp_max'); $objCard->grow_atk_max = (double) Input::get('grow_atk_max'); $objCard->grow_def_max = (double) Input::get('grow_def_max'); $objCard->grow_spd_max = (double) Input::get('grow_spd_max'); $objCard->grow_int_max = (double) Input::get('grow_int_max'); $objCard->ability_id_1 = Input::get('ability_id_1'); //TEST $objCard->ability_id_2 = Input::get('ability_id_2'); //TEST $objCard->ability_id_3 = Input::get('ability_id_3'); //TEST // $card->ability_id_1 = input::get('ability_id_1'); // $card->ability_id_2 = Input::get('ability_id_2'); // $card->ability_id_3 = Input::get('ability_id_3'); $objCard->admin_memo = Input::get('admin_memo'); // 原则上做成时非公开 $objCard->open = Input::get('open'); // $card->update_datetime = now(); if ($objCard->save()) { return Redirect::to('admin/card'); } else { return Redirect::back()->withInput()->withErrors('保存失败!'); } }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { // $card = Card::find($id); if ($card->delete()) { return Redirect::to('admin/card'); } else { return Redirect::back()->withInput()->withErrors('删除卡片失败!'); } }