fortran编程改进

这段代码展示了一个战斗模拟器的片段,其中包含了角色的健康值、行动点、经验值和减伤效果。程序使用随机数生成事件,如受伤和治疗,以及处理角色受伤后的不同选择。玩家可以选择坚持战斗、呼叫卫生员或简单包扎。此外,代码还涉及了急救用品的管理和使用策略。
摘要由CSDN通过智能技术生成

加入了经验值和减伤效果

准备增加功能描述和第二关关底战

program random_ex
implicit none
integer::hp=100
integer::xz
integer::round
integer::round2
integer::zxd=3
integer::sx=0
integer::xl=100
integer::move=0
integer::act=1
integer::exp=1
integer::aidkit=2
integer::trangle=2
integer::bandage=2
integer::jijiu
integer::e
integer::hujiu
integer::jiuren=0
integer::ss=0
integer::gjxz
integer::zd=0
integer::xunlian
integer::xlxz
real::o=0
real::p=0
real::q=0
real::randNum
real::lbound,ubound
real::my_random
call random_seed()
900 do round=1,10,1


print*,'你坚定的冲在最前方,为战友们开辟着道路'

randNum=my_random(0.0,200.0+o)

if(0.0<randNum.and.randNum<=1.0) then
print 100
hp=(hp-50+q)
act=(act+1)
exp=(exp+1)
ss=(ss+1)
 if(ss>10) then
  goto 3001
 end if
print*,'剩余耐力值:',hp
exit

else if(1.0<randNum.and.randNum<=5.0) then
print 200
hp=(hp-40+q)
act=(act+1)
exp=(exp+1)
ss=(ss+1)
if(ss>10) then
  goto 3001
 end if
print*,'剩余耐力值:',hp
 if(bandage>=1.or.trangle>=1)then
   goto 903
   end if
exit

else if(5.0<randNum.and.randNum<=9.0) then
print 300
hp=(hp-45+q)
act=(act+1)
exp=(exp+1)
ss=(ss+1)
if(ss>10) then
  goto 3001
 end if
print*,'剩余耐力值:',hp
   if(bandage>=1.or.trangle>=1)then
   goto 902
   end if
exit

else if(9.0<randNum.and.randNum<=12.0) then
print 400
hp=(hp-30+q)
act=(act+1)
exp=(exp+1)
ss=(ss+1)
if(ss>10) then
  goto 3001
 end if
print*,'剩余耐力值:',hp
exit

else if(12.0<randNum.and.randNum<=15.0) then
print 500
hp=(hp-25+q)
act=(act+1)
exp=(exp+1)
ss=(ss+1)
if(ss>10) then
  goto 3001
 end if
print*,'剩余耐力值:',hp
exit

else if(15.0<randNum.and.randNum<=150.0) then
print 600
act=(act+1)
exp=(exp+1)


else if(150.0<randNum.and.randNum<=180.0+o/2) then
print 700
act=(act+1)
exp=(exp+1)
e=(e+1)


else if(180.0+o/2<randNum.and.randNum<=200.0+o/2) then
print 710
act=(act+1)
exp=(exp+1)
   if(bandage>=1.or.trangle>=1) then 
   goto 711
   
   else if(bandage+trangle<=0) then
   print*,'你身上的急救用品已经用完了,你爱莫能助'
   print*,'只能尽量安顿好伤员,掩护卫生员将受伤的战友送至后方包扎'
   
end if
end if

100 format(1x,'一发弹片击中了你的头部,你猛地摔倒在地')
200 format(1x,'一颗子弹击中了你的胸部,你只觉得嘴里传来一股苦涩的味道,呼吸也变得极度困难起来')
300 format(1x,'你的腹部中弹数发,子弹的冲力让腹腔内的脏器都将将流出,你猛地后退几步,倒在了堑壕里')
400 format(1x,'你猛地一震,腿部中弹了,子弹齐着大腿根射入,碗大的创口几乎将整条腿截断。')
500 format(1x,'子弹打中了你的胳膊,你头昏脑胀,艰难的举枪还击')
600 format(1x,'子弹擦过你的身侧,没有打中你,你喘了口气,继续和同志们一起发起冲锋')
700 format(1x,'你举枪瞄准,帮助战友排除了一个威胁')
710 format(1x,'你的余光看到一位战友在你的身边中弹了')
if(act>=90) then
goto 999
elseif(act>80.and.zd>0)then
goto 9000
end if
end do

