[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: Spidy, blitz3d  
Форум мира Blitz3D » Язык Blitz3D » 2D программирование » обработка флагов
обработка флагов
deejexДата: Вторник, 15.12.2009, 11:19 | Сообщение # 11
заядлый прогер
Группа: Пользователи
Сообщений: 522
Награды: 2
Репутация: 14
Статус: Offline
Code

While 1
  ;show instructions
  Print "flag 1 - man"
  Print "flag 2 - mouse"
  Print "flag 4 - blue"
  Print "flag 8 - red"
  ;user input a number, which is the values of the flags selected added together, eg  
  num=Input("number: ")
   
  ;check if flags are set
  If num And 1 Then Print "man!"
  If num And 2 Then Print "mouse!"
  If num And 4 Then Print "blue!"
  If num And 8 Then Print "red!"
  ;..repeat for as many powers of two as you want
   
  ;this works because of the way computers store numbers.
  ;Numbers are stored as a string of 0s and 1s, with each power of two being represented by one of the bits in the string
  ;eg 1 is shown as 0001 and 2 is shown as 0010
  ;to make numbers other than powers of two, you just add them together
  ;eg 3 is 0011 (2+1) and 7 is 0111 (4+2+1)

  ;the AND operation returns a number which is made by checking each bit in one number with the corresponding bit in another number.
  ;If they're both 1, Then the corresponding bit in the number returned is set To 1. Otherwise, it's set To 0
  ;This allows you to see whether any power of 2 is used to make a number
  ;and so store the values of lots of flags (True/False values) in one number
   
  ;Here, the code checks for flags 1,2,4 and 8
  ;So, if you entered the number 9 (1001), 9 AND 1 works like this:
  ;1001
  ;1000
  ;returns
  ;1000
  ;Similarly, 9 AND 1 does this:
  ;1001
  ;1000
  ;returns
  ;0001
   
  ;Very clever, no? <img src="http://s8.ucoz.net/sm/6/smile.gif" border="0" align="absmiddle" alt="smile">
Wend

воть и всё. тему закрыть




 
Форум мира Blitz3D » Язык Blitz3D » 2D программирование » обработка флагов
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: