Hracia kocka - borland pascal 7

Programovacie jazyky, rady, poradňa...
mi-chau
Darca
Darca
Používateľov profilový obrázok
Príspevky: 5858
Registrovaný: 14 jan 2007, 22:52

Hracia kocka - borland pascal 7

Príspevok od používateľa mi-chau »

Zdravim, potrebujem nejake napady - mam vystup 1 az 6 a treba ho aj zobrazit ako hraciu kocku (co najjednoduchise, nasjtrucnejsie). Nejake napady? :?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Riešiš v grafickom móde, alebo v textovom...?
mi-chau
Darca
Darca
Používateľov profilový obrázok
Príspevky: 5858
Registrovaný: 14 jan 2007, 22:52

Príspevok od používateľa mi-chau »

Kod riesenia v grafickom mode bude asi dlhsi ako v textovom. Pre mna je rozhodujuca dlzka.
//co znamena ze v textovom :)
mirak2
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6719
Registrovaný: 18 sep 2005, 13:44
Bydlisko: Prague, CZE / Kosice, SVK

Príspevok od používateľa mirak2 »

Kód: Vybrať všetko

uses
  Crt, Graph;
var
  Gd, Gm, cislo : Integer;

procedure jednotka;
begin
setfillstyle(1,red);
bar3d(200,200,400,400,100,true);
setfillstyle(1,white);
pieslice(300,300,0,360,20);
end;

procedure dvojka;
begin
setfillstyle(1,red);
bar3d(200,200,400,400,100,true);
setfillstyle(1,white);
pieslice(250,350,0,360,20);
pieslice(350,250,0,360,20);
end;

procedure trojka;
begin
setfillstyle(1,red);
bar3d(200,200,400,400,100,true);
setfillstyle(1,white);
pieslice(300,300,0,360,20);
pieslice(240,360,0,360,20);
pieslice(360,240,0,360,20);
end;

procedure stvorka;
begin
setfillstyle(1,red);
bar3d(200,200,400,400,100,true);
setfillstyle(1,white);
pieslice(250,250,0,360,20);
pieslice(350,250,0,360,20);
pieslice(350,350,0,360,20);
pieslice(250,350,0,360,20);
end;

procedure patka;
begin
setfillstyle(1,red);
bar3d(200,200,400,400,100,true);
setfillstyle(1,white);
pieslice(250,250,0,360,20);
pieslice(350,250,0,360,20);
pieslice(350,350,0,360,20);
pieslice(250,350,0,360,20);
pieslice(300,300,0,360,20);
end;

procedure sestka;
begin
setfillstyle(1,red);
bar3d(200,200,400,400,100,true);
setfillstyle(1,white);
pieslice(250,240,0,360,20);
pieslice(250,300,0,360,20);
pieslice(250,360,0,360,20);
pieslice(350,240,0,360,20);
pieslice(350,300,0,360,20);
pieslice(350,360,0,360,20);
end;

begin
  Gd := Detect; InitGraph(Gd, Gm, 'C:\tp\bgi');
  if GraphResult <> grOk then Halt(1);
  Randomize;

cislo:=(random(6)+1);

if cislo=1 then jednotka;
if cislo=2 then dvojka;
if cislo=3 then trojka;
if cislo=4 then stvorka;
if cislo=5 then patka;
if cislo=6 then sestka;

  repeat until KeyPressed;
  ReadLn;
  CloseGraph;
end.
tuna je to urobene cez random, mozes si to urobit ako len xces, ci bude vstup z klavesnice a ta hromada ifov sa tiez da zmenit na case, ale v case ked som to pisal som nemal sajnu ako funguje case...ak xces ho skratit tak z kazdej procedury vytiahni nakreslenie kocky a potom procedury budu iba bodky kreslit ^^ a toto je v TP pisane, neviem ci v tom je nejaky kardinalny rozdiel..ak hej tak hadam aj moje pomoze (pls nekamenovat)
mi-chau
Darca
Darca
Používateľov profilový obrázok
Príspevky: 5858
Registrovaný: 14 jan 2007, 22:52

Príspevok od používateľa mi-chau »

No waw, :lol: kazdopadne dik, ale mne slo hlavne o strucnost, este aj moje riesenie cez ascii je strucnejsie..
Zobrazenie kocky nieje hlavnou ulohou programu, je to len ceresnicka.. ale aj tak dik.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Textový mód je to, čo ty voláš ascii.
Ak chceš textový mód, tak môžeš urobiť pole reťazcov a doň si dáš " \n o \n ", "o \n \n o"... (samozrejme prechod na nový riadok musíš vyriešiť spôsobom, ktorý sa používa v Pascale). Potom jednoducho zobrazíš správny reťazec.
Napísať odpoveď