Hi

Welcome on my blog, i start it again in "English" language, i alreade have a site http://avvoltoio.extra.hu/en/ but not i start this blog again, maybe sometimes i will write Hungarian, but now i want to practise English, and there are more people who understand English than Hungarian. So what is the subject of this blog? From programming to the university, and my own life.

So this start is very short, cause i learning for a exam about algorithms which will be tomorrow, i feel i don't know enought so i maybe will be up all night and study it, but i fear i will not have enough strength to not sleep.

Visszatérés


http://avvoltoio.extra.hu/
visszatértem a régi oldalra, itt mindent megtalálsz!

Dohányozni tilos!

[8307] Dohányozni Tilos!
A feladat egy város egyszerűsített térképén bejelölni azokat a pontokat, ahol tilos a dohányzás. Adott a város cellákra osztott térképe, az hogy mely cellákban van kórház illetve iskola, valamint az, hogy ezek mekkora körzetében tilos a dohányzás. A feladat a térképen bejelölni azokat a cellákat amelyekben a kellő távolság hiánya miatt tilos a dohányzás. A város térképén minden cellát a középpontja azonosít.
Bemenet
A bemenetet a be.txt fájlból kell olvasni. A bemenet több sorból áll. Az első sorban két egész érték van szóközzel elválasztva, M és N (1 <= M,N <= 100), amik a térkép "magasságát” illetve "szélességét" jelentik, cellákban kifejezve. A második sor szintén két egész értéket tartalmaz: az első az iskolák (I), a második a kórházak (K) körüli tiltott zóna méretét tartalmazza (1 <= I,K <= 5). A 3. sorban egy egész szám van, ami megadja, hogy összesen hány iskola és kórház van a városban, majd soronként a sor elején egy ’I’ (iskola) vagy ’K’ (kórház) karakter, szóköz, majd két egész szám (S,O) szintén szóközzel
elválasztva, amik az adott intézmény sor, oszlop koordinátái (0 <= S < M, 0 <= O < N). A sorok és
oszlopok számozása 0-val kezdődik, a (0, 0) koordinátájú cella a bal felső cella. Egy cellában legfeljebb egy intézmény lehet.
Kimenet
A kimenetet a ki.txt fájlba kell írni. A kimenet pontosan M sor, minden sorban pontosan N darab ’.’, ’*’, ’I’ vagy ’K’ karakterrel. Az iskolák illetve kórházak celláit ’I’ illetve ’K’ karakterrel kell megjelölni.
Azokat a cellákat, ahol tilos a dohányzás, mert iskola vagy kórház található a megadott távolságon belül (légvonalban), a ’*’ karakterrel kell megjelölni. Azt a cellát, ahol szabad a dohányzás mert a közelben nincs intézmény egy ’.’ karakter jelöli. A (0, 0) koordinátájú cella a bal felső cella. A távolság számításánál az egyes cellák középpontjait kell figyelembe venni olyan módon, hogy a tiltás egy "zárt" távolságot jelent, azaz a határérték még tiltott zónának számít.
Példák
1. példa
Input
10 15
2 4
2
I 3 3
K 5 10
Output
...............
...*......*....
..***...*****..
.**I**.*******.
..***..*******.
...*..****K****
.......*******.
.......*******.
........*****..
..........*....

2
2. példa
Input
11 21
3 5
3
K 6 10
I 3 8
I 3 12
Output
........*...*........
......*********......
......*********......
.....***I***I***.....
......*********......
......*********......
.....*****K*****.....
......*********......
......*********......
......*********......
.......*******.......

3. példa
Input
10 20
1 1
2
I 1 1
K 8 18
Output
.*..................
*I*.................
.*..................
....................
....................
....................
....................
..................*.
.................*K*
..................*.



Megoldás:


