个兵的任务,自己来一句骑砍能自定义兵种的可以吗

魔兽地图编辑器怎么设置造1个兵之后再也不能造这个兵了_百度知道
魔兽地图编辑器怎么设置造1个兵之后再也不能造这个兵了
我有更好的答案
& 物体编辑器 & & & & & 费时费力费计算&nbsp.jpg" esrc="http.hiphotos.baidu.com/zhidao/wh%3D450%2C600/sign=0cd7e64baaec950a7b02087bf4eadf200ef3d3572c11dfcf22. & 单位的属性 & & &nbsp://a://a.com/zhidao/pic/item/1c950a7b02087bf4eadf200ef3d3572c11dfcf22.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src=" & & & &你就这样做嘛 & &nbsp&nbsp.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=f0361194faf2b211e47b8d48faba7b02087bf4eadf200ef3d3572c11dfcf22; &简单省事 & & & 库存改为 1 &nbsp
聪明,我怎么就没想到,但我还是想触发,今天还是没有人回答我就选你吧。但是因为修改成售出单位引起了一系列的BUG饿。比如说以前造兵有需求现在直接雇佣就没需求了。
我记得好像可以用 &科技需求 &来限制吧 &比如这个 &&& && &我试了 &可以的 & 加在英雄上 & 没有这个科技就不能买& & & && & &甚至你可以用这个触发来限制它的售出& 比如需要某件物品 &乃至于需要某样魔法效果 &我就不赘述了
没用啊,我有需求没研究还是可以买兵
我试过的呀而且是用在像dota那样选英雄的方法
加了科技需求连那个英雄都不能选了看看初始你是不是有那个科技吧
没有的话应该不会这样的
你改过单位后如果是新增自定义记得把它放到建筑出售列表里
记得保存一遍
要是还不行
我只有纳闷了
采纳率:40%
你是不是把这个兵修改过了?如果是,请在物品编辑器里把这个兵复制到“自定义”下在把元来的兵恢复到默认,就可以放那个自定义的兵;如果不,我就没办法了
为您推荐:
其他类似问题
魔兽地图编辑器的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。查看: 8667|回复: 1
Strom:pluggable scheduler 自己写的自定义分配任务
主题帖子积分
问题导读:
1.Storm提供的一个插拔式调度策略的扩展,是指什么?
2.插拔式扩展设计的目的是什么?
3.出现superviso分配不到任务,该如何解决?
Storm提供的一个插拔式调度策略的扩展,在加入新的topology后,并不会完全替代系统自带的分配策略。它仅仅是扩展,不能替代。而且按照设计,它的出现是为了应付一些极端情况,比如,slot不够用。在这些情况下,storm默认的调度策略,无法很好的实施。然后,才会执行自定义的调度策略。新加入的topology启动后,系统默认的调度策略还在起作用,所以,我们制定的spout/bolt的实体可能已经被分配了,也可能我们制定的supervisor机器的slot已经全部用光了,只有这些都可以满足的时候,我们才能进行一定程度的调度。
为了打破以上的限制,我写的方法是,首先将所有的已经分配的任务全部释放掉。然后,按照逻辑进行任务的分配。剩下的任务使用默认的调度策略,但是,总是出现一台supervisor上面分配不到任务。
最后的解决方法,是把topology中所有的任务,全部自定义分配。然后将无任务可分配的topology交给默认调度策略来分配(这一步不能省,否则,会按照系统默认的调度策略进行调度。这说明调度策略,除了进行任务的分配还进行了其他的配置)。这样的结果,才能将任务按照逻辑成功分配。当然,这样会有很多的问题,比如,在自定义调度策略分配完之前,不能接收任何tuple。调度策略的粒度,是线程级别。
自己写的代码如下:实现了,将spout定向配置到其他某个supervisor上,然后,将所有的blot线程平均分摊到所有的supervisor。
集群环境:4个supervisor,两个blot,并行度各为10.
如下代码仅供参考,不要随便移植走,如要移植走还要解决一切线程分配的算法问题。
import java.util.ArrayL
import java.util.C
import java.util.I
import java.util.L
import java.util.M
import java.util.S
import backtype.storm.scheduler.C
import backtype.storm.scheduler.EvenS
import backtype.storm.scheduler.ExecutorD
import backtype.storm.scheduler.IS
import backtype.storm.scheduler.SchedulerA
import backtype.storm.scheduler.SupervisorD
import backtype.storm.scheduler.T
import backtype.storm.scheduler.TopologyD
import backtype.storm.scheduler.WorkerS
public class DemoScheduler implements IScheduler {
& & public void prepare(Map conf) {}
& & private int flag=0;
& & private void Myschedule(Topologies topologies, Cluster cluster)
& & {
& & & & & &
& & & & & &&&SchedulerAssignment currentAssignment = cluster.getAssignmentById(topologies.getByName(&special-topology&).getId());
& && && &if (currentAssignment != null) {
& && && && && &&&System.out.println(&MY:current assignments: & + currentAssignment.getExecutorToSlot());
& && && &} else {
& && && && && &&&System.out.println(&My:current assignments: {}&);
& && && &}
& && && &
& && && &SupervisorDetails specialSupervisor= GetSupervisorDetailsByName(cluster,&special-slave3&);
& && && &if(specialSupervisor!=null)
& && && &{
& && && &List&WorkerSlot&&&availableSlots = cluster.getAvailableSlots(specialSupervisor);
& && && &System.out.println(&availableSlotsNum:&+availableSlots.size());
& && && &System.out.println(&availableSlotsNum List:&+availableSlots);
& && &
& && && &TopologyDetails topology = topologies.getByName(&special-topology&);
& && &&&
& && && &Map&String, List&ExecutorDetails&& componentToExecutors = cluster.getNeedsSchedulingComponentToExecutors(topology);
& && && &List&ExecutorDetails& executors = componentToExecutors.get(&1&);
& && && &List&ExecutorDetails& executors2 = componentToExecutors.get(&2&);
& && &&&
& && && &Map&String, SupervisorDetails& AllSupervisors= cluster.getSupervisors();
& && && &Collection&SupervisorDetails&AllSuperVaule= AllSupervisors.values();
& && &&&
& && && &SupervisorDetails[] superArray=new SupervisorDetails[AllSuperVaule.size()];
& && && &AllSuperVaule.toArray(superArray);
& && && &
& && && &ArrayList&ExecutorDetails& AllExecutor=new ArrayList&ExecutorDetails&();
& && && &
& && && &for(int i=0;i&executors.size();i++)
& && && &{
& && &&&& & & &&&AllExecutor.add(executors.get(i));
& && &&&& & & &&&AllExecutor.add(executors2.get(i));
& && && &}
& && && &
& && && &System.out.println(&AllExecutor size:&+AllExecutor.size()+& &+superArray.length);
& && &&&for(int i=0;i&superArray.i++)
& && && &{
& && &&&& & & &&&List&ExecutorDetails& temp=AllExecutor.subList(i*5, i*5+5);
& && &&&& & & &&&
& && &&&& & & &&&List&WorkerSlot&&&availableSlotsInner = cluster.getAvailableSlots(superArray[i]);
& && &&&& & & &&&cluster.assign(availableSlotsInner .get(0), topology.getId(), temp);
& && &&&& & & &&&System.out.println(&Assiment:&+temp+&to&+i);
& && &&&& & & &&&
& && && &}
& && && &
& && & //&&cluster.assign(availableSlots.get(1), topology.getId(), executors);
& && &&&// cluster.assign(availableSlots.get(2), topology.getId(), executors2);
& && &&&
& && && &}
& && && &else
& && && &{
& && &&&& & & &&&System.out.println(&special-slave3 is not exits!!!&);
& && && &}
& & }
& & private SupervisorDetails&&GetSupervisorDetailsByName(Cluster cluster,String SupervisorName)
& & {
& && &&&// find out the our &special-supervisor& from the supervisor metadata
& && &&&Collection&SupervisorDetails& supervisors = cluster.getSupervisors().values();
& && &&&SupervisorDetails specialSupervisor =
& && &&&for (SupervisorDetails supervisor : supervisors) {
& && && && &Map meta = (Map) supervisor.getSchedulerMeta();
& && && && &if (meta.get(&name&).equals(SupervisorName)) {
& && && && && & specialSupervisor =
& && && && && &
& && && && &}
& && &&&}
& && &&&
& && &&&return specialS
& & }
& & public void schedule(Topologies topologies, Cluster cluster) {
& & & & & &
& && && && &System.out.println(&DemoScheduler: begin scheduling&);
& && &&&// Gets the topology which we want to schedule
& && && && &TopologyDetails topology = topologies.getByName(&special-topology&);
& && &&&// make sure the special topology is submitted,
& && &&&if (topology != null) {
& && &&&& & & & System.out.println(&special-topology is&&not null!!!&);
& && &&&& & & &
if(flag==0)
{
& && &
& && && && &boolean needsScheduling = cluster.needsScheduling(topology);
& && && &&&// cluster.n
& && && && &if (needsScheduling) {
& && && && && && &&&System.out.println(&Our special topology DOES NOT NEED scheduling.&);
& && && && &} else {
& && && && && && &&&System.out.println(&Our special topology needs scheduling.&);
& && && && && & // find out all the needs-scheduling components of this topology
& && && && && && &&&
& && && && && && &&&
& && && && && && &&&
& && && && && && &&&Collection&SupervisorDetails& Tempsupervisors = cluster.getSupervisors().values();//d
& && && && && && &&&
& && && && && && &&&
& && && && && && &&&for (SupervisorDetails supervisor : Tempsupervisors) {
& && && && && && &&&
& && && && && && &&&& & & &
& && && && && && &&&& & & &
& && && && && && &&&& & & && & List&WorkerSlot& availableSlots = cluster.getAvailableSlots(supervisor);
& && && && && && &&&& & & && & //
& && && && && && &&&& & & && &int Availablenum =availableSlots.size();
& && && && && && &&&& & & && &String suName=supervisor.getHost();
& && && && && && &&&& & & && &
& && && && && && &&&& & & && &System.out.println(&before:HostName:&+suName+& AvailableNum:&+Availablenum);
& && && && && && &&&& & & && &
& && && && && && &&&& & & && & if(!availableSlots.isEmpty())
& && && && && && &&&& & & && & {
& && && && && && &&&& & & & & & & && & for (Integer port : cluster.getUsedPorts(supervisor)) {
& && && && && && && && && && && &&&cluster.freeSlot(new WorkerSlot(supervisor.getId(), port));
& && && && && && && && && && & }
& && && && && && &&&& & & && & }
& && && && && && &&&& & & && & List&WorkerSlot& availableSlots2 = cluster.getAvailableSlots(supervisor);
& && && && && && &&&& & & && &
& && && && && && && && & & && &int Availablenum2 =availableSlots2.size();
& && && && && && && && & & &&&
& && && && && && && && & & && &
& && && && && && && && & & && &System.out.println(&after:HostName:&+suName+& AvailableNum:&+Availablenum2);
& && && && && && && && &
& && && && && && && && &}
& && && && && && &&&
& && && && && && &&&
& && && && && && &&&
& && && && && && &&&
& && && && && && &&&
& && && && && & Map&String, List&ExecutorDetails&& componentToExecutors = cluster.getNeedsSchedulingComponentToExecutors(topology);
& && && && && &
& && && && && & System.out.println(&needs scheduling(component-&executor): & + componentToExecutors);
& && && && && & System.out.println(&needs scheduling(executor-&compoenents): & + cluster.getNeedsSchedulingExecutorToComponents(topology));
& && && && && & SchedulerAssignment currentAssignment = cluster.getAssignmentById(topologies.getByName(&special-topology&).getId());
& && && && && & if (currentAssignment != null) {
& && && && && && && && &System.out.println(&current assignments: & + currentAssignment.getExecutorToSlot());
& && && && && & } else {
& && && && && && && && &System.out.println(&current assignments: {}&);
& && && && && & }
& && && && && &
& && && && &&&
& && && && && &
& && && && && &
& && && && && & if (!componentToExecutors.containsKey(&spout&)) {
& && && && && && && && &System.out.println(&Our special-spout DOES NOT NEED scheduling.&);
& && && && && & } else {
& && && && && && &&&System.out.println(&Our special-spout needs scheduling.&);
& && && && && && &&&List&ExecutorDetails& executors = componentToExecutors.get(&spout&);
& && && && && && &&&
& && && && && && &&&
& && && && && && &&&
& && && && && && &&&
& && && && && && &&&// find out the our &special-supervisor& from the supervisor metadata
& && && && && && &&&Collection&SupervisorDetails& supervisors = cluster.getSupervisors().values();
& && && && && && &&&SupervisorDetails specialSupervisor =
& && && && && && &&&for (SupervisorDetails supervisor : supervisors) {
& && && && && && && && &Map meta = (Map) supervisor.getSchedulerMeta();
& && && && && && && && &if (meta.get(&name&).equals(&special-slave2&)) {
& && && && && && && && && & specialSupervisor =
& && && && && && && && && &
& && && && && && && && &}
& && && && && && &&&}
& && && && && && &&&// found the special supervisor
& && && && && && &&&if (specialSupervisor != null) {
& && && && && && && && && & System.out.println(&Found the special-supervisor&);
& && && && && && && && &List&WorkerSlot& availableSlots = cluster.getAvailableSlots(specialSupervisor);
& && && && && && && && &
& && && && && && && && &// if there is no available slots on this supervisor, free some.
& && && && && && && && &// TODO for simplicity, we free all the used slots on the supervisor.
& && && && && && && && &if (availableSlots.isEmpty() && !executors.isEmpty()) {
& && && && && && && && && & for (Integer port : cluster.getUsedPorts(specialSupervisor)) {
& && && && && && && && && && &&&cluster.freeSlot(new WorkerSlot(specialSupervisor.getId(), port));
& && && && && && && && && & }
& && && && && && && && &}
& && && && && && && && &// re-get the aviableSlots
& && && && && && && && &availableSlots = cluster.getAvailableSlots(specialSupervisor);
& && && && && && && && &// since it is just a demo, to keep things simple, we assign all the
& && && && && && && && &// executors into one slot.
& && && && && && && && &cluster.assign(availableSlots.get(0), topology.getId(), executors);
& && && && && && && && &Myschedule(topologies, cluster);
& && && && && && && && &flag=1;
& && && && && && && && &System.out.println(&We assigned executors:& + executors + & to slot: [& + availableSlots.get(0).getNodeId() + &, & + availableSlots.get(0).getPort() + &]&);
& && && && && && &&&} else {
& && && && && && && && && & System.out.println(&There is no supervisor named special-supervisor!!!&);
& && && && && && &&&}
& && && && && & }
& && && && &}
& && && && &
& && && && &
& && &&&}//end flag==0
else
{
& & & & System.out.println(& only do once :&+flag);
& & & & }
& & }//end special=null
& && &
& && &&&// let system's even scheduler handle the rest scheduling work
& && &&&// you can also use your own other scheduler here, this is what
& && &&&// makes storm's scheduler composable.
& && &&&& & & & System.out.println(&using the default system Schedule!!!&);
& && &&&new EvenScheduler().schedule(topologies, cluster);
& && &&&
& && &
& && &
& & }
& & & & & &
& & }//end class
复制代码
欢迎加入about云群 、 ,云计算爱好者群,关注
主题帖子积分
注册会员, 积分 73, 距离下一级还需 127 积分
注册会员, 积分 73, 距离下一级还需 127 积分
哇 写的真棒!
经常参与各类话题的讨论,发帖内容较有主见
经常帮助其他会员答疑
活跃且尽责职守的版主
为论坛做出突出贡献的会员
站长推荐 /4
云计算hadoop视频大全(新增 yarn、flume|storm、hadoop一套视频
等待验证会员请验证邮箱
新手获取积分方法
技术类问答,解决学习openstack,hadoop生态系统中遇到的问题
Powered by我是个退伍十二年的老兵,我来说说我的感想!
我的图书馆
我是个退伍十二年的老兵,我来说说我的感想!
看了几个帖子,估计每个没当过兵的人,都对部队里打骂新兵感觉匪夷所思,甚至觉得很黑暗。我就来说说我的真实经历吧! 首先,我简单介绍下自己。姓名就不提了,男性,今年32,身高184,汉族,出生于四川宜宾,从小就家境富裕,读书时没认真读过,每日里就等着妹子泡我,属于典型的纨绔子弟。混到18岁了,我那母亲实在绝望了,找了点关系,99年,就把我送上了去成都当武警的火车。 临上火车时,我听我一个才退伍回来的哥们讲,部队里老兵磨新兵钱是常事,我也不愿吃这亏,我就把身上所有值钱的东西留在家里,随身带了100元人民币与牙膏牙刷,还有两包小中华。这是我当两年兵从家里拿走的所有东西。
我的新兵连在成都的都江堰,说起来是个山清水秀的地方,可我下了运兵车,看到兵营时就绝望了,这是什么鸟不拉屎的地方啊!这时新兵班长就把我们这些新兵蛋子领回班里了,第一天还算不错,没有想象中的欺辱,晚饭吃的菜包子,不过,班长对我们说的话又让我绝望了:多吃点,今后三个月你们再也没有这么好的伙食了!果然,新兵的三个月让我把人生中所有的萝卜吃完了,哪怕现在我看见萝卜就有种恶心的感觉。
新兵连怎么说呢!我现在想来,记得最深刻的就是纪律:军人,以服从命令为天职。新兵三个月,每天的训练都是在加深你对这条纪律的认识,上厕所你也得服从班长的指挥,吃饭也得等下了命令才能吃。虽然这些都是新兵连为了让新兵尽快完成从社会青年向战士的转变,但也不是那么容易,特别是我这样的纨绔子弟,当时我是意识不到这些的。我的新兵班长是个重庆人,比我大两岁,耿直,脾气也很好,几天我们就混熟了,三个月里除了训练苦点外,倒也没吃其他亏。
我在新兵连唯一出的任务就是春运时在成都火车北站执勤,印象最深的事,是有天晚上,我们排长带我们五个新兵巡逻时,遇到一个被抢了钱的老太婆,挺惨的,排长问了以后 ,才知道是几个带刀的藏民抢的,而且那几个人就在离这不远的一家旅馆里,让她去指人她也不敢,因为还要在这做生意,我们排长也只比我们大几岁,一听这还得了,脱了肩章帽徽,就去搜查那几个藏民,没想到那几个藏民还挺横,不仅不还钱,还拔刀出来威胁,说:GCD准许我们带刀,你敢怎样!我们排长是从小练武的,一个抓手,就把他握刀的手给扭开,打,命令一下,我们几个新兵提着警棍劈头盖脸就把三个藏民给狠狠收拾了一顿。这事,除了我们当事的几个人以外,没人知道,也是我人生第一堂民族课,有人若想问,警察呢?那个老太婆已经报了三次警了,没人管过。
三个月说长也不长,反正在我记忆里,除了萝卜外,就没什么多深的事了,稀里糊涂我就下连队了,被分到总队警卫中队,到了连队第一天,我给家里打了三个月来第一次电话,算是报平安兼要钱,我妈想给,我那父亲就骂开了,现在想来慈母多败儿也是真事。在这个连队也没什么事,除了训练就是站哨,当然,总队的哨必须得守好,所以一切训练就以军姿为主。班长也是重庆人,对我们也算好,训练时很严格,经常拿碗水让我们顶在头上练军姿,对于我这个多动症少年来说真是说不出的苦。不过,这么清闲的军营生活也只维持了一个月,我就收到了一纸调令,特警队。
说实话,如果现在让我选择,我是不会去特警队的,在总队多好啊,战友之间这么和睦,军营的生活这么清闲,混两年就能回家继续当我的败家子了,我老爹可是答应我回家就给我买辆车,我当时成天就意淫着开车把妹子。我当时给我队长说的时候,他居然说那好啊,那里场地宽,还能踢足球!于是,我又稀里糊涂的上了去“地狱”的车。
我到了“地狱”的第一天,感觉与连队差不多,还有女兵。被班长领回班里整理内务,班长是个十年兵,湖南人,个头很矮小,大概只有1米6左右,队里因为老兵都走的差不多了,我是班里第三个新兵,全班加班长只有四个人。还不错,人少就少点吧,还有女兵能看!吃晚饭时,第一次看见了队长与教导员,怎么说呢,队长是我这一辈子以来,看过的,最有杀气的军人。不过,当时在我看来,这两人满脸横肉,不似善类!
在“地狱”里,新兵是绝对不能和女兵聊天打屁的,这是所有有女兵的部队的潜规则,就是怕新兵犯政治错误。我当时也不知道,我给班长报告要去买洗衣粉,到了楼下,就随口问了下大门哨的女兵在哪能买东西,结果被几个老兵看见了,当时被几个老兵狠了几眼,我也不明白犯了什么错,就没往心里去。晚上,吹了息灯哨了,我暗暗松了口气,第一天总算过去了。没想到,班长这时对我说,你今天干了什么不尊重老兵的事,我一听就傻了,没有啊?隔壁二班有几个老兵找你,你去一下。我只好穿上衣服,走到二班的门口,敲了门进去,进去后,就发现全是老兵,总共5个人,二班班长就问我,你知道我们叫你来是为什么事吗?我说不知道,话还没说完,脸上就像被棍子抽了一样,我一下就没站稳跌倒在地上,我才看到旁边一个老兵收回了腿,这时,班长又问我:士兵回答上级时应该怎样回答?我才醒悟过来,报告,我不知道。二班班长狠了我一眼,在这里,新兵蛋子不准和女兵说话,你不知道吗?
我当时也是昏了头,又没有报告就说不知道,几个老兵一下就火了,让我充分见识了什么是军姿站立后鞭腿上脸,侧踹上胸。说实话,这个夜晚我现在也不愿去回想,因为觉得自己很委屈,我当时只是个连兵是什么都不知道少年。反正人生第一次被打而不能还手的事情就这样发生了,持续了一个小时。等我回到班里时,班长只说了声睡觉,我也只能盖上被子,抹去眼角边的泪。等我还没睡着,哨声又响了,紧急集合,我新兵连里学打背包还算扎实,手忙脚乱的打好后就往楼下冲,队长在楼下看表,我比班长就慢了几秒,同班的两个新兵战友,有一个跟着我后面,另一个就惨了,全队男兵最后一个到。我记的当时队长摇了下头,就发出了命令,男兵,全体都有,卧倒!女兵,解散!男兵,低姿匍匐,前进!整整四个小时才算完,为什么我知道是四个小时,因为我回到班里,哨兵就叫我接哨了,两个小时的哨等着我。我到“地狱”的第一天,就是无眠的一夜!
当我头昏脑胀的下哨后回到班里时,发现新兵们都起来整理内务了,老兵班长们则继续在睡觉,我就知道今天是别想睡了,打开背包,我也开始整理内务,班里没人敢说话,这种压抑的感觉是我在新兵连与警卫队里都没感受到的。等我们整理好内务后,集合哨就响了,出早操。带领我们早操的是区队长,一个从军事体育学院刚毕业的,主要是负责我们的体能训练。特警队的早操也是那么特别,5公里,当时我是一边跑步一边后悔,老连队一个月都跑不了一个5公里。不过还是有效果的,至少我这趟跑下来,瞌睡就没了。早操完后,紧急着就吃早饭了,早饭比连队要丰盛,除了稀饭馒头,还有豆浆油条,也算不错,我只能这样安慰自己。
这样说吧,我写这些,是想说明我是怎么从一个败家子转变为一个战士的,没有想去教育谁,也没收一分钱的稿费在这发帖,话说我一天的费用就比很多网站的收入高,我还看不上什么稿费呢!只是希望大家能从我的经历中,明白什么是军人,什么是部队。
早饭我吃的很快,不吃快点不行啊,我还想吃完后回到班里能补下瞌睡呢!回到班里,我就像烂泥一样往地上一趟(因为怕整乱内务,所以不到晚上熄灯,新兵一般都是睡地上的),眼皮就开始打架了。这时,集合哨又响了,训练,我心里是千万个草泥马奔腾,再不情愿也得爬起来,用最快的速度冲下楼集合。
训练开始前,区队长先带领我们热身,热身科目:5公里。跑完下来,压韧带,松散筋骨,我们几个新兵是受到特殊照顾的,区队长让两个老兵帮助一个新兵压韧带,我因为长的高,帮助我的老兵也是两个和我差不多高的,其中一个老兵牵着我的双手让我分开双腿向下压,另一个老兵则双手撑着我的肩膀向下用力压,当然,我这老韧带肯定是不达标的,用力,再用力,看到几个新兵实在不行,老兵们干脆坐在新兵的肩膀上,这一下,可把我们给疼得,那种撕裂感与疼入心扉是难以以笔墨形容的,我咬牙坚持着与肩膀上的力量抗衡,可是也越来越无力,总算,区队长下令集合了,但我知道自己的韧带肯定撕裂了。
接下来,就是今天训练的正式科目,战术训练。训练场地里遍布鹅卵石与煤渣,还有很多碎玻璃。我不知道其他人有没有过这种经历,当我的手掌与左侧身体快速的接触地面时,那种刺痛感与大腿韧带撕裂所带来的疼痛感纠结在一起,对于大脑神经的刺激是难以形容的。当我趴在地上时,我终于忍住了疼痛,还看了和我一起趴在地上的其他新兵们,大家的表情都差不多,我也不算丢脸,这是我当时真实的想法。接着,区队长给我们讲解了高姿匍匐的动作要领,再下来就是反复的在地上爬,用后来区队长对我说的就是:动作要领的掌握不是讲出来的,是爬出来的。反正我的左手肘在与地面的来回摩擦中也是像碎了般疼痛。一上午,我们几个新兵就是在地面上度过的,老兵们在一旁练习散打,我当时非常羡慕他们,感觉他们很轻松,而我在地狱里磨练。
上午收操后,很快就吃过午饭,我回到班里就往地上趟去,我那同班的两个新战友也回来了,大家都不想说话,只想抓紧每一秒休息。这时,万恶的二班老兵又来了,叫走了昨晚紧急集合最后到的那位,我们都知道接下来会发生什么,但谁也没办法,好汉子一人作事一人当吧!谁叫他拖累了全体男兵爬了一晚的战术呢!我和另外一个新兵赶紧躺下睡觉,睡觉才是我们现在最应该做的生物反应,中午休息时间可只有两个小时啊!(忘了说明一下,我同班的两个新战友,一个是乐山人,一个是辽宁沈阳人,被叫走的是辽宁那位老兄)我们也不知道辽宁老兄什么时候回来的,反正大家心里都清楚这是必须接受的过程,除非你想当逃兵,或者调离这儿。不过我和乐山老兄还是充分发挥了同为沦落人的心态,在醒来后都慰问了一下:没事吧?至少比昨晚我的待遇要好点不是。
其实有事没事都是多余的,因为在这里,除非你动不了,不然都得做的一件事就是训练。这里没有病假这个说法,因为我去试过,我让卫生员给我看了大腿韧带,红肿一大片,他居然只回了我一句话:过几天就好了,不是大事。没有事,当然得训练,于是下午的训练就开始了。下午照例是5公里热身,热身完了照例是压腿放松筋骨,我拖着伤腿做完了这一切,大冷天里汗水居然把衣服湿透了,我也不觉得冷,只有一个感觉:麻木。大脑像炸开一样,没有任何思想,只知道根据命令完成动作,还好下午还是战术训练,我只需要关闭自己的思绪,漠视自己身体的疼感,就能跟上训练内容。后来我才知道,我这才是一名士兵应该进入的状态,几个月来,我第一次进入了角色。
这种麻木感在下午训练完吃完晚饭后才消退,回到班里,班长又下令整理内务,自己就去找老兵聊天去了。就剩我们几个新兵默默的在各自床边摆弄着军被,大家谁也没说话,可能都是在心里体会着这一天来的经历吧,至少我是这样的,后悔与沮丧并行,这种日子什么时候是个头?才一天,我全身就没有一处是不疼的,而且相比起肉体上的疼痛,心里的那种压抑感才是让人精神崩溃的。我感受不到任何传说中的战友亲如兄弟情,感受不到任何电影上看到军人豪情,甚至连军人的那种整洁的衣着都没有,因为我身上的迷彩服已经烂了几个洞,而我连洗一下的兴趣都没有,最想的事就是睡觉,至少我还能在梦里梦到家里的美好生活。
没过多久,又是那刺耳的哨声响起,我们几个匆匆忙忙的摆好军被就往楼下冲,幸好我们比老兵们当的早。区队长集合后,女兵又是解散,男兵进行体能训练。说白了,所谓的男兵,就是我们几个新兵,一帮老兵做了一组俯卧撑后就在一边数数了,我们几个新兵继续,什么仰卧起坐,蛙跳,最难受的就是单杠,如果你拉不上了,你也不能下杠,得吊在杠上,没有命令下杠的话,惩罚就是水泥地上前倒10个,然后继续吊在杠上。我的双手试图抓紧单杠,但身体的重量也在把我往下拉,而手臂上的酸痛感又让我没有任何力量把自己拉上去,下杠就是必然的事了,前倒就是你在军姿站立后,身体直直的往地上倒去,在快触地的时候,用你的手掌与手肘把你自己撑起来,让你不至于下巴着地。这是每个当兵的人都必须会的基本动作,当然,在水泥地上的疼感最强烈。这十个前倒完成后,我的麻木感也适时到来,再次上杠后,我就再也没下杠过了。
等我的麻木感消退时,晚上的体能训练也结束了,麻木的回到班里,洗了一下手和脸后,熄灯哨就响了,我才想起今天的第一班夜哨是我,赶紧换上哨兵服,又急匆匆的赶去接哨了,上一班哨兵是个老兵,等的已经有些不耐烦了,嘴里骂骂咧咧的问我怎么来晚了,其实我当时还早到了5分钟,但又不想辩解,只说才训练完又要换哨兵服,等老兵走了后,楼里的灯已经全数关掉了。黑暗,孤独,疼痛,疲劳等等,一起向我涌来,前方不远处,还能看见小镇的灯火,空气中也有火锅的香气,但这一切与我无关,陪伴我的只有手中的81杠。
等我看见女兵哨换哨后,我才反应过来该换哨了,接我哨的是二班的一个老兵,当时没有喊哨的对讲机,我又不敢私自下哨去叫,只能默默的等待,又是两个小时过去,我都快站着睡着时,同班的乐山老兄才来接哨,他是醒来看我还没回去,才知道我站了两班哨,赶紧过来接哨,还是同年兵好啊,知道大家的难处。换过哨后,我心里终于轻松点了,终于又能回到梦乡了。
接下来的几天,基本没有什么大的变化。每天白天我们几个新兵就是在地面上度过,晚上就在单杠上吊着,夜哨基本就是我们几个新兵站,每天老兵们还要找茬教训我们什么叫军令如山,幸好还有星期六星期天给我们回魂,不过也只是肉体的休息,精神上的压抑无时无刻不在。我现在回想来,在那种情况下,我精神没有崩溃算比较坚强的了,因为我认为这还是人过的日子,而辽宁老兄当时认为这不是人过的日子,他一个月后就托关系调走了,这是后话。
接下来的一个月,日子还是那种日子,除了训练内容不一样外。陆陆续续的,从其他基层支队调来的新兵也到了,我班里来的有成都人,陕西人,山东人,河南人,真正的来自五湖四海,也终于是个战斗班的编制了。班里的山东兵与河南兵,都是从小在武校练武的,在这种环境下,难免有盛气凌人的感觉,结果就是来的第一天就被几个老兵收拾的服服帖帖。
其实部队里有很多方法收拾自认为自己很牛逼的新兵蛋子,例如一个很简单的制式蹲下,半小时就能让所有自觉英雄无敌的人露出软蛋样。而当你不认为自己是英雄无敌时,你就得乖乖遵守纪律,服从命令。有来的就有走的,最先受不了这份苦的就是辽宁老兄,在他走的当天早上,我们几个新兵才知道这个消息,大家心里其实都不是太高兴,因为他从没给我们几个同年的战友提过。不高兴归不高兴,我们几个新兵其实还是很羡慕他的,终于不用受这份罪了。
留下来的人还是得继续,其实这一个月来我已经渐渐习惯了这种训练强度,只是我每天心里还是想着多点时间睡觉,而没有留意到自己的变化。人多了,训练的内容就多了,散打,攀登,夜间射击,战术动作也增加了很多,这些都是在基层支队接触不到的,新的训练科目显然分散了我们这些新兵的注意力,至少大家叫苦的声音明显减少了。等我当老兵后才知道这是从新兵向一个合格的士兵转变的过程。
特警队的训练一切与基层支队不同,例如散打,基层支队一般不会训练,而我们那个让每个人看了都怕的队长,更是个疯子,按他的要求,散打嘛,重点就在于打字,每个新兵训练散打时不见血不准停。于是我们这些新兵轻的鼻血是天天流,惨点的就像我,满脸浮肿。当时,我经常后悔自己在家时怎么就没想过去练练武术什么的,至少能少挨点打。
血见多了,藏在男人基因里的那种动物性就出现了,至少我是这样认为的,因为那时我们几个新兵间,就经常为了点小事而打起来,当然这些都是当事人之间选个隐蔽的地方解决的,不敢让老兵班长们知道。我与同班的山东老兄就是这样,我两个子差不多,军事素质在新兵里也是差不多的,大家心里多多少少有点想压对方一头的想法,就经常约在储藏室单挑,打完后大家还是谁也不服谁。现在想来,这大概就是男人间的友谊,不打不相识嘛!
当兵的日子也不只有打打杀杀,也有很多欢乐,关键是你得拥有这种苦中作乐的心态,例如,我们的区队长为了提高我们训练的热情,训练前的热身就从枯燥的5公里变成了踢足球,当然,特警队的足球也是那么与众不同,你一定没见过一群头戴钢盔,腿上与身上绑着沙袋,手里拿着81杠的足球运动员。
而我们的队长为了改善我们的伙食,决定养几头大肥猪,那么盖猪圈的任务就落在我们新兵的头上,区队长适时发现了劳动中也有体能训练的含义,夯实地基是盖猪圈的第一步,所以让我们几个新兵一人抱一块酒箱大小的石头,把一大块坑坑洼洼的烂地夯平。
养猪的任务是我的班长的,其实我一直不知道我这个班长可以适应这么多角色,水管修理工,电线修理工,汽车修理工,房屋建筑工,枪械维修人员,新兵蛋子修理员,现在居然还能养猪!我现在才知道什么叫老兵!老兵就是一支部队最宝贵的财富。
老兵们虽然平时训练都是作样子,很是让我们这些流血又流汗的新兵羡慕,但是,老兵们在需要时所表现出来的军事素质又是我们拍马也赶不上的。例如,400米军事障碍老兵们能跑一趟下来不至于虚脱,还能再跑一趟,速度还不慢,而我们新兵跑一趟下来基本都是烂泥一滩。老兵们能在各种反劫持演习中根据情况作出各种高难度的战术动作与高度协调的战术素质,而我们新兵在这些演习中基本是两眼发呆,甚至在队长丢出手榴弹的前一秒都不知道应该往哪躲。
其实你是不是士兵除了客观因素外,最主要的就是主观因素,简单点说就是你自己是不是把自己当士兵看待。这个道理没法言传,只能在各种艰难中自我认定。例如我就是在被手榴弹的弹片挂伤小腿时,我看着自己流血不止的小腿,心里的害怕与肉体的疼痛让当时的我心跳加剧,面色肯定也是惨白的,队长只是走过来,对着我说了一句我这辈子也忘不了的话:你TM也算特警?我当时真的是五味杂陈,疼痛,悔恨,怨恨,伤自尊,所有的感觉就在这一瞬间化为:军人的荣耀。是的,只要你还是一个有着血性的男人,你都不可能忍受这种侮辱,为了摆脱这种侮辱,你会忍受各种苦难,用各种苦难来证明自己是一个男人,是一名合格的战士。
合格的战士与优秀的战士相差的还是很远,当你认为自己是一个战士时,只是开始,只有在经过艰苦的训练后,才能成为优秀的战士。接下来的训练中,我终于把训练当成了享受,而不是苦差事。例如在一片烂池塘里进行武装泅渡时,我不会去抱怨背上的弹药袋太重了,而是去嘲笑北方兵因不会水而表现出来的狼狈,以此来激励大家的士气,顺便还能让大家一起欣赏头顶荷叶上跳水的青蛙那矫健的身姿。野外生存训练时不会去抱怨身上已经结盐的迷彩服,而会因为抓住一条菜花蛇而高兴的在地上打滚,顺便大骂狗日的工业污染,连只鸟都看不到。
士兵的自信来源于艰苦,荣耀也来源于艰苦,当自信与荣耀在新兵身上越来越浓厚时,老兵们也会把新兵越来越当成自己人的,当然,尊重上级是部队的根本。队里也经常会出任务,不过基本是由老兵担任,任务内容也是保密的,我们这些新兵只有羡慕的份。其实私下听老兵们聊天,他们也不愿出任务,因为再过几个月,他们就会退伍了,谁不想安安全全的回家呢?但是,这就是战士的责任,老兵就是在任务中体现自己的价值的。
老兵们盼望退伍,与其说是想家,不如说也是盼望结束这种压抑的生活。的确,当你可以把所有武器闭着眼睛拆下装上,当你连被打时的疼痛都可以无视时,你会产生一种无趣的感觉,士兵也是人,也需要外在的刺激来提醒自己是一个有血有肉的人。那时,老兵们开始喝酒,基本是一口一瓶二锅头,一气得喝下3瓶才能解渴,我知道,只有酒精才能让他们睡着,暂时忘记自己还是一个战士的事实。我们新兵不能喝酒,我们现在还具备老兵们的军事素质,无法有效承担一个战士的责任,得时刻牢记自己是一个战士,至于家,对于新兵来说太遥远了。
新兵对于武器的熟练度,用队长的话来说就是半残废,得靠不断的训练,把武器训练成自己身体的一部分才算健康。这话说起来轻松,作起来就是难上加难了,我就是在一次背着火焰喷射器作战术动作时,把自己的脸给烧着了,虽然幸运的是没毁容,但也是轻度烧伤了,当时我并不沮丧,反倒有点高兴,因为我终于可以病休了。
病休期间我给家里打了当兵以来的第二次电话,说了下情况以后,我母亲就心疼的要来看我了,我没有同意,其他的新兵也没让父母来看望,我凭什么特殊,其实我没有说出来的是,我已经不是母亲的宝贝儿子了,我当时特别鄙视自己当兵前的十几年废物生涯。其实,我母亲到现在都一直在问我,为什么我现在一点与以前不同了,那个开朗活泼,说话讨人喜欢的儿子怎么不见了,现在这个沉默寡言,举止粗鲁的儿子一点都不讨她喜欢了。每当这时,我就不说话,满脑子的部队生活,让人怀念。
悠闲的生活太长了并不是什么好事,但也会让人有充足的热情。病休了几天,我就耐不住寂寞了,听着战友们训练的声音,是对伤病最好的特效药。为了不让我跟不上训练,我晚上也跟着做体能训练,我觉得这对于我的伤病肯定有好处,因为我半个多月就好了,只是还要敷药,但并不妨碍训练。
说实话,我想了很久要不要写下去,因为再写下去就会牵扯很多不能说的,但略过这些不能说的,那么我所写出来的就会承碎片化,我很纠结。不过还是要谢谢大家对我的支持!
像我们这种部队,不光军事得过硬,政治也得过硬,因为经常有中央和总部首长来视察。我是最烦这种事的,因为他们一来,我们就得打扫一天的卫生,队长戴着白手套摸地而不变色才算过关,这都不算完,还得学习政治文件,例如三个代表八荣八耻一类的,得倒背入流,最后首长也就和我们这些当兵的合张影就完了,可怜我的脑细胞!
其实一支部队,能得到首长的重视,说明了这支部队的战斗力,那么有什么任务也就落在这支部队身上,军人嘛,没有军功怎么算军人呢?我队长肩膀上的二杠三可是实打实的用功劳换来的。通过这次视察,队长给我们这些新兵捞了个给首长当警卫的活,当时我们这些新兵可高兴坏了,因为这个首长可大了,常委啊!其实主要是高兴可以出去外面透气了。
略过任务不表,等我们回到部队的时候,离老兵们退伍的时间也不到一个月了。只有在执行过任务后,我们这些新兵才知道自己与老兵的差距,才会明白为什么自己当新兵会被老兵打,也才会明白什么叫战友情!那时,我们每天就主动请班长老兵们指导我们训练,因为等老兵们走了,我们也就是老兵了,不能和新兵们一样,军队里靠的是实力,没人愿意被新兵看不起吧!至少拆卸枪支也得闭着眼完成才能不被新兵看不起。
馆藏&24456
TA的推荐TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢}

我要回帖

更多关于 自定义小兵在都市 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信