program casino; uses m2; const url='http://wapserf.net/qwert.php'; inter=0;//если 1 значит интернет var maxx,maxy:integer;//хранит максимальное разрешение экрана bar1x,bar2x,bar3x,bary:integer;// координаты барабанов igrokx,igroky:integer;//надпись ИГРОК naschetux,naschetuy,naschetuy1:integer; stavkax,viigrishx,viigrishy:integer; amount:integer;//текущий счет пользователя image_baraban: array[1..30] of image; fon:image; ch:char; r,er:integer; imgruchka:image; knopka:integer;//хранит нажатую клавишу stavka, max_stavka:integer;// текущая ставка и максимальная ствка. prize_sum:integer;//сумма выигрыша- расчитуеться локально исходя из полученых данных baraban1,baraban2,baraban3,baraban1old,baraban2old,baraban3old:integer;// показания барабанов. amountold:integer;// сумма на счету до игры img1,img2,img3:integer; img1_old,img2_old,img3_old:integer; //текущая и прошлая картинки барабанов i,j1,j2,j3,j:integer; sum:integer; rs: recordStore; login,password:string; itemIdlogin,itemidpass : integer; //для авторизации clicked, cmdNext : command; play, cmdQuit : command; htmlbody:string; conn:http;text:string; about,entering,registr,onehand,ruletka,naperstki,vyhod,avtologin:integer; procedure ddd(s,st,w:integer); begin drawimage(fon,0,0); drawimage(image_baraban[j1],bar1x,bary); drawimage(image_baraban[j2],bar2x,bary); drawimage(image_baraban[j3],bar3x,bary); setcolor(0,255,0); drawtext('игрок: '+login,igrokx,igroky); setcolor(255,255,0); drawtext( 'на счету', naschetux,naschetuy); drawtext(integertostring(s)+' коп',naschetux,naschetuy1); drawtext( 'ставка:', stavkax,naschetuy); drawtext(integertostring(st)+' коп',stavkax,naschetuy1); setcolor(50,0,255); drawtext( 'выигрыш: '+integertostring(w), viigrishx,viigrishy); repaint; end; procedure error; begin setcolor(255,255,255); fillRect(0, 0, 150, 15); setcolor(255,0,0); drawtext( 'извините, но нет связи', 0,0); repaint;delay(5500);halt; end; procedure error1; begin setcolor(255,255,255); fillRect(0, 0, 150, 15); setcolor(255,0,0); drawtext( 'извините, но вы ошиблись ', 0,0); repaint;delay(5500);halt; end; procedure enter;//авторизация. получаем сумму на счету begin setcolor(255,255,255); fillRect(0, 150, 80, 15); setcolor(255,0,0); drawtext( 'connecting... ', 0,150); if inter =1 then begin htmlBody:=('?login='+login+'&pass='+password+'&command=amount'); if not openHttp(conn, url+htmlBody) then error; setHttpMethod(conn, GET); addHttpHeader(conn, 'User-agent', 'casino by bubon'); if sendHttpMessage(conn) <> 200 then error; text:=GetHttpResponse(conn); closeHttp(conn); if text='user not found' then error1; if text='-1' then error; i:=stringtointeger(text); if (i=0)and(text<>'-2') then error1; end else begin i:=150;end; // amount:=i; end;//enter procedure loading;//загрузка картинок begin maxx:=getWidth; maxy:=getHeight; if maxx=176 then begin bary:=100; bar1x:=60; bar2x:=90; bar3x:=120;//координаты барабанов igrokx:=3; igroky:=38;//НАДПИСЬ игрок naschetux:=115; naschetuy:=146;naschetuy1:=159; stavkax:=20; viigrishx:=50;viigrishy:=17; end; if maxx=128 then begin bary:=56; bar1x:=34; bar2x:=52; bar3x:=69;//координаты барабанов igrokx:=3; igroky:=38;//НАДПИСЬ игрок naschetux:=70; naschetuy:=87;naschetuy1:=97; stavkax:=20; viigrishx:=30;viigrishy:=7; end; fon:=LoadImage('/zastavka.PNG'); for i:=1 to 30 do image_baraban[i]:=loadimage('/'+integertostring(i)+'.png'); imgruchka:=loadimage('/ruchka.PNG'); img1_old:=1;img2_old:=1;img3_old:=1;baraban1:=0;baraban2:=0;baraban3:=0;j1:=1;j2:=1;j3:=1; end;//loading procedure pa1;//передаем сумму ставки. получаем три значения барабанов. остаточную сумму на счете. и вычисляем сумму выигрыша begin setcolor(255,255,255); fillRect(0, 150, 80, 15); setcolor(255,0,0); drawtext( 'connecting ', 0,150);repaint; if inter=1 then begin htmlBody:=('?login='+login+'&pass='+password+'&command=game'+'&sum='+integertostring(sum)); if not openHttp(conn, url+htmlBody) then error; setHttpMethod(conn, GET); addHttpHeader(conn, 'User-agent', 'casino by bubon'); if sendHttpMessage(conn) <> 200 then error; text:=GetHttpResponse(conn); closeHttp(conn); if stringtointeger(text)=0 then error1; end else begin text:=integertostring(random(1000))+'160'; end; img1_old:=baraban1*3+1;BARABAN1:=stringtointeger(getchar(text,0)); img1:=baraban1*3+1; img2_old:=baraban2*3+1; BARABAN2:=stringtointeger(getchar(text,1)); img2:=baraban2*3+1; img3_old:=baraban3*3+1; BARABAN3:=stringtointeger(getchar(text,2)); img3:=baraban3*3+1; text:=copy(text,3,length(text)); amount:=stringtointeger(text);// типа пока от фонаря но должны браться с сервера prize_sum:=amount - amountold; end;//PLAY procedure one_hand_gangster; //однорукий бандит begin// однорукий бандит repeat //выбор ставки max_stavka:=amount;if (amount>4)and(stavka<5) then stavka:=5; ddd(amount,stavka,prize_sum); repeat //меняем ставку и выводим на экран и ждем нажатия ИГРАТЬ repeat until getkeypressed=KE_NONE;//ждем нажатия клавиши knopka:=keyToAction(getKeyClicked); if (knopka=GA_LEFT)or(knopka=GA_UP) then // понижение ставки begin stavka:=stavka-5; if stavka<1 then stavka:=1; end; if (knopka=GA_RIGHT) or(knopka=GA_DOWN)then // повышение ставки begin stavka:=stavka+5; if stavka>max_stavka then stavka:=max_stavka; end; //ТЕСТ НАЖАТИЯ //вывод текущей ставки ddd(amount,stavka,prize_sum); //КОНЦ ТЕСТА until (knopka=GA_FIRE) or (knopka=GA_GAMEA)or (knopka=GA_GAMEB)or (knopka=GA_GAMEC)or (knopka=GA_GAMED); if knopka=GA_FIRE then begin // если нажали ИГРТЬ ddd(amount-stavka,stavka,prize_sum); //расчет результата- берем с сервера. amountold:=amount-stavka; sum:=stavka; for i:=66 to 85 do begin drawimage(imgruchka,28,i);delay(5);repaint; end; for i:=0 to 19 do begin drawimage(imgruchka,28,85-i);delay(5);repaint; end; //прорисовка игрового процесса- ---- pa1; j1:=img1_old; j2:=img2_old;j3:=img3_old; if img1_old>img1 then j:=30-(img1_old-img1) else j:=img1-img1_old; for i:=0 to j+60 do begin j1:=img1_old+i; j2:=img2_old+i; j3:=img3_old+i; while j1>30 do j1:=j1-30; while j2>30 do j2:=j2-30; while j3>30 do j3:=j3-30; drawimage(image_baraban[j1],bar1x,bary); drawimage(image_baraban[j2],bar2x,bary); drawimage(image_baraban[j3],bar3x,bary); repaint; delay(70); end; img2_old:=j2; img3_old:=j3; if img2_old>img2 then j:=30-(img2_old-img2) else j:=img2-img2_old; for i:=0 to j+30 do begin j2:=img2_old+i; j3:=img3_old+i; while j2>30 do j2:=j2-30; while j3>30 do j3:=j3-30; drawimage(image_baraban[j2],bar2x,bary); drawimage(image_baraban[j3],bar3x,bary); repaint; delay(60); end; img3_old:=j3; if img3_old>img3 then j:=30-(img3_old-img3) else j:=img3-img3_old; for i:=0 to j do begin j3:=img3_old+i; while j3>30 do j3:=j3-30; drawimage(image_baraban[j3],bar3x,bary); repaint; delay(60); end; //вывод результатов игры for i:=amountold to amount do begin ddd(i,stavka,prize_sum);delay(10); end; end;//если нажали ИГРАТЬ until knopka=GA_GAMEA; end;//однорукий бандит begin// главный модуль login:='вы не вошли';password:='';amount:=0; repeat clearform; ShowForm; ShowMenu(login+' '+ integertostring(amount), CH_IMPLICIT); entering := MenuAppendString('Авторизация'); onehand:=MenuAppendstring('Однорукий бандит'); avtologin:=MenuAppendstring('Вход на сайт'); // ruletka:=MenuAppendstring('ruletka'); // naperstki:=MenuAppendstring('ugaday chislo'); vyhod:=menuappendstring('Выход'); about := MenuAppendString('about'); registr := MenuAppendString('Регестрация'); play := CreateCommand('выбор', CM_SCREEN, 1); AddCommand(play); repeat until GetClickedCommand = play; if (menuGetSelectedIndex = onehand)and (amount<5) then begin showcanvas; setcolor(0,0,0); fillrect(0,0,176,220); setcolor(255,0,0); drawtext( ' вы не можете ', 5,5); drawtext( ' в данный момент ', 5,20); drawtext( ' поиграть так как', 5,35); drawtext( ' у Вас ', 5,50); drawtext( ' недостаточная ', 5,65); drawtext( ' сумма на счету ',5,80); repaint;delay(7000); end; if (menuGetSelectedIndex = onehand) and (password<>'') and (amount>4) then begin showcanvas; loading; one_hand_gangster; end; if (menuGetSelectedIndex = entering) then begin clearform; ShowForm; repeat //вход // считывание пароля и логина rs := openRecordStore('name'); login := readRecordStoreEntry(rs, 1); closeRecordStore(rs); rs := openRecordStore('pass'); password := readRecordStoreEntry(rs, 1); closeRecordStore(rs); itemidlogin := FormAddTextField('логин', login, 20, TF_ANY); itemidpass:= formaddtextfield('пароль',password,20,TF_ANY); cmdNext := CreateCommand('Go!', CM_OK, 1); AddCommand(cmdNext); repeat // ждем нажатие клавиши clicked := getClickedCommand; until clicked <> emptyCommand; login:=FormGetText(itemIdlogin); password:=FormGetText(itemIdpass); // сохранение пароля и логина deleterecordstore('name'); deleterecordstore('pass'); rs := openRecordStore('name'); i := addRecordStoreEntry(rs, login); closeRecordStore(rs); rs := openRecordStore('pass'); i := addRecordStoreEntry(rs, password); closeRecordStore(rs); until clicked=cmdNext ; ShowCanvas; enter; end;//конц вход if (menuGetSelectedIndex = about) then begin showcanvas; setcolor(0,0,0); fillrect(0,0,176,220); setcolor(255,0,0); drawtext( ' програма являеться ', 5,5); drawtext( ' частью сервиса ', 5,20); drawtext( ' http://WapSerf.Net', 5,35); drawtext( ' она позволяет проводить ', 5,50); drawtext( ' игры на средства ', 5,65); drawtext( ' находящиеся на вашем ',5,80); drawtext( ' аккаунте ',5,95); drawtext( ' на данном сайте.',5,110); repaint;delay(7000); end; if (menuGetSelectedIndex = registr) then begin //регистрация r:= platform_request('http://wapserf.net/reg.php'); end; if (menuGetSelectedIndex = avtologin) then begin //автологин if password<>'' then r:= platform_request('http://wapserf.net/index.php?login='+login+'&pass='+password); end; until menuGetSelectedIndex = vyhod ; showcanvas; setcolor(0,0,0); fillrect(0,0,176,220); setcolor(255,0,0); drawtext( ' спасибо за использование ', 5,5); drawtext( ' нашего сервиса ', 5,20); drawtext( ' незабудте посмотреть сайты ', 5,35); drawtext( ' на вапсерфинге ', 5,50); drawtext( ' http://WapSerf.Net ', 5,65); repaint;delay(5500); if password<>'' then r:= platform_request('http://wapserf.net/index.php?login='+login+'&pass='+password) else r:= platform_request('http://wapserf.net/reg.php'); end.