Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 16:16

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Snake problem

Discussion on Snake problem within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
Snake problem

hey habe vesucht ein snake game zu machen nur dieser fehler kommt immer:
Quote:
Der Index war außerhalb des Arraybereichs.
Der kommt immer wenn ich versuch was zu essen(was man halt in snake machen muss :P)

source:

hoffe ihr könnt mir helfen.
False is offline  
Old 08/28/2011, 22:09   #2
 
elite*gold: 9
Join Date: Dec 2009
Posts: 1,071
Received Thanks: 819
du versuchst halt - wie du in der Fehlerbeschreibung sehen kannst auf einen Teil des Arrays zuzugreifen, der nicht existiert...
Wenn dein Array beispielsweise als 'Spielfeld[10]' deklariert wurde, kannst du nicht auf 'Spielfeld[11]' zugreifen. Das gleiche gilt auch für mehrdimensionale arrays.

Du musst also versuchen diesen Fehler irgendwie abzufangen. Ich hab zwar keine Ahnung von vb, aber ich würde es so in der art machen...

PHP Code:
int Spielfeld[10];
.....
if (
>=&& <= sizeof(Spielfeld[10])/sizeof(int))
{
     .........

.Infinite is offline  
Old 08/28/2011, 22:47   #3


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
Quote:
Originally Posted by .Infinite View Post
du versuchst halt - wie du in der Fehlerbeschreibung sehen kannst auf einen Teil des Arrays zuzugreifen, der nicht existiert...
Wenn dein Array beispielsweise als 'Spielfeld[10]' deklariert wurde, kannst du nicht auf 'Spielfeld[11]' zugreifen. Das gleiche gilt auch für mehrdimensionale arrays.

Du musst also versuchen diesen Fehler irgendwie abzufangen. Ich hab zwar keine Ahnung von vb, aber ich würde es so in der art machen...

PHP Code:
int Spielfeld[10];
.....
if (
>=&& <= sizeof(Spielfeld[10])/sizeof(int))
{
     .........


aber der bereich muss ja eigentlich da sein da i = m - 1 ist und m ist 10(anfangswert) nur wenn er was ißt ist m += 1 das heißt i = 11 nur dann kommt ja ein error :/
False is offline  
Old 08/28/2011, 22:49   #4
 
Secredo's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 355
Received Thanks: 106
Quote:
Originally Posted by .Infinite View Post
du versuchst halt - wie du in der Fehlerbeschreibung sehen kannst auf einen Teil des Arrays zuzugreifen, der nicht existiert...
Wenn dein Array beispielsweise als 'Spielfeld[10]' deklariert wurde, kannst du nicht auf 'Spielfeld[11]' zugreifen. Das gleiche gilt auch für mehrdimensionale arrays.

Du musst also versuchen diesen Fehler irgendwie abzufangen. Ich hab zwar keine Ahnung von vb, aber ich würde es so in der art machen...

PHP Code:
int Spielfeld[10];
.....
if (
>=&& <= sizeof(Spielfeld[10])/sizeof(int))
{
     .........

Ergänzend dazu noch: Arrays in .NET haben eine schöne Eigenschaft namens "Length".
Secredo is offline  
Old 08/28/2011, 23:00   #5


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
Quote:
Originally Posted by Secredo View Post
Ergänzend dazu noch: Arrays in .NET haben eine schöne Eigenschaft namens "Length".
erneut getestet natürlich wird es weiter aufgeführt da m ja immer nach dem essen +1 gesetzt wird aber trotzdem kommt der fehler...
False is offline  
Old 08/28/2011, 23:32   #6
 
elite*gold: 9
Join Date: Dec 2009
Posts: 1,071
Received Thanks: 819
Ich denke den Fehler wirst du jetzt selbst finden müssen. Dein Code sieht leider etwas unstrukturiert aus... Dieses ganzen Objekte "Panel2", "Timer1", "Form1" und diese Variablennamen "m" und "k"... wie soll man da den Überblick behalten? Ich krieg da jedenfalls die Krise.

Und noch was: Ich weiß nicht wie das in VB ist, aber muss man Speicher den man mit "new" reserviert nicht auch hinterher wieder freigeben?
.Infinite is offline  
Old 08/28/2011, 23:52   #7


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
Quote:
Originally Posted by .Infinite View Post
Ich denke den Fehler wirst du jetzt selbst finden müssen. Dein Code sieht leider etwas unstrukturiert aus... Dieses ganzen Objekte "Panel2", "Timer1", "Form1" und diese Variablennamen "m" und "k"... wie soll man da den Überblick behalten? Ich krieg da jedenfalls die Krise.

Und noch was: Ich weiß nicht wie das in VB ist, aber muss man Speicher den man mit "new" reserviert nicht auch hinterher wieder freigeben?
naja so verwirrend kann es nicht sein

panel1 = kopf wegen der kollision
panel2 = das essen
m = länge der schlange
k ist nur wegen der steuerung

das mit new geht nicht.


P.s jeder hat seine eigene ordnung
False is offline  
Old 08/28/2011, 23:52   #8
 
Secredo's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 355
Received Thanks: 106
Quote:
Originally Posted by .Infinite View Post
Und noch was: Ich weiß nicht wie das in VB ist, aber muss man Speicher den man mit "new" reserviert nicht auch hinterher wieder freigeben?
Nope, GarbageCollecor ftw! ^-^
Secredo is offline  
Old 08/29/2011, 03:01   #9
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 454
Dim m As Integer = 10
Dim p(m) As Point


"wenn er was ißt ist m += 1"

Code:
Private Sub steuerung()
  If k = Keys.Left Then
    p(m).X -= 16
  End If
  '[...]
?
link is offline  
Old 08/29/2011, 09:09   #10


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
Quote:
Originally Posted by link View Post
Dim m As Integer = 10
Dim p(m) As Point


"wenn er was ißt ist m += 1"

Code:
Private Sub steuerung()
  If k = Keys.Left Then
    p(m).X -= 16
  End If
  '[...]
?
Hmm mit dem eigenen Code kann schlecht der Fehler weg sein...
False is offline  
Old 08/29/2011, 09:32   #11
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 454
Sollte bedeuten: wenn p m groß ist und m mit 10 definiert und danach inkrementiert und dann als Index für p verwendet wird, müsste doch p(11) herauskommen, obwohl p nur 10 groß ist
link is offline  
Thanks
1 User
Old 08/29/2011, 10:13   #12


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
Quote:
Originally Posted by link View Post
Sollte bedeuten: wenn p m groß ist und m mit 10 definiert und danach inkrementiert und dann als Index für p verwendet wird, müsste doch p(11) herauskommen, obwohl p nur 10 groß ist
aber m wird doch nach dem essen +1 gesetzt o.O
False is offline  
Old 08/29/2011, 10:37   #13
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 454
Quote:
Originally Posted by .ƒaℓsє.
aber m wird doch nach dem essen +1 gesetzt o.O
Quote:
Originally Posted by link
Sollte bedeuten: wenn p m groß ist und m mit 10 definiert und danach inkrementiert und dann als Index für p verwendet wird, müsste doch p(11) herauskommen, obwohl p nur 10 groß ist
Sagte ich doch und genau da liegt ja auch das Problem.
Schreib halt einfach mal Dim p(m*2) As Point
link is offline  
Thanks
1 User
Old 08/29/2011, 12:49   #14


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
Quote:
Originally Posted by link View Post
Sagte ich doch und genau da liegt ja auch das Problem.
Schreib halt einfach mal Dim p(m*2) As Point
ahh,okay danke nun geht es
hat jemand eine Idee wie ich das panel per random setzen kann aber so das sie immer 16 ist also das die immer so z.b ist :

0,0
0,16
16,16
64,16
128,0

halt das die location immer so ist.

(ich weiß ich kann doof erklären^^)
False is offline  
Old 08/29/2011, 17:18   #15
 
elite*gold: 0
Join Date: Jan 2010
Posts: 250
Received Thanks: 21
zum anfang soviel ich weis kann man den arraybereich auch erweitern mit redim preserve array(neuerindex)
bammes is offline  
Reply


Similar Threads Similar Threads
120 Snake Blade O.o
10/31/2010 - CO2 Weapon, Armor, Effects & Interface edits - 6 Replies
My first blade is here...I call it the Snake Blade Tell me if you like it. Its my first one with a glow http://oi52.tinypic.com/2rm9una.jpg Without Glow http://oi51.tinypic.com/e8rfd5.jpg I will be releasing pictures of my future edits as I did this one. To get them you must play the two private servers i am currently working on. HellMouthCo and MayaCo HellMouth is open to the public on New Years. No clue when Maya will be ready :D
Selling A20 Snake
08/24/2009 - Trading - 3 Replies
Selling A20 Snake with awsome gear and much stuff and Items in Voult and bank JUst send me your IGN and i PM you My Account have in Silver like 4 Bil So offerif you want
Twelve Sky 2 112 Snake
06/01/2009 - Trading - 5 Replies
Trading for high lv Archlord account or offer. Has all 112 Luck gear and Rare 105 Db and Sabre 40+ Percent Sabre is Cs3, 105 cape 43%. Has Adept 5 chi and skill cape, lute, and ring. Knows all lv 30 multi-hit skills, general skills, and sabre single hit. Pm with offers.
Met-snake
05/17/2008 - CO2 Guides & Templates - 5 Replies
I didnt see any post like this, so i share my xp: there is a snake in the canyon, who drops a met, and has more HP and defense than others, but has the same name (like metdoves) I dont know the exact spawn point, but its NW a bit from Titan spawn (389,586) Hope it's useful for fellow players, who're hunting for Titan and want a bonus met XD :D
Snake King pt.2
09/07/2007 - Conquer Online 2 - 3 Replies
This is together with this post: http://www.elitepvpers.com/forum/co2-main-discussio ns-questions/92126-snake-king.html which I was originally just going to add on to but in doing another camping day at SK something really strange happened and I wanna know how it was done. Alright I arrived at SK 01:11 (this is the time at the top of the game) and there was no SK, whelp great time to sit and wait. Then all of a sudden a Tro appeared on the top right part of the island. I thought he just...



All times are GMT +1. The time now is 16:16.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.