if (0<hp.and.hp<20) then
print*,'你失血过多,昏厥过去,最后的意识里只记得周围同志关切焦急的神情,'
print*,'不知过了多久,你被战友晃醒'
hp=(hp-10)
goto 901

else if(hp<=0) then
print *,'你的伤实在是太重了,中弹数发,严重失血的你一头栽倒在地,再也没能站起来'
 print*,'在这场重要的战斗中,你英勇作战,毙敌',e,'名,','负伤',ss,'次'
           print*,'不顾安危,抢救战友',jiuren,'名,英勇无畏,追记一等功'
goto 0721
end if
901 call random_seed()
   
    print*,'你躲在掩体后方检查自己伤势如何,很多战士在战场上太过紧张,'
    print*,'无法及时发现伤情,你是知道的' 
    if(ss>=2) then
    print*,'到了这个时候,你已经',ss,'处中弹,每一处创口都在渗血,身负重伤的你'
    end if
    print*,'剩余耐力值:',hp
    print*,'咬紧牙关,1:坚持战斗!,2:呼叫卫生员,3:简单包扎一下'

read*,xz
   if (xz<=1.5) then
   goto 900
   else if(xz>1.5.and.xz<=2.4) then
   
   randNum=my_random(0.0,100.0)
      if(randNum>=0.and.randNum<=75.0) then
      print*,'卫生员冒着弹雨赶来,悉心地为你用绷带包扎伤口,'
       print*,'强忍剧痛的你还是忍不住嘶哑的呻吟出声'
        print*,'卫生员替你解开领口,让你喘气更顺畅一些'
         print*,'血渐渐的止住了,卫生员也欣慰的叹了口气'
         act=(act+1)
      hp=(hp+20+p)
      print*,hp
         if(0.0<hp.and.hp<=25.0) then
         print*,'卫生员焦急的对你说:“你受的伤太重了!必须撤下去!”'
         print*,'卫生员将你背到了包扎站,安顿好你之后又返回了岗位上。'
         goto 120
         end if
       print*,'卫生员关切地想将你背到后方,你。。。'
       goto 901
         else if(randNum>75.0.and.randNum<=100.0) then
         print*,'一颗子弹射来,卫生员不幸中弹,你只能忍住伤痛,开火掩护'
         print*,'但卫生员看到身负重伤还强忍剧痛掩护自己的你,不禁红了眼眶'
         print*,'咬紧牙关,左手抓住草棵,右手按住药箱,艰难的继续向你匍匐前进'
         print*,'冒着二次负伤的风险,卫生员终于艰难的为你包扎好了伤口'
         hp=(hp+30+p)
         print*,'剩余耐力值:',hp
         act=(act+1)
         goto 910
         end if
     else if(xz>2.5) then
    print*,'你掏出随身携带的毛巾,胡乱给自己包扎了一下,'
    print*,'你咬咬牙:“还能,坚持一下。。。”'
    hp=(hp+5+p)
    act=(act+1)
    print*,'剩余耐力值:',hp
    aidkit=(aidkit-1)
        if(aidkit<0)then
        print*,'你一手按住伤口,一边想找出急救药品。。。。'
        print*,'却发现手头没有能够止血的东西,血,没能止住。。。。'
        hp=(hp-10)
        print*,'剩余耐力值:',hp
       
           if(hp<=0) then
           print*,'正在摁住伤口的手突然没了力气,你的伤实在是太重了,'
           print*,'中弹数发,严重失血的你一头栽倒在地,再也没能站起来'
            print*,'在这场重要的战斗中,你英勇作战,毙敌',e,'名,','负伤',ss,'次'
           print*,'不顾安危,抢救战友',jiuren,'名,英勇无畏,追记一等功'
           goto 0721
           end if 
         goto 901
    end if
    goto 901
    end if
