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);
 }
Exemple #3
0
 /**
  * 赋予玩家一张卡片
  * @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));
 }
Exemple #5
0
 /**
  * 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);
     }
 }
Exemple #8
0
 /**
  * 取得玩家卡片的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'));
 }
Exemple #10
0
<?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'));
 }
Exemple #14
0
 /**
  * 卡片更新处理
  * @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('保存失败!');
     }
 }
Exemple #15
0
 /**
  * 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('删除卡片失败!');
     }
 }