Skocz do zawartości

Ignition

Użytkownik
  • Postów

    2
  • Dołączył

  • Ostatnia wizyta

Osiągnięcia Ignition

Newbie

Newbie (1/14)

0

Reputacja

  1. to moze ja podam kod bo nie bardzo wiem o co chodzi:) unit gra;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Menus;type Ttest = class(TForm) panelPytanie: TPanel; panelOdpowiedz: TPanel; panelStatystyka: TPanel; tekstPytanie: TLabel; Label1: TLabel; Label2: TLabel; Label3: TLabel; tekstLiczbaPytan: TLabel; tekstLiczbaPoprawnych: TLabel; tekstLiczbaNiepoprawnych: TLabel; radioOdpowiedz1: TRadioButton; radioOdpowiedz2: TRadioButton; radioOdpowiedz3: TRadioButton; przyciskOdpowiedz: TButton; MainMenu1: TMainMenu; Gra1: TMenuItem; Odpowiedz1: TMenuItem; Koniec1: TMenuItem; Autor1: TMenuItem; procedure Autor1Click(Sender: TObject); procedure Koniec1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure przyciskOdpowiedzClick(Sender: TObject); private { Private declarations } public { Public declarations } end; const liczbaPytan =11;var test: Ttest; pytania: array [1..liczbaPytan] of string; odpowiedzi1: array[1..liczbaPytan] of string; odpowiedzi2: array[1..liczbaPytan] of string; odpowiedzi3: array[1..liczbaPytan] of string; poprawne: array[1..liczbaPytan] of integer; aktualnePytanie:integer; liczbaPoprawnych:integer;implementationuses Unit2;{$R *.dfm}procedure uaktualnijNapisy(numerPytania:integer);begintest.Caption:='Gra dla ZIP el0. Pytanie ' + intToStr(aktualnePytanie) + '/' +intToStr(liczbaPytan);test.tekstPytanie.Caption:=pytania[numerPytania];test.radioOdpowiedz1.Caption:=odpowiedzi1[numerPytania];test.radioOdpowiedz2.Caption:=odpowiedzi2[numerPytania];test.radioOdpowiedz3.Caption:=odpowiedzi3[numerPytania];test.tekstLiczbaPytan.Caption:=intToStr(aktualnePytanie - 1 );test.tekstLiczbaPoprawnych.Caption:=intToStr(liczbaPoprawnych);test.tekstLiczbaNiepoprawnych.Caption:=intToStr(aktualnePytanie - liczbaPoprawnych -1 );end;procedure Ttest.FormCreate(Sender: TObject);beginpytania[1]:='j';odpowiedzi1[1]:='a';odpowiedzi2[1]:='y';odpowiedzi3[1]:='o';poprawne[1]:=2;pytania[2]:='t';odpowiedzi1[2]:='k';odpowiedzi2[2]:='i';odpowiedzi3[2]:='r';poprawne[2]:=1;pytania[3]:='xx';odpowiedzi1[3]:='fa';odpowiedzi2[3]:='M';odpowiedzi3[3]:='s';poprawne[3]:=1;liczbaPoprawnych:=0;aktualnePytanie:=1;uaktualnijNapisy(aktualnePytanie);end;function ktoraOdpowiedzWybrano: integer;begin if test.radioOdpowiedz1.Checked then begin test.radioOdpowiedz1.Checked:=false; ktoraOdpowiedzWybrano:=1; end else if test.radioOdpowiedz2.checked then begin test.radioOdpowiedz2.Checked:=false; ktoraOdpowiedzWybrano:=2; end else if test.radioOdpowiedz3.checked then begin test.radioOdpowiedz3.Checked:=false; ktoraOdpowiedzWybrano:=3; end else ktoraOdpowiedzWybrano:=-1;end;procedure Ttest.przyciskOdpowiedzClick(Sender: TObject);var wybranaOdpowiedz:integer;begin wybranaOdpowiedz:= ktoraOdpowiedzWybrano(); if wybranaOdpowiedz=-1 then showMessage ('Zaznacz odpowiedz debilu') elsebegin if wybranaOdpowiedz=poprawne[aktualnePytanie] then liczbaPoprawnych:=liczbaPoprawnych+1;aktualnePytanie:=aktualnePytanie+1; if aktualnePytanie<=liczbaPytan then uaktualnijNapisy(aktualnePytanie) else begin test.tekstLiczbaPytan.Caption:=intToStr(liczbaPytan ); test.tekstLiczbaPoprawnych.Caption:=intToStr(liczbaPoprawnych); test.tekstLiczbaNiepoprawnych.Caption:=intToStr(liczbaPytan - liczbaPoprawnych ); showmessage('To juz koniec:('); close;end;end;end;procedure Ttest.Autor1Click(Sender: TObject);beginform2.showmodal;end;procedure Ttest.Koniec1Click(Sender: TObject);beginApplication.MessageBox('Czy chcesz zakończyc gre?','Test',MB_YesNoCancel + MB_IconQuestion);close;end;end.
  2. Witam! Stawiam dopiero pierwsze kroki w pisaniu programów więc prosze o nie mieszanie mnie z błotem:) Otóż napisałem na podstawie tutoriala zawartego w Komp. Świat Ekspert gre edukacyjną jednak chciałbym ją ulepszyć. 1. W jaki sposób moge dodać statystyke, która pod koniec testu wyświetli w nowym oknie ilosc poprawnych odpowiedzi i na jej podstawie wystawi ocenę/ew jakis komentarz 2. Co musze dopisać aby pytania nie wyświetlały się liniowo tylko losowo. pozdrawiam
×
×
  • Dodaj nową pozycję...