• Welcome to TUKE FÓRUM - Fórum pre Å¡tudentov Technickej Univerzity v KoÅ¡iciach.
 

Programovanie

Started by esperian, 18.02.2011, 22:35:36

« predchádzajúce - ïal¹ie »

drakeman

Quote"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory `/cygdrive/c/Users/Documents/NetBeansProjects/karolko'
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/karolko.exe
make[2]: Entering directory `/cygdrive/c/Users/Documents/NetBeansProjects/karolko'
mkdir -p build/Debug/MinGW-Windows
rm -f build/Debug/MinGW-Windows/karol.o.d
gcc.exe    -c -g -MMD -MP -MF build/Debug/MinGW-Windows/karol.o.d -o build/Debug/MinGW-Windows/karol.o karol.c
karol.c:5:20: fatal error: curses.h: No such file or directory
compilation terminated.
make[2]: *** [build/Debug/MinGW-Windows/karol.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

make[2]: Leaving directory `/cygdrive/c/Users/Documents/NetBeansProjects/karolko'
make[1]: Leaving directory `/cygdrive/c/Users/Documents/NetBeansProjects/karolko'

BUILD FAILED (exit value 2, total time: 1s)
skusil som to dat do uvodzoviek nepomohlo...
môže to byť preto, lebo používam MinGW a nie cygwin?

fakovnik

Tým to nebude :)

V tom vlastnosti projektu si nastavil Additional Library Directories na tú zložku kde máš tie curses ?

Inak tieto súbory by tam mali byť.

Whoever said money can't buy happiness isn't spending it right.

majek32

viem ze je to este skoro ale neviete akou formou bude prebiehat skuska z programka? bude to tak isto ako UPS ze bude test na moodly?

Tren


Don_Corleone

Quote from: tomas4578 on  18.04.2011, 02:47:05
Quote"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory `/cygdrive/c/Users/Documents/NetBeansProjects/karolko'
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/karolko.exe
make[2]: Entering directory `/cygdrive/c/Users/Documents/NetBeansProjects/karolko'
mkdir -p build/Debug/MinGW-Windows
rm -f build/Debug/MinGW-Windows/karol.o.d
gcc.exe    -c -g -MMD -MP -MF build/Debug/MinGW-Windows/karol.o.d -o build/Debug/MinGW-Windows/karol.o karol.c
karol.c:5:20: fatal error: curses.h: No such file or directory
compilation terminated.
make[2]: *** [build/Debug/MinGW-Windows/karol.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

make[2]: Leaving directory `/cygdrive/c/Users/Documents/NetBeansProjects/karolko'
make[1]: Leaving directory `/cygdrive/c/Users/Documents/NetBeansProjects/karolko'

BUILD FAILED (exit value 2, total time: 1s)
skusil som to dat do uvodzoviek nepomohlo...
môže to byť preto, lebo používam MinGW a nie cygwin?

skus si z piateho cvika stiahnut ten TheProject(http://it4kt.fei.tuke.sk/c/pvjc/scenarios/download/the.project.zip) a z neho nakopirovat do tvojho projectu adresar include ktory by mal obsahovat (curses.h;panel.h) ak to budes mat tak daj v netbeanse properties , tam C compiler tam do include directories vloz prave ten include adresar . malo by to ist


Don_Corleone

ja mam skor problemy s pracou v curses... mam include<curses.h> potom inistcr(); a ak zadam prikaz printw("XXX"); nevypise mi nic .. ma tam byt este nejaky prikaz ?

hardest

ma to byt initscr();  ... ale to si asi len spravil preklep tu na fore ... skus este pridat na koniec programu endwin();  refresh();

Don_Corleone

diky moc funguje to :) este tie prikazy s farbami rozlustit a bude to celkom fajn  ;)

xxx3

ako mate rieseny stavovy riadok ? mal som ho zatial v riadku, ale je tam uz toho pomerne dot tak som to chcel prerobit na take dvojriadkove

tak som dal printw("POSITION\t FACING\t BEEP-CORNER\t STEPS\n");  atd. ... ale robi mi to nejake velmi siroke medzery a ani nie su rovnake ... ako to mam spravit aby to bolo take ako v tych navodoch na cvicenia, ze len take male medzery ? Ako inak ked nie cez \t ?  

mirek

Quote from: xxx3 on  19.04.2011, 22:05:11
Ako inak ked nie cez \t ? 
skus dat miesto toho \t len jednu medzeru. alebo dve...
So say we all!

zaky

nwm si dat rady s move() cez znacku, jak to mate riesene?

92% teenagerů neposlouchá svojí maminku. Patříš-li mezi zbývajících 8%, dej si tohle do podpisu

hardest

myslis pohyb robota cez znacku ? alebo move z kniznice curses ?

predpokladam, ze myslis mohyb karla cez znacku ... co na tom nevies ? ... co ti tam robi problem ?

zaky

no jak to mas?
najnovsie mi proste karel, kade chodi tam zanechava znacky, nwm proste jak osetrit spravne funkciu move()

92% teenagerů neposlouchá svojí maminku. Patříš-li mezi zbývajících 8%, dej si tohle do podpisu

hardest

naco pleties do funkcie move beepre ? ... do move daj len nejaky switch na karel.direction a osetris kazdy smer ... budes zvysovat alebo znizovat x-ovu alebo y-ovu suradnicu karla ... napr. pre smer EAST das aby sa karlova suradnica posunula o 1 stlpec + ... a potom zavolas funkciu na vycistenie obrazovky a nasledne draw()

Don_Corleone

#339
Quote from: zaky on  21.04.2011, 03:04:11
no jak to mas?
najnovsie mi proste karel, kade chodi tam zanechava znacky, nwm proste jak osetrit spravne funkciu move()

v turnone musis najprv na karolovu poziciu do world (x) (y) dat empty -->(=EMPTY); a zaroven ulozit karel.x karel.y ako suradnice ... tym spravis v podstate dve vrstvy, v drawe das ako prvu podmienku if (mapa (x) (y)==empty) {a do vnutra  podmienku ze ak sa suradnice mapa (x) (y) - teda x==karel.x a y==karel.y rovnaju vykresli karola ak nie vykresli beeper alebo volne miesto .} nasleduje else vykresli stenu .

tym mas doriesene ze ak ti prejde cez znacku neprepise ti ju ani nezanechava . snad ti to pomoze :)  
a move ti vysvetlil hardest

esperian

ahojte, ako ste vyriesili tu upravu moveku ,aby ak sa pred karlom nachadza znacka tak ju posunie ?? to sa robi tak ze prejde na tu znacku, zdvihne ju , pojde dopredu, polozi ju a potom sa vrati o krok s5 a otoci sa ako bol predtym ?? alebo sa to da aj jednoduhsie ??

esperian

a este ako by som mohol zrychlit jednotlive kroky ?? napriklad ak mam turnRight tak fo funkcii mam 3 karat turnleft ako spravim aby so nebolo viditelne?? viem ze predtym sme pouzivali setStepDelay ale teraz ako ?? iste to bude nieco z kniznice curses ale co ? hladal som v cvikach ale nic som nenasie

Don_Corleone

kedze toto nie je karel . ale sokoban v podstate .. tak to nikomu nebude vadit ked spravis funkciu turnRight v zmysle ze ti miesto karel.direction + 90 da -90 ale tak nejako :D a ja delay nemam vobec cize ak stlacim klavesu bez viditelnej odozvy sa pohne sipka v smere aky stisnem na klavesnici .

a k tym bednickam . ja to mam spravene tak ze trebars v smere na obrazovke do prava chces posunut bednu tak jednoducho .

1. prepise aktualnu poziciu bednicky na EMPTY v strukture world
2. prepise nasledujucu poziciu na BOX
3. posunie sipku v smere

mam tam ale dost vela if podmienok a taktiez jednu funkciu ktora kontroluje ci su pred sipkou dve prekazky alebo nie ak ano nerobi nic.

hardest

ako ste riesili to DELIVER co ma ukazovat kolko krabic je uz v cielovej casti ?

dal som to ako globalnu premennu a potom do movek() som dal, ze ked sa suradnice krabice rovnaju suradniciam tej casti, kde treba poposuvat krabice tak sa inkrementuje ta globalna premenna ... lenze mam tam taky problem, ze ked tam raz posuniem krabicu, inkrementuje sa premenna pri moveku ale potom sa inkrementuje pri kazdom dalsom pohybe karla hocikam, lebo krabica je stale na tom vyhradenom mieste, takze podmienka, ze tam ma byt sa stale vyhodnoti kladne, takze stale sa inkrementuje ta premenna .... kam to mam teda dat tu inkrementaciu aby mi toto nerobilo ? ako ste to robili vy ?

orsi

ani ja nemam žiadny delay  :D
k tym krabiciam - aj ja tam mam kopec ifov lebo môže nastať veľa rôznych situácií
delivered - lahucke

hardest

tiez sa mi to delivered zdalo lahucke, vsak co, jedna globalna premenna a staci ju inkrementovat, ale neviem ako to spravit aby sa inkrementovala len raz, len vtedy ked sa posunie krabica na to spravne miesto a nie aj potom pri kazdom pohybe karla ... ale este nieco ma teraz napadlo, skusim to :D

Don_Corleone

na krabice je zbytocnost davat suradnice ... skusal som to aj tak ale je to omnoho lahsie len s define .... a inkrementacie je tiez lahucka
ale v tvojej situacii neviem ako mas riesenu sitaciu ked je pred bednou miesto kam ju ulozit aby ti dalo * miesto  bodky skus to tam supnut

hardest

zeby som to prerobil s pouzitim makier ?  ... mas len makra na krabice ? ze v turnOn() das do world nejake makro ? ... a potom tu cielovu poziciu mas ako ? tiez ako makro cez define?

Don_Corleone

robil som to tri krat  ;D bu prvy krat cez makra ... lenze mi premazavalo bodku ked som cez nu pretlacil bednu ... tak som bol do toho tak zazraty ze som supol hned na suradnice ale tam som sa totalne domotal tak som to dal od znova cez makra ..
cize ano mam define - box , place a done cize bedna miesto a miesto ked je na nom bedna.
system je v tom ze pri tlaceni krabice ked je okrem inych podmienka if world (x) (y) (+1 pozicia v smere karla) DONE tak tak to miesto nahradi PLACE . a miesto world(x) (y) +2 nahradi BOX. ak je + 1 pozicia Box tak to nahradi EMPTY a hned dalsia pozicia je BOX

nikdy som nevedel nic vysvetlit poriadne :D ale snad sa z toho da nieco pouzit  :thumbsup:

RiTChi

Mam taky problem, sice to ani nie je problem, kedze to mam vyriesene, ale zaujimalo by ma to,

v turnOn-e som dal miesto:
for( unsigned short cursor = 0; cursor < strlen( map ); cursor++)

toto:


unsigned short cursor;
while( map [cursor] != '\0')


ono by to malo podla mna robit to iste, akurat, ze ten while nepouziva funkciu strlen z string.h, no ak pouzijem while tak narazim na segmentation fault