Nette idee ^^.
bin noch ziemlich neu was GLBasic angeht. Hab mir das Programm trotzdem mal vorgenommen und ein wenig modifiziert. Man kann jetzt Häuser mit der linken Maustaste platzieren und mit rechts wieder löschen. Der Cod ist ziemlich unsauber und noch nicht ganz kommentiert, aber es funktioniert. Wenn ich nen Filehoster finde, lade ich das ganze Spiel mal hoch.
// --------------------------------- //
// Project: IsoGameMod
// Start: Wednesday, January 30, 2008
// IDE Version: 5.148
LOADBMP "sprites/bg.bmp"
LOADSPRITE "sprites/cursor.png", 10
LOADSPRITE "sprites/cursorbody.png", 11
LOADSPRITE "sprites/boden.png", 1
LOADSPRITE "sprites/haus.png", 2
LOADSPRITE "sprites/bodench.png", 3
LOADSPRITE "sprites/hausch.png", 4
mousedown = FALSE
DIM map[20][20]
WHILE TRUE
//-----Set Locals----------
w=72 // Tile width
h=36 // Tile hight
w2=w/2 // Half Tile width
h2=h/2 // Half Tile hight
housedif = 65 - h
//-------------------------
//-----Draw Map--------------------------
FOR x = 0 TO 19
FOR y = 0 TO 19
tileposX = w2*(x-y)-w2
tileposY = h2*(x+y)
realposX = tileposX-ScrollX
realposY = tileposY-ScrollY
choice = SPRCOLL (10, mx, my, 1, realposX, realposY)
//----- init mouseklick------------------------------
MOUSESTATE mx, my, mb1, mb2
IF mb1=FALSE THEN lc = FALSE
IF mb2=FALSE THEN rc = FALSE
IF lc THEN mb1 = FALSE
IF rc THEN mb2 = FALSE
IF mb1 THEN lc = TRUE
IF mb2 THEN rc = TRUE
//---------------------------------------------------
IF choice = TRUE AND allready = 0 AND lc = TRUE AND rc = FALSE //----------
DRAWSPRITE 4, realposX-2, realposY-2-housedif
map[x][y] = 1
ELSEIF choice = TRUE AND allready = 0 AND rc = TRUE AND lc = FALSE
DRAWSPRITE 3, realposX-2, realposY-2
allready = 1
map[x][y] = 0
ELSEIF choice = TRUE AND allready = 0 AND lc = FALSE AND rc = FALSE
IF map[x][y] = 1
DRAWSPRITE 4, realposX-5, realposY-5-housedif
allready = 1
ELSE
DRAWSPRITE 3, realposX-5, realposY-5
allready = 1
ENDIF
ELSEIF map[x][y] = 1
DRAWSPRITE 2, realposX, realposY-housedif
ELSE
DRAWSPRITE 1, realposX, realposY
ENDIF
NEXT
NEXT
allready = 0
//---------------------------------------
//--------Scroll-----------------------
IF KEY(200) THEN ScrollY = ScrollY -3
IF KEY(208) THEN ScrollY = ScrollY +3
IF KEY(203) THEN ScrollX = ScrollX -3
IF KEY(205) THEN ScrollX = ScrollX +3
//---------------------------------------
DRAWSPRITE 10, mx, my
DRAWSPRITE 11, mx, my
SHOWSCREEN
WEND
\\EDIT:
So hier die files:
http://www.datenschleuder.eu/get_d66b5a43e0dd9ff1469e4a20c3f6f4f1.html