Autor Beitrag
pupu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Mo 09.10.06 21:34 
Hi
Ich habe wie hier beschrieben in Informatik ein Snakespiel programmiert...

Es gab keine festen Vorgaben und uns wurde mehr oder weniger freie Hand gelassen.

Unser Lehrer hat uns 3 Vorlagen nach und nach gegeben von denen man klauen kopieren oder das ganz einfach abändern konnte (wovon 5/6 des Kurses Gebrauch machten) Aber mir war das zu flach und deshalb hab ich mein snake nach eigenem Stil programmiert...

Dementsprechen "unprofessionell" ist auch mein Prinzip was ihr bestimmt sehen werdet ;)

Mein Lehrer arbeitet vielmehr über Parameter...ich mag lieber die globalen Variablen ;)

Nu ham wa n neues Projekt angefangen und ich lass snak0r erstmal in seiner version 1.41 ruhen...

Wenn ihr wollt könnt ihr daran weiterarbeten... lasst mich eure Ergebnisse sehen ;)

Hach ja is das schwer wenn man seine Kinder aus den Armen geben muss :lol:

Hier is der downloadlink:

home.arcor.de/patricksteffens/snak0r.zip

Wenn ihr wollt bessert den Code aus aber bitte lasst mich an jeder Veränderung wissen ;) damit ich auch noch was dazu lern

_________________
Chuck Norris bekommt bei Praktiker auch auf Tiernahrung 20% oO
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 09.10.06 21:42 
Moin!

Sorry, aber das muss ich doch jetzt loswerden, da du schon den zweiten Thread dazu startest, haste das auch verdient... :?
user profile iconpupu hat folgendes geschrieben:
Dementsprechen "unprofessionell" ist auch mein Prinzip was ihr bestimmt sehen werdet ;)
Mein Lehrer arbeitet vielmehr über Parameter...ich mag lieber die globalen Variablen ;)

Und du meinst nicht, dass dir das eventuell etwas zu denken geben sollte?! :gruebel:

user profile iconpupu hat folgendes geschrieben:
damit ich auch noch was dazu lern

Ich denke, dein Lehrer hat dir bereits Vorlagen gegeben. Weiterhin denke ich, "dazulernen" fängt mit "dazu-denken" an... :rofl: Du solltest die Gelegenheit nutzen, statt dir von uns Code zu "erbetteln" (oder warum sonst erwähnst du mehrfach, dass wir doch bitte Lust haben sollen, deinen Code zu verbessern?) :mrgreen:

Ich bin der letzte, der sich weigert zu helfen, aber mit dem Denken must du schon selbst anfangen.

Und um wieder OnT zu werden und dir einen Vorschlag zu machen, was du an deinem Programm verbessern könntest: schmeiß die globalen Variablen raus! :D

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
pupu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Mo 09.10.06 21:58 
ähm wenn du meinen ersten Thread verfolgt hättest dann wüsstest du dass ich snak0r leigen lasse und diesen thread hab ich auf empfehlung von einigen leuten geöffnet weuil das hier am besten reinpasst...

pupu hat folgendes geschrieben:
Wir haben in Informatik jetzt ein neues Projekt begonnen (Text Codieren -.- ) werde aber nich die Bugs soweit fixen un dann wohl mich erstmal mit dem neueh Projekt befassen...ich poste dann hier bald die 1.4 und gut is ;) vielen dank für eure Hilfe und Anregungen


Quake User hat folgendes geschrieben:
4. Wenn wir uns das Spiel ansehen, wird Dir das Nichts helfen. Besser währe es wir würden uns deinen Code ansehen. So könntest Du etwas lernen. Und - keine Angst, meine ersten Programme waren auch völlig Stilfrei.


zion hat folgendes geschrieben:
wenn dus nicht weitermachen willst, könntest du es auch als OpenSource freigeben und wir können dann hier dran rumbasteln ;)


Ne also wirklich ich habe weder vor irgendwelche Code zu erbetteln noch "nicht nachzudenken" wenn du wüsstest wieviel ich über das kackprogramm nachgedacht hab...und wie oft ich mir über den Code von unserem Lehrer den Kopf zerbrochen hab

Aber ich wollte das alleine machen ich wollte ein Spiel mal GANZ alleine programmieren ohne groß Tipps und ich hab 70% meiner probleme selbst gelöst ohne hier oder in der schule nachzufragen also erzähl mir nich dass ich "nicht nachdenke"

Nun Im nachhinein hör ich einfach auf "Quake Users" Tipp dass ich den Code freigebe und was dazulerne... was kann daran falsch sein???

Jetzt hab ich keine zeit mehr und ich lass euch freie hand darüber dass ichs mehrfach erwähnt hab is mir nich aufgefallen und war keine absicht

man!

_________________
Chuck Norris bekommt bei Praktiker auch auf Tiernahrung 20% oO
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 09.10.06 22:55 
Moin!

OK, komm wieder runter. ;) Die Code-Bettel-Unterstellung nehm´ ich zurück. :roll: ;)

Viel Erfolg noch. :D

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
pupu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Di 10.10.06 14:02 
danke ;) sorry aber ich hab mich in dem moment nur mega aufgeregt weil da mehr arbeit drinsteckt als man denkt ;)

_________________
Chuck Norris bekommt bei Praktiker auch auf Tiernahrung 20% oO
nullplan001
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 212

Win 2000 Professional, Debian Linux 4.0 (Etch,Stable)
Pascal (FreePascal 2.0.2, TurboPascal 7.0), C(++) (G++/GCC 3.4.2 + MinGW), Java (JDK 1.5.0_07), PHP (PHP 5.1.4)
BeitragVerfasst: Di 07.11.06 18:29 
Hi all,
ich habe da noch einen Fehler entdeckt: Du klaubst dir den Pfad für die data.dat aus GetCurrentDirectory(), stimmts? Das ist nicht nur unprofessionell, es ist auch noch inkorrekt. Mir wurde beim On-The-Fly-Testen deines Progs erstmal eröffnet, die Datei "%appdata%\Mozilla\Firefox\data.dat" könne nicht gefunden werden. Um konstruktiv zu werden: Hol dir den Pfad aus
ausblenden Delphi-Quelltext
1:
2:
3:
4:
var data_datLiesIn : string;
begin
  data_datLiesIn := ExtractFilePath(Paramstr(0));
end;

So machst du dir auch unter den exzessiv-Konsolen-nutzern (wie mir) Freunde, weil bei denen meistens GetCurrentDirectory() und ExtractFilePath(ParamStr(0)) nicht übereinstimmen.
Und in dem Fall war bei mir nicht mal eine Konsole im Weg. Das geht schneller, als man denkt.
Den nächsten Fehler kann ich dir leider nicht sagen, da das Spiel direkt nach dem "Spiel->Starten" terminiert wurde. Es gab noch eine Fehlermeldung, aber die wurde gleich mit terminiert :-( . Das Bild mit der Nachricht mit irgendwas über Pfeiltasten wurde noch geladen. OS siehe Randspalte.
Tschö,
nullplan

_________________
Ich fahr' nicht selber, weil ich festgestellt habe: ich fahre zu emotional. Bin 180 gefahren wo 30 erlaubt war... -- Jürgen von der Lippe
pupu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Di 07.11.06 23:15 
Zum ersten problem: ich mach mich ma auf die suche (puh ganz schön schwer sich da wieder reinzufuchsen wenn man da so lange nich mehr drangesessen hat...ich gewöhn mir an mehr kommentare zu schreiben ;))

zum letzteren. KEINE AHNUNG...

edit: so weit ich das überblicke lade ich die data.dat eigentlich weder über "getcurrentdir()" noch was anderes... ich habe einfach
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Procedure TForm2.laden();
var i:integer;
    liste2:TStringlist;
begin
  liste2:=TStringlist.Create;
  try
    liste2.LoadFromFile('data.dat');
    for i:=0 to Stringgrid1.RowCount do
      Stringgrid1.Rows[i].CommaText:=liste2[i+2];
  finally
    liste2.Free
  end;
end;

(was noch unprofessioneller is ;) :( )

_________________
Chuck Norris bekommt bei Praktiker auch auf Tiernahrung 20% oO
nullplan001
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 212

Win 2000 Professional, Debian Linux 4.0 (Etch,Stable)
Pascal (FreePascal 2.0.2, TurboPascal 7.0), C(++) (G++/GCC 3.4.2 + MinGW), Java (JDK 1.5.0_07), PHP (PHP 5.1.4)
BeitragVerfasst: Mi 08.11.06 16:20 
Kein Problem, in dem Fall holt sich Delphi die nicht vorhandene Info (wo liegt die data.dat) aus GetCurrentDirectory. Ändere einfach Zeile 7 deines Quelltextes in:
ausblenden Delphi-Quelltext
1:
    liste2.LoadFromFile(ExtractFilePath(ParamStr(0)) + '\data.dat');					

HTH,
nullplan

_________________
Ich fahr' nicht selber, weil ich festgestellt habe: ich fahre zu emotional. Bin 180 gefahren wo 30 erlaubt war... -- Jürgen von der Lippe
pupu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Mi 08.11.06 16:38 
ok und was genau is jetzt der unterschied? was genau bedeutet z.b. das paramstr? das hab ich noch nie verstanden und nirgendwo herausfinden können (bzw nirgendwo verstanden ;) )

hab den link aktualisiert ;)

_________________
Chuck Norris bekommt bei Praktiker auch auf Tiernahrung 20% oO
azubi_20
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 593

WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
BeitragVerfasst: Mi 08.11.06 16:48 
paramstr ist ein Array in dem die beim Programmaufruf mitgegebenen Parameter als String drin sind.
paramstr[0] ist dabei das Programm inklusive vollen Pfad.

Beispiel :
Du rufst aus der Konsole so ein Programm auf :
ausblenden Quelltext
1:
C:\bla\blub\Programm.exe C:\bla\blub\daten.txt rw					


Dann ist ParamStr folgendermaßen belegt :
ParamStr[0] = "C:\bla\blub\Programm.exe"
ParamStr[1] = "C:\bla\blub\daten.txt"
ParamStr[2] = "rw"
nullplan001
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 212

Win 2000 Professional, Debian Linux 4.0 (Etch,Stable)
Pascal (FreePascal 2.0.2, TurboPascal 7.0), C(++) (G++/GCC 3.4.2 + MinGW), Java (JDK 1.5.0_07), PHP (PHP 5.1.4)
BeitragVerfasst: Mi 08.11.06 19:40 
user profile iconazubi_20 hat folgendes geschrieben:
paramstr ist ein Array in dem die beim Programmaufruf mitgegebenen Parameter als String drin sind.

Nee, ParamStr ist eine Funktion, die die Nummer des Arguments als Parameter nimmt und das entsprechenden Argument zurückgibt.
user profile iconazubi_20 hat folgendes geschrieben:

paramstr[0] ist dabei das Programm inklusive vollen Pfad.

Beispiel :
Du rufst aus der Konsole so ein Programm auf :
ausblenden Quelltext
1:
C:\bla\blub\Programm.exe C:\bla\blub\daten.txt rw					


Dann ist ParamStr folgendermaßen belegt :
ParamStr[0] = "C:\bla\blub\Programm.exe"
ParamStr[1] = "C:\bla\blub\daten.txt"
ParamStr[2] = "rw"


Exakt, bis auf den oben erwähnten Denkfehler. Aber wenn du wirklich so gerne ein Array hättest, dann nimm argv. Das gibt es zumindest unter FreePascal.
Hinweis: ParamCount ist auch eine Funktion, argc eine Variable. Aber das ist für ParamCount eigentlich in den meisten Situationen wurscht, da sich in Pascal ein Bezug zu einer Variablen und ein Funktionsaufruf nicht wesentlich voneinander unterscheiden. (writeln(argc, ParamCount);)
HTH,
nullplan

_________________
Ich fahr' nicht selber, weil ich festgestellt habe: ich fahre zu emotional. Bin 180 gefahren wo 30 erlaubt war... -- Jürgen von der Lippe