хммм... поиск полюбому мастдай, а тетрис не помешал бы... там тоже заковырок много... ну это чисто символически (аля правила: посылать в поиск - строго воспрещается)
значит так:
даже не могу представить, что в переключении может быть сложного...
берем переменную которая будет отвечать за тип заюзанного оружия. допустим weapon
присваиваем этой переменной изначально значение 0 (допустим код оружия "пистолет", код 1 будет "автомат".
а в теле главного цикла игры пишем
If KeyHit(57) Then weapon=1-weapon
итого получаем что при каждом нажатии пробела будет изменено значение переменной weapon то на ноль, то на 1
из этого уже можно кое-что выудить, но это еще не все... както нам надо перехватывать момент изменения оружия... для этого вводим дополнительную переменную, допустим "w" и присваиваем ей значение "weapon" до момента опроса клавиатуры на изменение оружия.
w=weapon
If KeyHit(57) Then weapon=1-weapon
теперь после этого пишем такое условие
If w<>weapon Then
; здесь помещаем код изменяющий оружие на оружие с кодом
; хранящимся в переменной weapon
endif
вот впринципе и всего делов.
если нужно будет много оружий, не два а например 5, то программа превратится примерно в это:
w=weapon
If KeyHit(200) Then
weapon=weapon+1
If weapon>5 Then weapon=1
EndIf
If KeyHit(208) Then
weapon=weapon-1
If weapon<1 Then weapon=5
EndIf
If w<>weapon Then
код по смене оружия, номер оружия в переменной weapon
EndIf