php个人工作经验以及生活体会博客 php工作,生活

1二/123

游戏任务

游戏任务要重新做了..

任务流程:
用户申请完任务,去游戏里完成任务,当用户在牌友会里打开申请中的任务(/jobcenter.php?action=applied),牌友会到游戏里验证是否完成任务进行相关操作

开发过程:
一.在lib/job/job/config.job.php里面添加如下数据
1.var $_chess = "chess";
2.函数getJobType中添加$data[$this->_chess] = $this->chess();
3.函数jobs中添加$this->_chess => "棋牌游戏类",
4.condition函数中添加
case 'doPlayErbagang':
return $this->finish_doPlayErbagang($factor);
break;
5.添加函数
function finish_doPlayErbagang($factor){
return '在PK28游戏中完成'.$factor['num'].'局二八杠游戏即可';
}
/*
* tl棋牌游戏类
*/
function chess($k = null){
$data = array(
'doPlayErbagang' =>'二八杠',
//'doPlaySuoha' =>'梭哈',
//'doPlayDoudizhu' =>'斗地主',
);
return $k ? $data[$k] : $data;
}
二.在u/require/jobcenter/jobcenter.php中添加如下代码
//tl处理游戏中的任务
foreach($joblists as $k => $v){
$factors=unserialize($v['factor']);
if(isset($factors['type'])&&$factors['type']=='pk28'&&$v['status']=='1'){
//$result=file_get_contents("http://");//获得任务数据
$result='4';
if($factors['num']<=$result){
$db->update("UPDATE `pw_jober` SET `status`='2' WHERE (`jobid`='{$v[id]}')");
}
}
}
//td处理游戏中的任务
三.在lib/job/job/中添加文件doPlayErbagang.job.php
四.在模板文件template/admin/jobhander.htm中添加代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!-- 二八杠tl -->
  <div class="admin_table">
  <table width="100%" id="job_doPlayErbagang" style="display:none;" class="mb10">
    <tr class="tr1 vt">
      <td class="td1">二八杠任务</td>
      <td class="td2"> 在二八杠游戏中完成指定的游戏局数 </td>
      <td class="td2"><div class="help_a"></div></td>
    </tr>
    <tr class="tr1 vt">
      <td class="td1">设定完成局数</td>
      <td class="td2"><input name="factor[doPlayErbagang][num]" type="text" class="input input_wa"  value="$doPlayErbagang[num]"/><input name="factor[doPlayErbagang][type]" type="text" class="input input_wa"  value="pk28" style="display:none;"/> </td>
      <td class="td2"><div class="help_a">任务申请成功以后,会员完成指定局数的游戏即可获得奖励。必须填写</div></td>
    </tr>
  </table>
  </div>

相关数据表信息:
pw_jober任务申请表
status 任务状态(是否完成)
0 未进行
1 进行中
2 已完成
3 已领取奖励
4 放弃任务
current 任务状态
1 未完成
2 已完成

7十二/115

在phpwind中增加自定义类型任务

棋牌任务计划打算在牌友会(phpwind)上实施,在phpwind原有的任务系统基础上进行二次开发。在这里我记录一下如何增加自定义任务。

相关文件:\lib\job\job\config.job.php   \template\admin\jobhander.htm

首先,在config.job.php里面的JOB_Config类增加变量var $_chess      = "chess";在getJobType函数里面添加$data[$this->_chess] = $this->chess();jobs函数里面添加$this->_chess     => "棋牌游戏类",

接着,在上面的JOB_Config类里面添加函数:

1
2
3
4
5
6
7
8
9
10
11
/*
* 棋牌游戏类
*/

function chess($k = null){
$data = array(
'tl_zhajinhua' =&gt;'炸金花',
'tl_erbagang' =&gt;'二八杠',
'tl_doudizhu' =&gt;'斗地主',
);
return $k ? $data[$k] : $data;
}

function finish_tl_zhajinhua($factor){
return '进入pk28游戏玩炸金花12局完成任务'.$this->getLimitTime($factor);
}
function finish_tl_erbagang($factor){
return '进入pk28游戏玩二八杠12局完成任务'.$this->getLimitTime($factor);
}
function finish_tl_doudizhu($factor){
return '进入pk28游戏玩斗地主12局完成任务'.$this->getLimitTime($factor);
}

然后,在函数condition里面添加

1
2
3
4
5
6
7
8
9
case 'tl_zhajinhua':
return $this-&gt;finish_tl_zhajinhua($factor);
break;
case 'tl_erbagang':
return $this-&gt;finish_tl_erbagang($factor);
break;
case 'tl_doudizhu':
return $this-&gt;finish_tl_doudizhu($factor);
break;

最后,在模板文件jobhander.htm里面约815行的位置添加一下代码即可,如此自定义任务就增加完了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!-- 炸金花奖励-->
<div>
<table width="100%" id="job_tl_zhajinhua" style="display:none;">
<tr>
<td>完成成果</td>
<td> 进入pk28游戏玩炸金花12局完成任务 </td>
<td><div></div></td>
</tr>
</table>
</div>
<!-- 二八杠奖励-->
<div>
<table width="100%" id="job_tl_erbagang" style="display:none;">
<tr>
<td>完成成果</td>
<td> 进入pk28游戏玩二八杠12局完成任务 </td>
<td><div></div></td>
</tr>
</table>
</div>
<!-- 斗地主奖励-->
<div>
<table width="100%" id="job_tl_doudizhu" style="display:none;">
<tr>
<td>完成成果</td>
<td> 进入pk28游戏玩斗地主12局完成任务 </td>
<td><div></div></td>
</tr>
</table>
</div>