コード例 #1
0
ファイル: Gun.cs プロジェクト: Art17/Kpi-2
 public void fire()
 {
     if ((state & GunState.SaffetyOn) == GunState.SaffetyOn)
     {
         return;
     }
     if (bullets == 1)
     {
         noAmmoTime = DateTime.Now;
         state     &= ~GunState.Charged;
     }
     if (bullets > 0)
     {
         bullets--;
         precision -= 0.001;
         if (precision < 0.5)
         {
             state &= ~GunState.Working;
         }
     }
     else
     {
         NoAmmoExceptionArgs args = new NoAmmoExceptionArgs(noAmmoTime);
         throw new NoAmmoException(args);
     }
 }
コード例 #2
0
ファイル: Gun.cs プロジェクト: Art17/Kpi-2
 void IFireable.fire()
 {
     if (bullets == 1)
     {
         noAmmoTime = DateTime.Now;
     }
     if (bullets > 0)
     {
         bullets--;
     }
     else
     {
         NoAmmoExceptionArgs args = new NoAmmoExceptionArgs(noAmmoTime);
         throw new NoAmmoException(args);
     }
 }
コード例 #3
0
 public void fire()
 {
     if (isSafetyState())  //Инкапсулируйте сложные выражения
     {
         return;
     }
     if (bullets == 1)
     {
         noAmmoTime = DateTime.Now;
         gunState  &= ~GunState.Charged;
     }
     if (bullets > 0)
     {
         makeShot();  // Блоки и отступы: блоки if, else, switch должны состоять из одной строки
     }
     else
     {
         NoAmmoExceptionArgs args = new NoAmmoExceptionArgs(noAmmoTime);   // Используйте исключения, вместо кодов ошибок
         throw new NoAmmoException(args);
     }
 }
コード例 #4
0
ファイル: NoAmmoException.cs プロジェクト: Art17/Kpi-2
 public NoAmmoException(NoAmmoExceptionArgs args)
 {
     this.args = args;
 }
コード例 #5
0
ファイル: NoAmmoException.cs プロジェクト: Art17/Kpi-2
 public NoAmmoException()
 {
     this.args = new NoAmmoExceptionArgs(DateTime.Now);
 }