Примеры сокращения кода :
Y = ( KeyDown(203) ) - ( KeyDown(205) )
TurnEntity entity_name,0, Y ,0 ; мерцание объекта EntityAlpha entity_name, Sin( MilliSecs() )*0.5+0.5 ; прибавление и сброс на 0 if KeyHit(57) and nomer <4 Then nomer = nomer+1 Else if nomer >3 Then nomer =0 ;пустой цикл: ожидает нажатие мыши или клавиатуры,завершает программу Repeat :Until GetMouse()<>0 Or GetKey()<>0 :End ;цвет меняется синусоидально Color 0,0 , 64 +Sin ( MilliSecs() /10)*32 пока всё... :) |
Ответ: Примеры сокращения кода :
; клавиши управления
Select True Case KeyDown(205 ) : x = x +1; вправо Case KeyDown(203 ) : x = x -1; влево Case KeyDown(208 ) : y = y +1; вниз Case KeyDown(200 ) : y = y -1; вверх End Select ;меняем значение переменой A = Not A ;незабываем использовать двоеточие . пример Типы: Type tip Field x,y,nom End Type tip.tip = New tip : tip\x=x : tip\y=y : tip\nom=nom For tip.tip = Each tip : Print tip\x+" "+tip\y+" "+tip\nom : Next |
Ответ: Примеры сокращения кода :
это не сокращение кода, это называется говнокод :)
Цитата:
2) TurnEntity относительно тяжелая, потому в данном случае надо If Y Then TurnEntity... Цитата:
If number >= 4 Then number = 0 а если граничное значение степень двойки, то вообще замечательно number = (number + KeyHit(57)) And (4 - 1) Цитата:
Цитата:
Цитата:
Цитата:
A = 1 - A т.к. компилятор блица тупой и умеет not только для условий, соответственно генерит избыточный код Цитата:
ЗЫ Пешы ищо ;-) А лучше не пиши, плохой пример подаешь нубам. |
Ответ: Примеры сокращения кода :
можно еще:
if KeyHit(57) Then nomer = nomer+1:nomer = nomer % 4; на нормальных языках было бы как то так: if(KeyHit(KEY::SPACE))nomer = ++nomer % 4; |
Ответ: Примеры сокращения кода :
Цитата:
а не так разьве?) |
Ответ: Примеры сокращения кода :
Цитата:
|
Ответ: Примеры сокращения кода :
приятно ,что тема "пошла" . признаться написанное мною имело цель удобства ... но несомненно есть более изящные решения и я в свою очередь благодарен всем отписавшимся в их вариантах решений.
в конечном случае выбор остаётся за пользователем. конечно я не утверждал что мои решения Абсолютны ,дескать делай как я. предлагаю поделиться вам уважаемые опытные программисты своими решениями ,пусть небольшими примерами ... спасибо. |
Ответ: Примеры сокращения кода :
Цитата:
m = n++ % 4 to +1 budit vipolneno posle % 4? esli n=3, to m = 4? (ili m = 0 ? xD) posledniy raz s etoy temoy stalkivalsya goda 4 nazad>< poetomu ne pomnu uje :) sor za tranlit |
Ответ: Примеры сокращения кода :
Цитата:
|
Ответ: Примеры сокращения кода :
с постфиксным инкрементом будет от 1 до 4 гулять. с префиксом от 0 до 3. в первоисточнике было от 0 до 3, не?
|
Ответ: Примеры сокращения кода :
Цитата:
если ++n это префиксный. |
Ответ: Примеры сокращения кода :
можно перфиксную форму разложить так:
Код:
temp1 = n+1 Код:
temp1 = n % 4 |
Ответ: Примеры сокращения кода :
Проще писать понятный отформатированный код, не?
|
Ответ: Примеры сокращения кода :
Всё из первого и второго поста ужасный говнокод.
Учитывая кучу проблем с инпутом, нужно обязательно выносить клавиши инпута в отдельные переменные. И лишь при уверенном редком использовании в цикле лишь один раз клавиши, можно писать функцию доступа к данным инпута прямо в теле условий и т.п. Например такое: Цитата:
Код:
keyRight = KeyDown(205) Но это лишь простой пример, даже такой не однозначен, и во многих ситуациях не корректен. Остальные есть ещё хуже.. Я бы такое в "Полезные Функции" не постил. |
Ответ: Примеры сокращения кода :
нубско но
if keyhit(2) a=1 end if if not keyhit(2) a=0 end if можно в if keyhit(2) a=1 else a=0 end if |
Часовой пояс GMT +4, время: 13:06. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot