linux 像素飞机大战 命令行

linux实现飞机大战

命令行方式实现

#!/bin/sh
###——————项目名称::     像素飞机大战
###————————————————————————————————————游戏玩法::

###————————————————————“W”“S”“A”“D”分别控制上下左右
###—————————————————————“N”退出
###—————————————死亡后按“1”继续,按“0”退出
###—————————————子弹数:10发,打完后不能增加
###—————————————计分规则:击落一架敌机得三分,刷新3次得一分(相当与存活时间)

###——————————————————————————————————任务分配::

###————————共420行
###——————————————————————————————————2019/03/19

###——————————————————————————————
###——————————————————————————————

###定义全局变量
declare width=50  #列数
declare length=30 #行数
declare -x point=0
declare -x loactiona=22
declare -x loactionb=23
declare -x loactionc=24
declare -x loactiond=25
declare -x loactione=26
declare -x loactionA=26
declare -x loactionB=27
declare -x loactionC=28 #以上飞机的行纵坐标
declare -x bulletnum=10
declare -x juegebullet=0
declare -x number=0
declare -x index=0
declare -x map=()      #定义子弹数组
declare -x enemy=()  
declare -x dnumber=0
declare -x locbull=() #定义子弹坐标数组
declare -x gameover=1 #循环变量

###————————————————————————————————
###随机生成敌机位置

function diji(){
   
if((number%3==0))
then    enemy[((index))]=3
       enemy[((index+1))]=$((RANDOM%44+3))
       index=$((index+2))
fi
}

###——————————————————————————————————
###敌机位置赋值给 map 方便打印

function enemyloaction(){
   
for ((i=0;i<index;i=i+2))
do map[((50*enemy[i]+enemy[((i+1))]))]=7
map[((50*(enemy[i]-1)+enemy[((i+1))]-1))]=7
map[((50*(enemy[i]-1)+enemy[((i+1))]+1))]=7
map[((50*(enemy[i]-1)+enemy[((i+1))]))]=9
map[((50*(enemy[i]-2)+enemy[((i+1))]))]=9
map[((50*(enemy[i]-2)+enemy[((i+1))]+1))]=10
map[((50*(enemy[i]-2)+enemy[((i+1))]-1))]=10
done
}

###——————————————————————————————————
###清空上一次敌机图形
function unenemyloaction(){
   

for ((i=0;i<index;i=i+2))
do map[((50*enemy[i]+enemy[((i+1))]))]=0
map[((50*(enemy[i]-1)+enemy[((i+
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值