910 randNum=my_random(0.0,100.0)
    print*,randNum
    if(randNum>=0.0.and.randNum<45.0) then
    print*,'你从剧烈的疼痛中清醒过来,强忍着不适微微睁开眼睛'
    print*,'却发现正在给你包扎伤口的卫生员腹部中弹'
    print*,'伤口正“呼呼”地冒着鲜血,染红了军衣'
    print*,'你艰难的开口,说:'
    print*,'你受伤了,快包扎一下...'
     if(bandage>=1.or.trangle>=1) then 
     goto 921
     else if(bandage+trangle<=0) then
     print*,'你不顾卫生员的劝阻,费力地伸手去够自己的药包'
     print*,'却发现因为抢救其他战友,急救品已经用完了'
     print*,'卫生员忍着疼,虚弱的笑了笑'
     print*,'“我可是卫生员,会有办法的,我自己处理就好”'
     print*,'说罢,又捂着下腹部,机警地观望着前线的情况'
     print*,'而后,艰难的爬出弹坑,继续抢救伤员去了'
     print*,'你的眼眶不禁湿润了'
     print*,'虚弱的他只来得及在你坚持返回战斗之前'
     print*,'看到你的药品已经用完,递给你自己药箱里的急救用品'
     print*,'目送着你回到战斗的第一线'
     trangle=(trangle+2)
     bandage=(bandage+2)
     print*,'剩余耐力值:',hp
     goto 901
     end if
    elseif(randNum>=45.0.and.randNum<90.0)then
    print*,'你从剧烈的疼痛中清醒过来,强忍着不适微微睁开眼睛'
    print*,'却发现正在给你包扎伤口的卫生员左胸口中弹'
    print*,'伤口正“呼呼”地冒着鲜血和气泡,染红了军衣'
    print*,'你艰难的开口,说:'
    print*,'你受伤了,快包扎一下...'
     if(bandage>=1.or.trangle>=1) then 
     goto 921
     else if(bandage+trangle<=0) then
     print*,'你不顾卫生员的劝阻,费力地伸手去够自己的药包'
     print*,'却发现因为抢救其他战友,急救品已经用完了'
     print*,'卫生员忍着疼,虚弱的笑了笑'
     print*,'“我可是卫生员,会有办法的,我自己处理就好”'
     print*,'说罢,又捂着胸口,机警地观望着前线的情况'
     print*,'而后,艰难的爬出弹坑,继续抢救伤员去了'
     print*,'你的眼眶不禁湿润了'
     print*,'虚弱的他只来得及在你坚持返回战斗之前'
     print*,'看到你的药品已经用完,递给你自己药箱里的急救用品'
     print*,'目送着你回到战斗的第一线'
     trangle=(trangle+2)
     bandage=(bandage+2)
     print*,'剩余耐力值:',hp
     goto 901
     end if
    elseif(randNum>=90.0.and.randNum<=100.0)then
    print*,'你刚想给身负重伤还坚持抢救的卫生员包扎'
    print*,'却发现卫生员的伤口严重到难以着手'
    print*,'鲜血从腹部的创口不断涌出,已经在身后拖染出了殷红的一片!'
    print*,'卫生员艰难的推开你想给他包扎的手'
    print*,'虚弱的开口说:'
    print*,'“好同志,我的肠子都被打出来啦...'
    print*,'一动就...疼...这个,给你,去...帮其他同志...”'
    print*,'说罢,解下急救箱塞到你怀里,就再也没能睁开眼睛'
    bandage=(bandage+4)
    trangle=(trangle+4)
    goto 901
    end if
921 print*,'你翻找着自己的急救包,想要找出能够包扎的用品'
    print*,'你不禁庆幸在战斗前大家 都准备了一些急救药品,你看着急救包里的物品,有:'
    print*,bandage,'卷绷带',trangle,'块三角巾'
    print*,'你掏出,1:三角巾。2:绷带。为战友包扎伤口3:掩护他撤退'
    read*,jijiu
    if(jijiu>0.5.and.jijiu<1.5) then
     if(trangle>=1) then
     print*,'你不顾劝阻,掏出三角巾为医务员包扎'
     print*,'你先给伤口按压止血,之后又将三角巾绕过躯干'
     print*,'紧紧的包扎妥当,系好绷带结'
     print*,'过程中,因为包扎动作幅度不小,自己身上的伤口一直在疼'
     print*,'渗出的血更是浸湿了伤口周围的军衣和纱布'
     print*,'但你想到此时受伤战友的伤情,还有卫生员身负重伤'
     print*,'还坚持给你包扎的毅力,你咬牙挺住了'
     print*,'你认真的系好了伤员身后的结,不禁松了一口气'
     trangle=(trangle-1)
     print*,'你让卫生员呆在掩蔽处休息,自己观察着战斗的情况'
     print*,'你发现远处也有几个处在危险中的同志,就想接过卫生员的急救箱'
     print*,'卫生员看着你忍住创痛,还要坚持战斗,眼角微微发红'
     print*,'但还是递给你了几卷绷带和三角巾,之后便也匍匐上前'
     bandage=(bandage+3)
     trangle=(trangle+3)
     goto 901
     elseif(trangle<1)then
     print*,'随身准备的急救用品已经用完了,你只能继续按压伤口'
     print*,'你按住负伤战友的伤口,正在焦急之间,卫生员艰难的伸出手来'
     print*,'递给你了一卷新的纱布,'
     print*,'但你却没有给自己包扎,而是缠好了卫生员的伤口'
     print*,'卫生员的血止住了,你为了避免他二次负伤'
     print*,'就要将他背到掩蔽处,卫生员连忙开口'
     print*,'“那...那怎么行...我是卫生员,哪有让伤员照顾的道理!”'
     print*,'但也许是之前的耽搁,他已经失血过多,虚弱的没有一丝力气'
     print*,'你把他背在背上,然后一步一步爬回堑壕。'
     print*,'伤处紧贴着地面,再加上卫生员的体重,'
     print*,'你的伤口疼痛难忍,血向外流得更多更快'
     print*,'但你咬牙挺住,呻吟着匍匐进了掩蔽'
     print*,'卫生员感激的看着你,但虚弱的他只来得及在你坚持返回战斗之前'
     print*,'看到你的药品已经用完,递给你自己药箱里的急救用品'
     print*,'目送着你回到战斗的第一线'
     trangle=(trangle+2)
     goto 901
     end if
    elseif(jijiu>1.5.and.jijiu<2.5) then
     if(bandage>=1)then
     print*,'你不顾劝阻,掏出绷带为医务员包扎'
     print*,'你先给伤口按压止血,之后又将绷带绕过躯干'
     print*,'紧紧的包扎妥当,系好绷带结'
     print*,'过程中,因为包扎动作幅度不小,自己身上的伤口一直在疼'
     print*,'渗出的血更是浸湿了伤口周围的军衣和纱布'
     print*,'但你想到此时受伤战友的伤情,还有卫生员身负重伤'
     print*,'还坚持给你包扎的毅力,你咬牙挺住了'
     print*,'你认真的系好了伤员身后的结,不禁松了一口气'
     bandage=(bandage-1)
     print*,'你让卫生员呆在掩蔽处休息,自己观察着战斗的情况'
     print*,'你发现远处也有几个处在危险中的同志,就想接过卫生员的急救箱'
     print*,'卫生员看着你忍住创痛,还要坚持战斗,眼角微微发红'
     print*,'但还是递给你了几卷绷带和三角巾,之后便也匍匐上前'
     goto 901
     elseif(bandage<1)then
     print*,'随身准备的急救用品已经用完了,你只能继续按压伤口'
     print*,'你按住负伤战友的伤口,正在焦急之间,卫生员艰难的伸出手来'
     print*,'递给你了一卷新的纱布,'
     print*,'但你却没有给自己包扎,而是缠好了卫生员的伤口'
     print*,'卫生员的血止住了,你为了避免他二次负伤'
     print*,'就要将他背到掩蔽处,卫生员连忙开口'
     print*,'“那...那怎么行...我是卫生员,哪有让伤员照顾的道理!”'
     print*,'但也许是之前的耽搁,他已经失血过多,虚弱的没有一丝力气'
     print*,'你把他背在背上,然后一步一步爬回堑壕。'
     print*,'伤处紧贴着地面,再加上卫生员的体重,'
     print*,'你的伤口疼痛难忍,血向外流得更多更快'
     print*,'但你咬牙挺住,呻吟着匍匐进了掩蔽'
     print*,'卫生员感激的看着你,但虚弱的他只来得及在你坚持返回战斗之前'
     print*,'看到你的药品已经用完,递给你自己药箱里的急救用品'
     print*,'目送着你回到战斗的第一线'
     bandage=(bandage+2)
     goto 901
     endif
    elseif(jijiu>2.5.and.jijiu<3.5) then
     print*,'你和卫生员身边的药品都不多了,'
     print*,'你为了避免他二次负伤'
     print*,'就要将他背到掩蔽处,卫生员连忙开口'
     print*,'“那...那怎么行...我是卫生员,哪有让伤员照顾的道理!”'
     print*,'但也许是之前的耽搁,他已经失血过多,虚弱的没有一丝力气'
     print*,'你把他背在背上,然后一步一步爬回堑壕。'
     print*,'伤处紧贴着地面,再加上卫生员的体重,'
     print*,'你的伤口疼痛难忍,血向外流得更多更快'
     print*,'但你咬牙挺住,呻吟着匍匐进了掩蔽'
     print*,'卫生员感激的看着你,但虚弱的他只来得及在你坚持返回战斗之前'
     print*,'看到你的药品已经用完,递给你自己药箱里的急救用品'
     print*,'目送着你回到战斗的第一线'
     bandage=(bandage+2)
     goto 901
    end if

