Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Unit GameShop;
- Interface
- Uses
- Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
- Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.ExtCtrls, Vcl.StdCtrls,
- Vcl.Samples.Spin, Vcl.Imaging.pngimage, Vcl.Imaging.GIFImg;
- Type
- TStoreForm = class(TForm)
- ModelImage: TImage;
- ChooseButton: TButton;
- UnitSpinEdit: TSpinEdit;
- BuyButton: TButton;
- BalanseLabel: TLabel;
- CoinImage: TImage;
- Balanse: TLabel;
- ChangeCategoryButton: TButton;
- Background: TImage;
- Procedure FormCreate(Sender: TObject);
- Procedure ChooseButtonClick(Sender: TObject);
- Procedure UnitSpinEditChange(Sender: TObject);
- Procedure FormShow(Sender: TObject);
- Procedure BuyButtonClick(Sender: TObject);
- Procedure ChangeCategoryButtonClick(Sender: TObject);
- Private
- { Private declarations }
- Public
- { Public declarations }
- End;
- Type
- Carss = record
- Skin: TImage;
- Price: Byte;
- IsOpened: Boolean;
- End;
- TCarrs = array of Carss;
- var
- StoreForm: TStoreForm;
- Cars: Array[0..6] of Carss;
- Roads: Array[0..3] of Carss;
- IsCar:Boolean = True;
- Implementation
- Uses Game, MainGameMenu;
- {$R *.dfm}
- *процедуры и функции тут*
- End.
- unit Loading;
- interface
- Uses
- System.SysUtils, System.Classes, Vcl.ExtCtrls, Generics.Collections;
- Procedure SaveProgressData();
- Procedure SaveStoreData(FileName: String; DataArray: TCarrs);
- Procedure SaveCurrentSkinsData();
- Procedure LoadProgressData();
- Procedure CreateProgressFile();
- Procedure LoadStoreData(FileName: String; var DataArray: TCarrs);
- procedure CreateStoreDataFile(FileName: String; DataArray: TCarrs);
- Procedure LoadCurrentData();
- Procedure CreateCurrentDataFile();
- Procedure LoadData();
- Procedure LoadSounds();
- Procedure LoadTextures();
- implementation
- uses MainGameMenu, GameShop, Game;
- Procedure SaveProgressData();
- Var
- DataFile: File of LongWord;
- Begin
- AssignFile(DataFile, 'data.bin' );
- Rewrite(DataFile);
- Write(DataFile, Rec);
- Write(DataFile, Money);
- CloseFile(DataFile);
- End;
- Procedure SaveStoreData(FileName: String; DataArray: TCarrs);
- Var
- StoreDataFile: File of Boolean;
- I: Byte;
- Begin
- AssignFile(StoreDataFile, FileName);
- Rewrite(StoreDataFile);
- For I := 0 to High(DataArray) do
- Write(StoreDataFile, DataArray[i].IsOpened);
- CloseFile(StoreDataFile);
- End;
- Procedure SaveCurrentSkinsData();
- Var
- DataFile: File of Byte;
- Begin
- AssignFile(DataFile, 'currentdata.bin' );
- Rewrite(DataFile);
- Write(DataFile, CurrentCar);
- Write(DataFile, CurrentRoad);
- CloseFile(DataFile);
- End;
- Procedure LoadProgressData();
- Var
- DataFile: File of LongWord;
- Begin
- AssignFile(DataFile, 'data.bin' );
- Reset(DataFile);
- Read(DataFile, Rec);
- Read(DataFile, Money);
- CloseFile(DataFile);
- End;
- Procedure CreateProgressFile();
- Var
- DataFile: File of LongWord;
- Zero: LongWord;
- Begin
- Zero := 0;
- AssignFile(DataFile, 'data.bin' );
- Rewrite(DataFile);
- Write(DataFile, Zero);
- Write(DataFile, Zero);
- CloseFile(DataFile);
- End;
- Procedure LoadStoreData(FileName: String; var DataArray: TCarrs);
- Var
- StoreDataFile: File of Boolean;
- I: Byte;
- Begin
- AssignFile(StoreDataFile, FileName);
- Reset(StoreDataFile);
- For I := 0 to High(DataArray) do
- Read(StoreDataFile, DataArray[I].IsOpened);
- CloseFile(StoreDataFile);
- End;
- procedure CreateStoreDataFile(FileName: String; DataArray: TCarrs);
- var
- StoreDataFile: File of Boolean;
- Buf: Boolean;
- I: Byte;
- Begin
- Buf := False;
- AssignFile(StoreDataFile, FileName);
- Rewrite(StoreDataFile);
- For I := 0 to High(DataArray) do
- Write(StoreDataFile, Buf);
- CloseFile(StoreDataFile);
- End;
- Procedure LoadCurrentData();
- Var
- DataFile: File of Byte;
- Begin
- AssignFile(DataFile, 'currentdata.bin' );
- Reset(DataFile);
- Read(DataFile, CurrentCar);
- Read(DataFile, CurrentRoad);
- CloseFile(DataFile);
- End;
- Procedure CreateCurrentDataFile();
- Var
- DataFile: File of Byte;
- Zero: LongWord;
- Begin
- Zero := 0;
- AssignFile(DataFile, 'currentdata.bin' );
- Rewrite(DataFile);
- Write(DataFile, Zero);
- Write(DataFile, Zero);
- CloseFile(DataFile);
- End;
- Procedure LoadData();
- Begin
- If FileExists('data.bin') then
- LoadProgressData()
- Else
- CreateProgressFile();
- If FileExists('currentdata.bin') then
- LoadCurrentData()
- Else
- CreateCurrentDataFile();
- If FileExists('cars_storedata.bin') then
- LoadStoreData('cars_storedata.bin', Cars)
- Else
- CreateStoreDataFile('cars_storedata.bin', Cars);
- If FileExists('roads_storedata.bin') then
- LoadStoreData('roads_storedata.bin', Roads)
- Else
- CreateStoreDataFile('roads_storedata.bin', Roads);
- End;
- Procedure LoadSounds();
- Begin
- Songs := TList<String>.Create;
- Songs.Add('Music\cl.wav');
- Songs.Add('Music\Eye_of_the_Tiger.wav');
- Songs.Add('Music\Ghostbusters.wav');
- Songs.Add('Music\Jump.wav');
- Songs.Add('Music\Livin_On_A_Prayer.wav');
- Songs.Add('Music\Stayin_Alive.wav');
- Songs.Add('Music\TMNT.wav');
- Songs.Add('Music\Take_On_Me.wav');
- SoundsDOWN := TMemoryStream.Create;
- SoundsUP := TMemoryStream.Create;
- SoundsDOWN.LoadFromFile('Sound\TORMOZ.wav');
- SoundsUP.LoadFromFile('Sound\UP.wav');
- SoundsUP.Position := 0;
- SoundsDOWN.Position := 0;
- End;
- function CheckJPG(Path: String): boolean;
- var
- C: Cardinal;
- AStream: TFileStream;
- IsCorrect: Boolean;
- begin
- IsCorrect := True;
- Astream := TFileStream.Create(Path, fmOpenRead);
- C := 0;
- Astream.Position := 0;
- Astream.ReadBuffer(C, 3);
- if C = $FFD8FF then
- IsCorrect := True
- else
- IsCorrect := False;
- Astream.Destroy;
- CheckJPG := IsCorrect;
- end;
- function CheckPNG(Path: String): boolean;
- var
- C: Cardinal;
- AStream: TFileStream;
- IsCorrect: Boolean;
- begin
- IsCorrect := True;
- Astream := TFileStream.Create(Path, fmOpenRead);
- C := 0;
- Astream.Position := 0;
- Astream.ReadBuffer(C, 3);
- if C = $4E5089 then
- IsCorrect := True
- else
- IsCorrect := False;
- Astream.Destroy;
- CheckPNG := IsCorrect;
- end;
- procedure LoadPNGPicture(var Car: TImage; Path: String);
- begin
- if CheckPNG(Path) then
- Car.Picture.LoadFromFile(Path)
- else
- Car.Picture := nil;
- end;
- procedure LoadJPGPicture(var Road: TImage; Path: String);
- begin
- if CheckJPG(Path) then
- Road.Picture.LoadFromFile(Path)
- else
- Road.Picture := nil;
- end;
- Procedure LoadTextures();
- var
- I: Byte;
- begin
- For I := 0 to High(Cars) do
- Cars[I].Skin := TImage.Create(nil);
- For I := 0 to High(Roads) do
- Roads[I].Skin := TImage.Create(nil);
- LoadPNGPicture(Cars[0].Skin, 'Textures\Cars\BLUE_CAR.png');
- LoadPNGPicture(Cars[1].Skin, 'Textures\Cars\WHITE_CAR.png');
- LoadPNGPicture(Cars[2].Skin, 'Textures\Cars\CREEN_RACING_CAR.png');
- LoadPNGPicture(Cars[3].Skin, 'Textures\Cars\WHITE_RACING_CAR.png');
- LoadPNGPicture(Cars[4].Skin, 'Textures\Cars\RED_SPOILER_CAR.png');
- LoadPNGPicture(Cars[5].Skin, 'Textures\Cars\TAXI.png');
- LoadPNGPicture(Cars[6].Skin, 'Textures\Cars\POLICE_CAR.png');
- LoadJPGPicture(Roads[0].Skin, 'Textures\Roads\ROAD_GRASS.jpg');
- LoadJPGPicture(Roads[1].Skin, 'Textures\Roads\ROAD_SNOW.jpg');
- LoadPNGPicture(Roads[2].Skin, 'Textures\Roads\ROAD_COUNTRY.png');
- LoadJPGPicture(Roads[3].Skin, 'Textures\Roads\ROAD_RAINBOW.jpg');
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement