Форум » Для флейма » Хабром навеяно, до 30 строк ... » Ответить

Хабром навеяно, до 30 строк ...

AlexMyr: Вот набросал змейку на harbour, сильно урезано, без хвоста, без проверок всяких, можно еще кое-что втиснуть чтоб было 30 строк, но можно поиграться. Может у кого уже есть подобное, выкладывайте. [pre2] FUNC Main() LOCAL showD := {|| aField[ 1 ] := hb_RandomInt( 0, MaxRow() ), aField[ 2 ] := hb_RandomInt( 0, MaxCol() ), DevPos( aField[ 1 ], aField[ 2 ] ), DevOut( "*" ) } PRIVATE aField:={0,0,0,{{hb_RandomInt(0,MaxRow()),hb_RandomInt(0,MaxCol())}},1,"█"} cls SET CURSOR OFF Eval( showD ) WHILE ( nKey := LastKey() ) != 27 aEval( aField[4], {|x|DevPos(x[1],x[2]),DevOut(aField[6])} ) Inkey( .2 ) IF nKey == 4 .OR. nKey == 19 /* RIGHT, LEFT */ aadd(aField[4],{aField[4,Len(aField[4]),1],iif( aField[4,Len(aField[4]),2] == iif( nKey == 4, MaxCol(), 0 ), iif( nKey == 4, 0, MaxCol() ), iif( nKey == 4, aField[4,Len(aField[4]),2] + 1, aField[4,Len(aField[4]),2] - 1 ) )}) ELSEIF nKey == 5 .OR. nKey == 24 /* UP, DOWN */ aadd(aField[4],{iif( aField[4,Len(aField[4]),1] == iif( nKey == 5, 0, MaxRow() ), iif( nKey == 5, MaxRow(), 0 ), iif( nKey == 5, aField[4,Len(aField[4]),1] - 1, aField[4,Len(aField[4]),1] + 1 ) ),aField[4,Len(aField[4]),2]}) ENDIF IF aField[4,Len(aField[4]),1] == aField[ 1 ] .AND. aField[4,Len(aField[4]),2] == aField[ 2 ] aField[ 3 ] += 1 Eval( showD ) ENDIF if ascan({4,19,5,24},nKEy)!=0 @aField[4,1,1], aField[4,1,2] SAY " " if aField[3]==0 hb_aDel(aField[4],1,.T.) elseif aField[3]==1 aField[3]:=0 endif endif END RETURN NIL [/pre2]

Ответов - 9

Andrey: AlexMyr пишет: Вот набросал змейку на harbour, А генерации фамилий, имен и отчеств нет случайно ? Мне тестовую базу загрузить нужно...

AlexMyr: Andrey пишет: А генерации фамилий, имен и отчеств нет случайно ? Не, нету. Можно с этим http://interweb.spb.ru/phone/fio/f1 что-то сделать.

alkresin: Ждем сокобан, тетрис и электронную таблицу :) Кстати, вместо Int( hb_Random() ) можно hb_RandomInt()


AlexMyr: Andrey пишет: Уж очень мало славянских фамилий... это да, но и разрешения на обработку перс. даных брать не надо

Pasha: Andrey пишет: А генерации фамилий, имен и отчеств нет случайно ? Мне тестовую базу загрузить нужно... Вместо фамилий с именами названия улиц подойдут ? Берешь street.dbf из kladr.org, там почти миллион улиц. Из них составляешь псевдоФИО

Andrey: Pasha пишет: Из них составляешь псевдоФИО

SergeJaHome: tone(Random(recno())/20,0.5),IIF(Inkey()=27.and.Alert('Надоело слушать МУЗЫКУ?',2)=1,dbGoTo(0),IIF(RecNo()=LastRec(),dbGoTop(),Nil)),.F.

AlexMyr: SergeJaHome пишет: tone(Random(recno())/20,0.5),IIF(Inkey()=27.and.Alert('Надоело слушать МУЗЫКУ?',2)=1,dbGoTo(0),IIF(RecNo()=LastRec(),dbGoTop(),Nil)),.F. Не компилится, str1.prg(1) Error E0030 Syntax error "syntax error at ','" hbmk2: Error: Running Harbour compiler (embedded). 1 (c:\dev\harbour\bin\harbour.exe) -n2 str1.prg -p -od:\tmp\hbmk_41hkmq.dir\ -ic:\dev\harbour\include Идея вроде понятна, но код не самодостаточный.

AlexMyr: alkresin пишет: Кстати, вместо Int( hb_Random() ) можно hb_RandomInt() Теперь использую. Спасибо. Доделал хвост, код в первом сообщении.



полная версия страницы