0721 hp=100
     trangle=2
     bandage=2
     jiuren=0
     e=0
     exp=0
     aidkit=2
     act=0
     ss=0
     print*,'                   按任意键重新开始'
     pause
     goto 900
120 print*,'躺在包扎站的担架上,你强忍着剧烈的痛楚,尽量不呻吟出声,影响到其他受伤的战友。'
    print*,'从痛楚中恢复过来,你强忍着不适,坚持返回战场作战'
    hp=80
    goto 900
902 print*,'剧痛中,你不禁庆幸在战斗前大家 都准备了一些急救药品,你看着急救包里的物品,有:'
    print*,bandage,'卷绷带',trangle,'块三角巾'
    print*,'你掏出,1:三角巾。2:绷带。为自己包扎伤口3:暂时不包扎'
    read*,jijiu
       if(hp<=0) then
       print *,'你的伤实在是太重,连动手给自己包扎的力气都逐渐失去。。。'
       print *,'中弹数发,严重失血的你一头栽倒在地,再也没能站起来。。。'
       print*,'在这场重要的战斗中,你英勇作战,毙敌',e,'名,','负伤',ss,'次'
           print*,'不顾安危,抢救战友',jiuren,'名,英勇无畏,追记一等功'
       goto 0721
        end if
       if(jijiu<1.5)then
         if(trangle<1) then
         print*,'战斗中的药品永远紧缺,大家的急救药品很快就都要用完了,你也如此'
         print*,'你的三角巾已经用完了'
         goto 903
         end if
       print*,'三角巾妥当的包扎住了腹部的伤口,血止住了'
       trangle=(trangle-1)
       hp=(hp+15+p)
       print*,'剩余耐力值:',hp
       goto 901
     
       else if(jijiu>1.5.and.jijiu<2.4) then
       if(bandage<1) then
         print*,'战斗中的药品永远紧缺,大家的急救药品很快就都要用完了,你也如此'
         print*,'你的绷带已经用完了'
         goto 903
         end if
       print*,'腹部的伤口太大了,绷带根本无法有效止血'
       print*,'你牙一咬,心一横,用力勒紧绷带,硬生生地把流出来的肠子堵了回去!'
       print*,'但你也痛的差点昏厥过去,不一会,绷带就被鲜血再次浸湿'
       print*,'"糟了,根本止不住啊。。。"'
       bandage=(bandage-1)
       hp=(hp+5+p)
       print*,'剩余耐力值:',hp
       goto 901
       else if(jijiu>2.4) then
       print*,'你想到了其他处在危险中的负伤同志,咬了咬牙,把药品装了回去,放弃了自救的念头'
       goto 7301
      end if
7301  print*,'可是... ... 你的伤实在是太重了,只要一挪动,浑身的',ss,'处弹孔就在渗血'
      print*,'回头,可能还有生还的机会,前进,就有牺牲的可能!'
      print*,'你...1,将生的希望留给其他同志!,2,保存自己,不能冲动'
      read*,gjxz
      if(gjxz<1.5) then
       print*,'你咬紧牙关,抱定决心,握紧手中的武器继续战斗'
       goto 900
      elseif(gjxz>1.5) then
       goto 901
       end if

903  print*,'剧痛中,你不禁庆幸在战斗前大家 都准备了一些急救药品,你看着急救包里的物品,有:'
    print*,bandage,'卷绷带',trangle,'块三角巾'
    print*,'你掏出,1:三角巾。2:绷带。为自己包扎伤口3:暂时不包扎'
    read*,jijiu
       if(hp<=0) then
       print *,'你的伤实在是太重,连自救的意识都在逐渐涣散。。。'
       print *,'中弹数发,严重失血的你一头栽倒在地,再也没能站起来。。。'
       print*,'在这场重要的战斗中,你英勇作战,毙敌',e,'名,','负伤',ss,'次'
           print*,'不顾安危,抢救战友',jiuren,'名,英勇无畏,追记一等功'
       goto 0721
        end if
       if(jijiu<1.5)then
        if(trangle<1) then
         print*,'战斗中的药品永远紧缺,大家的急救药品很快就都要用完了,你也如此'
         print*,'你的三角巾已经用完了'
         goto 903
         end if
       print*,'三角巾妥当的包扎住了胸部的伤口,血止住了'
       trangle=(trangle-1)
       hp=(hp+15+p)
       print*,'剩余耐力值:',hp
       goto 901
     
       else if(jijiu>1.5.and.jijiu<2.4) then
       if(bandage<1) then
         print*,'战斗中的药品永远紧缺,大家的急救药品很快就都要用完了,你也如此'
         print*,'你的绷带已经用完了'
         goto 903
         end if
       print*,'胸部的伤口太大了,绷带根本无法有效止血'
       print*,'只能把绷带叠起来,作为敷料死死压在伤口上,才勉强能够重新喘气'
       print*,'但你也痛的差点昏厥过去,不一会,绷带就被鲜血再次浸湿'
       print*,'"糟了。。。根本。。。止不住啊。。。"'
       bandage=(bandage-1)
       hp=(hp+5+p)
       print*,'剩余耐力值:',hp
       goto 901
       else if(jijiu>2.4) then
       print*,'你想到了其他处在危险中的负伤同志,咬了咬牙,把药品装了回去,放弃了自救的念头'
       goto 7301
     end if
     
711 print*,'你意识到自己身上还有急救用品,赶忙匍匐前进,用身子护住负伤的同志给他包扎伤口'
    print*,'你身上还有',bandage,'卷绷带',trangle,'块三角巾'
    print*,'急救用品很快就会不够用,你决定1:用三角巾急救2:用绷带急救3:得交给卫生员,节省体力和药物'
    read*,hujiu
      if(hujiu>0.5.and.hujiu<1.5) then
        if(trangle>=1) then
         goto 1000
        elseif(trangle<1) then
        goto 1001
        end if
      elseif(hujiu>=1.5.and.hujiu<2.5) then
        if(bandage>=1) then
        goto 2000
        elseif(bandage<1) then
        goto 1001
        end if
      elseif(hujiu>=2.5.and.hujiu<3.5) then
        print*,'你赶忙掩护卫生员进入掩体实施急救,然后继续和同志们继续冲锋'
        goto 900
      end if
