- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
Program KrestZero;
...
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
case m[arow,acol]of
1: DrawGrid1.Canvas.Draw(acol*81,arow*81 ,bmpkrest);
0: DrawGrid1.Canvas.Draw(acol*81,arow*81 ,bmpfon);
2: DrawGrid1.Canvas.Draw(acol*81,arow*81 ,bmpnul);
end;
end;
function win:boolean;
var a:byte;
begin
result:=false;
k:=0;
for I := 0 to 2 do
if m[0,i]=a then k:=k+1;
if k=3 then begin result:=true; exit; end;
end;
procedure TForm1.DrawGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
acol,arow:integer;
begin
DrawGrid1.MouseToCell(x,y,acol,arow);
if (m[arow,acol]<>0) then
ShowMessage('Нельзя!')
else
begin
inc(hod);
if hod mod 2 =1 then m[arow,acol]:=1
else m[arow,acol]:=2;
if win then ShowMessage('Победа!');
end;
end;
procedure TForm1.FormShow(Sender: TObject);
var i,j:byte;
begin
bmpkrest:=TBitmap.Create;
bmpkrest.LoadFromFile('krest.bmp');
bmpfon:=TBitmap.Create;
bmpfon.LoadFromFile('fon.bmp');
bmpnul:=TBitmap.Create;
bmpnul.LoadFromFile('nol.bmp');
for i:=0 to 2 do
for j:=0 to 2 do
m[i,j]:=0;
hod:=0;
end;
А вот так, товарищи, кодит препод в одной из шаражек в нашем родном Владикавказе.
В коде ничего не менял - выложил, как есть.
Одно только название - krestzero уже поднимает давление настроение.
Stertor 15.09.2013 16:20 # +1
http://vcnmo.ru/images/lessons/inf/krestzero.rar
Stertor 16.09.2013 22:46 # −2
DBdev 17.09.2013 14:34 # +2
Давай что-то с продакшена.
ctm 18.09.2013 06:51 # 0
К тому же большинство занимается продакшоном, а лабы - [давно] пройденный этап.
Stertor 18.09.2013 07:19 # −5
ctm 20.09.2013 12:59 # 0
guest 20.09.2013 13:52 # −9
guest 20.09.2013 15:12 # −9
guest 20.09.2013 16:40 # −9
guest 17.09.2013 01:39 # 0
Не надо путать предмет "Шаблоны проектирования" с основами программирования, где цель - привлечь и заинтересовать на простых примерах.
Stertor 17.09.2013 21:57 # −1
переменные нигде не объявлены ранее, т.е не инициализированы. Автор просто поленился лишний раз проверить исходник и выложил как есть: пошли на хуй, как хотите, так и ебитесь, #define true false
на будущее - прежде чем что-то спезднуть, подумай.
bormand 17.09.2013 22:17 # 0
Ну и как мы должны были об этом догадаться, если там вверху "..."?
guest 17.09.2013 22:48 # +1
С уважением, ваш кэп
bormand 17.09.2013 23:01 # +1
С уважением, ваш кэп.
Stertor 18.09.2013 06:58 # 0
с уважением, ваш кэп
Stertor 18.09.2013 07:22 # −1
На будущее: когда я собираюсь троллить участника, я прямо его об этом предупреждаю, но строго говоря, Вам это знать незачем, Вас я никогда еще не троллил.
kipar 19.09.2013 15:31 # +1
>на будущее - прежде чем что-то спезднуть, подумай.
Именно. Глобальные переменные инициализируются нулями сами, поля классов тоже.
guest 17.09.2013 12:45 # −12
Stertor 18.09.2013 07:25 # −2
Видели.
...без друзей меня чуть-чуть, а с друзьями много!
guest 21.09.2013 21:48 # −5
>> https://www.free-lance.ru/users/Stertor
>>> Арсен Владикавказский
Кажется, березняк нашел наконец-то у кого отсосать
Stertor 21.09.2013 21:50 # −2
guest 21.09.2013 21:53 # −4
Stertor 21.09.2013 21:55 # −2
Два года назад видел в ргхосте.
Так у него же на лбу нет надписи "Я кавказец". Это может быть чувак любой нации. У нас бы его уже порвали за такое.
Stertor 21.09.2013 21:58 # −2
Stertor 27.09.2013 13:14 # 0
Сохранять/восстанавливать нужно следующие свойства:
имя файла, его размер и дату помещения.
Я в принципе сделал - создается класс, который впоследствие записывается в файл с помощью tfilestream. Имя помещаемого файла - string[255], записывается так:
,
читается так же. Но есть одно огро-о-омное "НО":
имя файла может быть и больше 256 символов - велик риск остаться с расширенным очком, а по-другому никак не получается сохранить string. Может, кто подскажет?
bormand 27.09.2013 13:56 # 0
Ну например классическим способом - запиши сначала длину строки в виде 4-байтного инта, а затем содержимое строки. Чтение аналогично.
Как-то так (с поправкой на то, что я давно ничего не писал на пасцале):
Stertor 27.09.2013 14:33 # −1
writeString
>
Испортила Вас сишка!! )) Сразу чувствуется матерый сишник.
Stertor 27.09.2013 14:46 # −1
Stertor 27.09.2013 15:13 # −1
Бля, я рву волосы на очке - переписать из за такой хуетени целый класс коммунистической партии, блять.
Stertor 27.09.2013 15:25 # 0
а через анус:
В общем, Борманду респект и уважение.
bormand 27.09.2013 16:07 # 0
Реквестирую в тред Тараса, пусть польет меня говном из ушата за этот код.
Stertor 27.09.2013 19:00 # 0
Вот только это не понятно:
Stertor 27.09.2013 19:01 # +1
bormand 27.09.2013 19:02 # +1
Ну ты можешь любую другую поюзать, хоть String, хоть WideString. Код не поменяется (хотя с вайдстрингом, если я не туплю, придется подомножать на размер символа).
> Или это консолечка, я ее маму бля ебал?!
Она самая, на ideone только консолечки запускаются. Как ты туда форму собрался засовывать? :) Да и консольки для демонстрации такой простой фигни имхо само то: меньше отвлекающего кода.
P.S. HexDump чисто дебажная функция, чтобы посмотреть на то, как в стрим упаковались данные. Не обращай внимания...
Stertor 27.09.2013 19:26 # 0
Вот такой я дурашка.
Борманд, как ты думаешь, возможно ли на этом Лажарусе что-нибудь более-менее серьезное написать? Как работать с сетью? Кроссплатформенность не интересует. Я только под винду.
bormand 27.09.2013 19:31 # 0
А на FPC, по идее, писать можно. Они же половину классов с делфи спиздили, да и синтаксические фишки тоже. На нем вроде как даже делфинье VCL взлетает (или его аналог, не помню).
Но сам я его никогда не юзал, поэтому х.з.
Stertor 27.09.2013 19:43 # 0
Stertor 27.09.2013 19:54 # 0
http://ideone.com/rXaUPW
Stertor 30.09.2013 16:27 # 0
Я к этому чунга-чанге давно присматриваюсь - кому-то он рекомендовал избежать повторного запуска программы поискав ее имя в списке процессов
)