Autor Wątek: Tester  (Przeczytany 3712 razy)

Offline Jakubek

  • Użytkownik

# Luty 02, 2006, 14:54:29
Witam !!

Muszę zrobić  grę "Tester 1.1" jest to gra która losowo zadaje pytanie... tu jest kod.. zrobione w Delphi ... wiem wiem, badziewie ale muszę przynieś to do szkoły

unit Unit1;

interface

uses
  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;
    tekst: TLabel;
    tekst1: TLabel;
    tekstLiczbaPytan: TLabel;
    tekstLiczbaPoprawnych: TLabel;
    tekstLiczbaBlednych: TLabel;
    radioOdpowiedz1: TRadioButton;
    radioOdpowiedz2: TRadioButton;
    radioOdpowiedz3: TRadioButton;
    przyciskOdpowiedz: TButton;
    MainMenu1: TMainMenu;
    Plik1: TMenuItem;
    Zamknij1: TMenuItem;
    Pomoc1: TMenuItem;
    Wiedzainformacje1: TMenuItem;
    Dodaj1: TMenuItem;
    Pytanie1: TMenuItem;
    procedure Zamknij1Click(Sender: TObject);
    procedure uaktualnijnapisy(numerPytania:integer);
    procedure Ttest.FormCreate(Sender: TObject);
    procedure Ttest.przyciskOdpowiedzClick(Sender:TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
const liczbaPytan=3
var
  test: Ttest;
  pytanie: array [1..liczbaPytan] of string;
  odpowiedz1: array[1.liczbaPytan] of string;
  odpowiedz2: array[1..liczbaPytan] of string;
  poprawne: array [1.liczbaPytan] of integer;
  aktualnePytanie:integer;
  liczbaPoprawnych:integer;
implementation

{$R *.dfm}

procedure Ttest.Zamknij1Click(Sender: TObject);
begin
close;
end;

procedure uaktualnijnapisy(numerPytania:integer);
begin
test.Caption:='Wiedza' + intToStr(aktualnePytanie)+'/' +intToStr(liczbaPytan);
test.tekstPytanie.Caption:=pytanie[numerPytania];
test.radioOdpowiedz1.Caption:=pytanie[numerPytania];
test.radioOdpowiedz2.Caption:=pytanie[numerPytania];
test.radioOdpowiedz3.Caption:=pytanie[numerPytania];
test.tekstLiczbaPytan.Caption:=intToStr(aktualnePytanie-1);
test.tekstLiczbaPoprawnych.Caption:=intToStr(liczbaPoprawnych);
test.tekstLiczbaBlednych.Caption:=intToStr(aktualnePytanie-liczbaPoprawnych-1);
end;

procedure Ttest.FormCreate(Sender: TObject);
begin
pytanie [1]:='Jakies pytanie?';
odpowiedz1[1]:='odpowiedz1';
odpowiedz2[1]:='odpowiedz2';
odpowiedz3[1]:='odpowiedz3';
poprawne[1]:=2;

pytanie [2]:='Jakies pytankoooooooo?';
odpowiedz1[2]:='odpowiedz1';
odpowiedz2[2]:='odpowiedz2';
odpowiedz3[2]:='odpowiedz3';
poprawne[2]:=1;

pytanie [3]:='Jakies pytanieeeeeeeeeyyy?';
odpowiedz1[3]:='odpowiedz1';
odpowiedz2[3]:='odpowiedz2';
odpowiedz3[3]:='odpowiedz3';
poprawne[3]:=3;

liczbaPoprawnych:=0;
aktualnePytanie:=1;
uaktualnijNapisy(aktualnePytanie);
end;

function
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 jedną opcję')
else
begin
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.tekstLiczbaBlednych.Caption:=intToStr(liczbaPytan - liczbaPoprawnych);
showmessage('Odpowiedziałes już na wszystkie pytania');
close;
end;



i teraz pytanie.. jak zrobić aby w tym programie można było dodawać pytania ?? ..

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Gorion

  • Użytkownik
    • Strona domowa

# Luty 02, 2006, 15:30:17
Po pierwsze tablice robić dynamiczne
var tab:array of string;
i inicjuje się taką tablice
setlength(tab,ilosc_elementow);
A pytania możesz odczytać sobie z pliku ini -> http://4programmers.net/Delphi/Artyku%C5%82y/Pliki_INI

Offline bojkar

  • Użytkownik
    • Profesjonalne aplikacje i strony internetowe

# Luty 02, 2006, 15:32:46
Nie trzeba odrazu w ini mieszac. Wystarczy prosty plik textowy. Pobierasz pytania zapisujesz do pliku i poznie wczytujesz je(mozesz tez do jakiejs tablicy dynamicznej zapisywac i odczytywac)

Offline Jakubek

  • Użytkownik

# Luty 02, 2006, 15:48:54
ściągnij program
www.gim3.net/Wiedza.zip

oo .. np. chcę zrobić coś takiego

1. W programie będzie opcja dodaj pytanie .. i to pytanie będzie się zapisywało w pliku .txt a potem będzie się samo dodawało do skryptu ... wogóle nie wiem jak to zrobić :D więc proszę o pomoc ...




pozdr.  ;D

Offline bojkar

  • Użytkownik
    • Profesjonalne aplikacje i strony internetowe

# Luty 02, 2006, 15:55:25
no masz dodaj pytanie do dodajesz do pliku nowe pytania. A pozniej jak bierzesz star game to wczytujesz wszystkie nie wiem jak ta gra ma byc zbudowana.

Offline Jakubek

  • Użytkownik

# Luty 02, 2006, 16:01:08
no tak ale jak dodać coś do kodu jak ta gra jest już zrobiona...(poplątałem ? :D )


Offline bojkar

  • Użytkownik
    • Profesjonalne aplikacje i strony internetowe

# Luty 02, 2006, 16:08:40
EEE to chcesz zmienic cos w programie i nie masz do niego kodu zrodlowego czy jak? nie rozumiem

Offline Jakubek

  • Użytkownik

# Luty 02, 2006, 16:14:08
nie, nie

Zrobiłem program w Delphi (wiedza 1.1) i teraz chcę dodać do niej opcję "dodawanie pytań" . Jak to zrobić ??

Offline bojkar

  • Użytkownik
    • Profesjonalne aplikacje i strony internetowe

# Luty 02, 2006, 16:18:23
Cytuj
no tak ale jak dodać coś do kodu jak ta gra jest już zrobiona...

No to jak masz zrodlo to normalnie dodac pare linijek, przerobic.

mozesz zrobic tak jak mowil Gorion w ini albo jak ja w pliku textowy. CZyli przy dodawaniu pytan zapisujesz je w pamieci albo w pliku textowym i przy "new game" wczytujesz je. Nikt CI gotowego kodu nie poda musisz sam to zrobic. Chyba ze masz duzo $$  ;) ]:->

Offline Jakubek

  • Użytkownik

# Luty 02, 2006, 16:23:37
nie chodziło mi o to aby ktoś mi napisał kod :D :D :D
... zrobię tak jak Gorion pisał .. dzięki