1000    print*,'三角巾适合包扎所有情况的伤口,但你也不禁担心起来:'
        print*,'如此重要的包扎用品,用尽了就糟糕了'
        print*,'不过你还是果断地为战友包扎好了伤口,战友惊讶的睁开眼睛,投来了感激的目光'
        print*,'你安慰的笑了笑:"没关系的,我这点不算什么,还坚持得住,你没事就好"'
        trangle=(trangle-1)
        jiuren=(jiuren+1)
        act=(act+1)
        print*,'剩余耐力值:',hp
        randNum=my_random(0.0,200.0)
        write(*,*) randNum
        if (randNum>=0.and.randNum<100) then
        goto 901
        elseif(randNum>=100.and.randNum<=200) then
        goto 1002
        end if

1001 print*,'随身准备的急救用品已经用完了,你只能继续按压伤口'
     print*,'你按住负伤战友的伤口,焦急的寻找其他替代品,可惜,时间已经不够用了'
      print*,'重伤的同志虚弱的闭上了眼睛,满是遗憾和不舍,再也没有睁开。'
      print*,'剩余耐力值:',hp
      goto 900


1002    print*,'可是没有想到,也许是忙于包扎,一时走神,一发射来的子弹狠狠的击中了你的腹部'
        print*,'中弹的冲击力把肠子都打了出来'
        hp=(hp-40+q)
        ss=(ss+1)
        if(ss>10) then
         goto 3001
         end if
        print*,'剩余耐力值:',hp
          if(hp<=0) then
          print *,'你的伤实在是太重了,中弹数发,严重失血的你拼命的用身体护住战友'
          print*,'长出一口气,永远的闭上了眼睛'
          print*,'在这场重要的战斗中,你英勇作战,毙敌',e,'名,','负伤',ss,'次'
          print*,'不顾安危,抢救战友',jiuren,'名,英勇无畏,追记一等功'
          goto 0721
        
          else if(hp<=20.and.hp>0) then
          print*,'你已经身负重伤,大量失血使你的眼前金星直冒'
          print*,'你咬紧牙关,一把将流出的肠子塞了回去,拼命的坚持着,'
          print*,'给受伤同志包扎的动作显得愈加惊心动魄,但仍然一丝不苟'
          print*,'终于处理好了伤员的创口,你下定决心,用身体护住战友'
          print*,'之后便昏迷过去'
          print*,'等你再次醒来,已经躺在包扎站的担架上'
          print*,'身旁是脱离危险的战友,还有面露感激与钦佩之情的卫生员'
          goto 120
        
          else if(hp<100.and.hp>20)then
          print*,'你连忙忍着剧烈的创痛掩护伤员撤下战场,然后回过神来处理自己的伤口'
          jiuren=(jiuren+1)
          print*,'剩余耐力值:',hp
          goto 902
          end if

2000  print*,'对于严重的伤情,绷带包扎并不方便'
      print*,'你费了很大力气,才止住同志身上流血的弹孔,战友惊讶的睁开眼睛,投来了感激的目光'
      print*,'你安慰的笑了笑:"没关系的,我这点不算什么,还坚持得住,你没事就好"'
      bandage=(bandage-1)
      jiuren=(jiuren+1)
      act=(act+1)
      randNum=my_random(0.0,200.0)
      write(*,*) randNum
      if (randNum>=0.and.randNum<=50) then
      goto 900
      elseif(randNum>=50.and.randNum<=200) then
      goto 2001
      end if
2001 print*,'可是没有想到,也许是忙于包扎,一时走神,一发射来的子弹狠狠的击中了你的腹部'
      print*,'中弹的冲击力把肠子都打了出来'
      hp=(hp-40+q)
      ss=(ss+1)
      if(ss>10) then
     goto 3001
      end if
      print*,'剩余耐力值:',hp
        if(hp<=0) then
        print *,'你的伤实在是太重了,中弹数发,严重失血的你拼命的用身体护住战友'
        print*,'长出一口气,永远的闭上了眼睛'
         print*,'在这场重要的战斗中,你英勇作战,毙敌',e,'名,','负伤',ss,'次'
        print*,'不顾安危,抢救战友',jiuren,'名,英勇无畏,追记一等功'
        goto 0721
        else if(hp<=20.and.hp>0) then
        print*,'你已经身负重伤,大量失血使你的眼前金星直冒'
        print*,'你咬紧牙关,一把将流出的肠子塞了回去,拼命的坚持着,'
        print*,'给受伤同志包扎的动作显得愈加惊心动魄,但仍然一丝不苟'
        print*,'终于处理好了伤员的创口,你下定决心,用身体护住战友'
        print*,'之后便昏迷过去'
        print*,'等你再次醒来,已经躺在包扎站的担架上'
        print*,'身旁是脱离危险的战友,还有面露感激与钦佩之情的卫生员'
        goto 120
       else if(hp>20.and.hp<100) then
       print*,'你连忙忍着剧烈的创痛掩护伤员撤下战场,然后回过神来处理自己的伤口'
      print*,'剩余耐力值:',hp
      goto 902
      end if


3001 print*,'你受的伤实在是太多了,严重失血的你一头栽倒在地,再也没能站起来'
            print*,'在这场重要的战斗中,你英勇作战,毙敌',e,'名,','负伤',ss,'次'
           print*,'不顾安危,抢救战友',jiuren,'名,英勇无畏,追记一等功'
           goto 0721

        
999 print*,'你熬过了这场战斗,积累了宝贵的战斗经验,'
    print*,'你确信,自己很快就能像那些战斗骨干一样,为同志们做出更多的贡献'
    hp=100
    act=1
    aidkit=2
    bandage=2
    trangle=2
    e=0
    jiuren=0
    ss=0
    zd=(zd+1)
    if (50<exp.and.exp<=75) then
   print*,'你成为了一名合格的战斗骨干///'
    else if(exp>75) then
   print*,'///你成为了新组建的战斗班的班长///'
    end if
    print*,'在这之后,你又经历了很多场战斗'
    print*,'每场战斗后,你顽强的毅力都能使你更加坚定'
    print*,'你抱定不怕困难与牺牲的决心,艰苦的磨练着自己的意志和素养'
    do xunlian=1,5,1
    print*,'又经历了一场紧张的战斗,你决定:'
    print*,'1,苦练战斗本领2,练习包扎动作3,坚定战斗意志'
    read*,xlxz
     if(xlxz<1.5) then
     print*,'你现在能够更加沉着的判断局势,合理运用条件,勇猛战斗'
     o=(o+20)
     elseif(xlxz>1.5.and.xlxz<2.5)then
     print*,'你现在能够更加熟练的包扎自己和战友的伤口,为救治争取宝贵的时间'
     p=(p+3)
     
     elseif(xlxz>2.5)then
     print*,'你在战友的激励下更加坚定,你下定决心,再重的伤情也能够坚持战斗'
     q=(q+3)
     
     end if
    end do
   

    goto 900

9000 print*,'战斗已经进行到了最后的阶段' 
     print*,'同志们正一鼓作气,对敌人的阵地发起冲锋'
     print*,'可一个掩藏的很好的暗堡突然开火,前方的同志纷纷中弹倒地'
     print*,'可这些勇敢的战友依然挣扎着爬起身来互相掩护,勇敢向前'
     print*,'你看到了这副情景,眼里全是对敌人的悲愤'
     print*,'你下定决心,从负伤的爆破手手里接过炸药包,决定除掉这个“眼中钉”'
     print*,'在腰间缠好了三条止血带,你整理好身上的装备,握紧武器,冒着弹雨迎了上去'
     print*,'            “止血带”现在可以使用了        '
     print*,'        “止血带”可以强行回复耐力值到80       '
     print,'            但有数量限制,即使处理伤口,   '
     print,'           也照样有失去意识乃至牺牲的风险    '
      print,'        所以要随时注意自己的伤势和失血情况   '

end
 
function my_random (lbound,ubound)
implicit none
 real :: lbound,ubound
 real :: len
 real :: my_random
 real :: t
 
 len=ubound-lbound  
 call random_number(t)  
 my_random=lbound+len*t


 return
  read(*,*)
  end

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值