- 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 уже поднимает давление настроение.
http://vcnmo.ru/images/lessons/inf/krestzero.rar
Давай что-то с продакшена.
К тому же большинство занимается продакшоном, а лабы - [давно] пройденный этап.
Не надо путать предмет "Шаблоны проектирования" с основами программирования, где цель - привлечь и заинтересовать на простых примерах.
переменные нигде не объявлены ранее, т.е не инициализированы. Автор просто поленился лишний раз проверить исходник и выложил как есть: пошли на хуй, как хотите, так и ебитесь, #define true false
на будущее - прежде чем что-то спезднуть, подумай.
Ну и как мы должны были об этом догадаться, если там вверху "..."?
С уважением, ваш кэп
С уважением, ваш кэп.
с уважением, ваш кэп
На будущее: когда я собираюсь троллить участника, я прямо его об этом предупреждаю, но строго говоря, Вам это знать незачем, Вас я никогда еще не троллил.
>на будущее - прежде чем что-то спезднуть, подумай.
Именно. Глобальные переменные инициализируются нулями сами, поля классов тоже.
Видели.
...без друзей меня чуть-чуть, а с друзьями много!
>> https://www.free-lance.ru/users/Stertor
>>> Арсен Владикавказский
Кажется, березняк нашел наконец-то у кого отсосать
Два года назад видел в ргхосте.
Так у него же на лбу нет надписи "Я кавказец". Это может быть чувак любой нации. У нас бы его уже порвали за такое.
Сохранять/восстанавливать нужно следующие свойства:
имя файла, его размер и дату помещения.
Я в принципе сделал - создается класс, который впоследствие записывается в файл с помощью tfilestream. Имя помещаемого файла - string[255], записывается так:
,
читается так же. Но есть одно огро-о-омное "НО":
имя файла может быть и больше 256 символов - велик риск остаться с расширенным очком, а по-другому никак не получается сохранить string. Может, кто подскажет?
Ну например классическим способом - запиши сначала длину строки в виде 4-байтного инта, а затем содержимое строки. Чтение аналогично.
Как-то так (с поправкой на то, что я давно ничего не писал на пасцале):
writeString
>
Испортила Вас сишка!! )) Сразу чувствуется матерый сишник.
Бля, я рву волосы на очке - переписать из за такой хуетени целый класс коммунистической партии, блять.
а через анус:
В общем, Борманду респект и уважение.
Реквестирую в тред Тараса, пусть польет меня говном из ушата за этот код.
Вот только это не понятно:
Ну ты можешь любую другую поюзать, хоть String, хоть WideString. Код не поменяется (хотя с вайдстрингом, если я не туплю, придется подомножать на размер символа).
> Или это консолечка, я ее маму бля ебал?!
Она самая, на ideone только консолечки запускаются. Как ты туда форму собрался засовывать? :) Да и консольки для демонстрации такой простой фигни имхо само то: меньше отвлекающего кода.
P.S. HexDump чисто дебажная функция, чтобы посмотреть на то, как в стрим упаковались данные. Не обращай внимания...
Вот такой я дурашка.
Борманд, как ты думаешь, возможно ли на этом Лажарусе что-нибудь более-менее серьезное написать? Как работать с сетью? Кроссплатформенность не интересует. Я только под винду.
А на FPC, по идее, писать можно. Они же половину классов с делфи спиздили, да и синтаксические фишки тоже. На нем вроде как даже делфинье VCL взлетает (или его аналог, не помню).
Но сам я его никогда не юзал, поэтому х.з.
http://ideone.com/rXaUPW
Я к этому чунга-чанге давно присматриваюсь - кому-то он рекомендовал избежать повторного запуска программы поискав ее имя в списке процессов
)