#includeint main()
{
FILE *fb, *ki;
ki=fopen("ki.txt","w");
if(fb=fopen("be.txt","r")){
int cv1=0, cv2, cv3, o, s, i, k, szam, be=0;
fscanf(fb,"%d %d\n%d %d\n%d\n", &o, &s, &i, &k, &szam);
char ivk[szam+1];
int x[szam],y[szam], cv=0;
while(cv{
fscanf(fb,"%c %d %d\n", &ivk[cv], &x[cv], &y[cv]);
cv++;
}
cv=0;
fclose(fb);
if(o<=100 && o>=1 && s<=100 && s>=1 && i>=1 && i<=5 && k>=1 && k<=5){


char t[o+1][s+1], valami;
int b,j,f,l;



for(cv1=0;cv1 {
for(cv2=0;cv2 {
t[cv1][cv2]='.';
cv=0;
while(cv<=szam){
if(ivk[cv]=='K'){
if(((cv1-(x[cv]))-(cv2-(y[cv]))>=(-k)
&&(cv1-(x[cv]))-(cv2-(y[cv]))<=(k)
&&(cv1-(x[cv]))+(cv2-(y[cv]))>=(-k)
&&(cv1-(x[cv]))+(cv2-(y[cv]))<=(k)
)||((
cv1-(x[cv])>(-(k))
&&cv1-(x[cv])<(k)
&&cv2-(y[cv])<(k)
&&cv2-(y[cv])>(-(k)))))
{
if(k<4)
t[cv1][cv2]='*';
else if((((cv1-x[cv])+(cv2-y[cv])+(2*(k-1)))
&&
((cv1-x[cv])+(cv2-y[cv])-(2*(k-1)))
&&
(((cv1-x[cv])!=(k-1)&&(cv2-y[cv])!=(k-1))
||((cv1-x[cv])-(cv2-y[cv])+(2*(k-1))))
&&
(((cv1-x[cv])!=(k-1)&&(cv2-y[cv])!=(k-1))
||((cv1-x[cv])-(cv2-y[cv])-(2*(k-1))))))
t[cv1][cv2]='*';
}}
if(ivk[cv]=='I'){
if(((cv1-(x[cv]))-(cv2-(y[cv]))>=(-i)
&&(cv1-(x[cv]))-(cv2-(y[cv]))<=(i)
&&(cv1-(x[cv]))+(cv2-(y[cv]))>=(-i)
&&(cv1-(x[cv]))+(cv2-(y[cv]))<=(i)
)||((
cv1-(x[cv])>(-(i))
&&cv1-(x[cv])<(i)
&&cv2-(y[cv])<(i)
&&cv2-(y[cv])>(-(i)))))
{
if(i<4)
t[cv1][cv2]='*';
else if((((cv1-x[cv])+(cv2-y[cv])+(2*(i-1)))
&&
((cv1-x[cv])+(cv2-y[cv])-(2*(i-1)))
&&
(((cv1-x[cv])!=(i-1)&&(cv2-y[cv])!=(i-1))
||((cv1-x[cv])-(cv2-y[cv])+(2*(i-1))))
&&
(((cv1-x[cv])!=(i-1)&&(cv2-y[cv])!=(i-1))
||((cv1-x[cv])-(cv2-y[cv])-(2*(i-1))))))
t[cv1][cv2]='*';
}


}
cv++;
}
cv=0;
while(cv {
if((cv1==x[cv])&&(cv2==y[cv]))
{
t[cv1][cv2]=ivk[cv];
}
cv++;
}
}
}
for(cv1=0;cv1 {
for(cv2=0;cv2 {
fprintf(ki,"%c",t[cv1][cv2]);

}
fprintf(ki,"\n");
}


}}
else
fprintf(ki,"\n");
fclose(ki);
return 0;
}

Új blog weboldal helyett

Úgy tűnik a weboldalam az extra.hu-nál megszüntetem, a popup ablakok, állandó trójai fertőzések miatt, amiért szinte mindig kitilt a google az indexből.
Jelenleg még ismerkedem a bloggal, később átmásolom a régi bejegyzéseim az előző oldalamról.

Magyar Várak télen

Készítettem egy új videót Youtube-ra, a magyar várakról téli képeket tettem fel, a képek mindenhonnan össze lettek válogatva, többnyire a panoramio.com-ról.

Könyvelő, és leltár program

Sajnos a 2d Dwarf játékkal nem haladok, mert igen szűkös határidőre egy könyvelő programot kell írnom. Azt is SDL-ben készítem el, igen nehéz feladat, nem hittem volna hogy nehezebb 2d játéknál, de sajnos az. De legalább igazán jól belejövök az egymásba ágyazott dinamikus struktúratömbök használatába, és szövegbevitel rész is külön fejtörés.
Gyakorlásnak nagyon príma ha olyan feladatot kell megoldani ami mások igényeit kell hogy kielégítse.

Másik új dolog, és örömteli számomra hogy idén második félévben megismerkedhetek a JAVA programozási nyelvvel az egyetemen. Eddig csak J2me-t használtam, és ott is csak egy hello wordnél éppen jobb programot készítettem. Most legalább igazán tudni fogom az objektumorientáltságot :).

Dwarf

Itt az új videó a játékról, javítottam az ugrást, esést, és végre van háttér is :)

Videók az eddigi játékaimról

Először láthatjátok a frissen felvett képeket a Dwarf játékomról, és a pongról is tettem be videót annak aki lusta letölteni a játékot vagy a forrást.

Dwarf


SDLPong
(ne feledjétek, a játékot és a forrást a letöltésekben megtalálhatjátok)
Két videóm túllépte az ezres látogatottságot, és mivel itt még úgyse mutattam be ezeket itt most megteszem:
Magyar várak

Szeged, régen és most


Sprite rajzolás+map editor

Teljes sebességgel nekikezdtem a sprite-ok rajzolásába, példaként felteszek egyet amit most csináltam:



Mivel a sprite-ok rajzolásában nem vagyok profi, így a játék QVGA(320x240) felbontásban fog "pompázni". Másik oka ennek hogy a régi p1 133 mhz-es laptopomon fejlesztek amin nagyobb felbontásban lehet hogy szaggatna.
Természetesen a pályaszerkesztőt is folyamatosan csinálom hozzá, halad szépen minden :)