Re: Tyhmät kysymykset
Posted: Mon Oct 15, 2007 7:25 pm
kuinka voi kirjoittaa muistipalaan järkevää tekstiä
ja salata sen??
ja salata sen??
Game Making Should Be Easy...
https://www.coolbasic.com/phpBB3/
Code: Select all
sana$ = "CoolBasic" //tämä on esimerkkisanamme
muistipala = MakeMEMBlock(Len(sana$))
//Yhden merkin ascii-arvo on väliltä 0-255, ja koska 255 on suurin luku
//joka mahtuu yhteen tavuun voimme käyttää muistipalaan tallentamiseen yhtä
//tavua kirjainta kohden, eli teemme muistipalan, jonka koko tässä
//tapauksessa on 0 tavua.
For i = 1 To Len(sana$)//käydään sanan kaikki kirjaimet läpi
PokeByte muistipala, i - 1, Asc(Mid(sana$, i, 1))
//kirjoitetaan kunkin merkin ascii-arvo muistipalaan
Next i
//tehdän uusi muistipala salattua tietoa varten
salattu = MakeMEMBlock(MEMBlockSize(muistipala))
Encrypt muistipala, salattu, "avain"
tulos$ = ""
For i = 0 To Len(sana$) - 1 //käydään nyt muistipala läpi ja lisätään jokainen
tulos$ = tulos$ + Chr(PeekByte(salattu, i)) //kirjain tulos$-muuttujaan
Next i
Text 0, 0, tulos$
DrawScreen
WaitKey
Code: Select all
FrameLimit 40
Dim piste(10)
ukko = LoadObject("Media\guy.bmp", 72)
piste(0) = LoadObject("Media\bullet.bmp")
For a=1 To 10
piste(a)=CloneObject(piste(0))
ScreenPositionObject piste(a),Rand(0,ScreenWidth()),Rand(0,ScreenHeight())
Next a
ClsColor cbWhite
palloja=11
Repeat
If LeftKey() Then TurnObject ukko, 5
If RightKey() Then TurnObject ukko, -5
If UpKey() Then MoveObject ukko, 2
If DownKey() Then MoveObject ukko, -2
For a=0 To 10
If ObjectsOverlap(ukko,piste(a),3) Then
PositionObject piste(a),9999999,9999999
palloja-1
EndIf
Next a
Color cbblack
Text 0,0,palloja
DrawScreen
Forever
Nuo objektien siirtopurkkaviritykset kannattaa unohtaa ja taulukon sijasta käyttää tässä hommassa typeä.henrik93 wrote:Minun pelini kentässä on 100 palloa jotka ovat satunnaisissa paikoissa...
Code: Select all
SCREEN 800, 600
objBall = LoadObject("media/tatti.bmp")
ShowObject objBall, OFF
objPlayer = LoadObject("media/soldier.bmp", 72)
Type BALLS
Field obj
EndType
For i = 1 To 100
b.BALLS = New(BALLS)
b\obj = CloneObject(objBall)
PositionObject b\obj, Rand(-400, 400), Rand(-300, 300)
Next i
pickedBalls = 0
Repeat
MoveObject objPlayer, (UpKey() - DownKey()) * 5
TurnObject objPlayer, (LeftKey() - RightKey()) * 5
For b.BALLS = Each BALLS
If ObjectsOverlap(objPlayer, b\obj) Then
DeleteObject b\obj
Delete b
pickedBalls + 1
EndIf
Next b
Text 0, 0, "Picked balls: " + pickedBalls
DrawScreen
Forever
Code: Select all
if distance2(ukko,hiiri)>30 ' Muuta tuo 30 sopivaksi
//////////liikutus////////////
endif
Eivät näe? Mitäs väliä sillä, pointobject toimii silti..Guest wrote:Pitäisi saada npc-hahmot kävelemään tietyn laatikon luokse. Osaan kyllä käyttää objectsightia, pointobjectia ja muita, mutta en keksi miten tekisin tuon. Laatikko on tehty sillä Marcoderin 3d-talo-systeemillä. Kokeilin tehdä niin, että laitan näkymättömän objektin laatikon keskelle, mutta hahmot eivät näe sitä, koska laatikossa on törmäystunnistus.
Code: Select all
vauhti=0 'oletuksena ei liikettä
CloneCameraPosition ukko
'liikuta pelihahmoa
TranslateObject ukko,vauhti,yPlus#
yPlus=yPlus+PAINOVOIMA 'päivitä painovoima
UpdateGame 'päivitä törmäys
maassa=0 'ilmassa jollei toisin käy ilmi
törmäykset=CountCollisions(ukko)
'katsotaan tärmätäänkö kattoon tai lattiaan
For i=1 To törmäykset
If GetCollision(ukko,i)=kenttä
'lattia
If CollisionAngle(ukko,i)=90 Then
yPlus#=-1
maassa=1 'jalat on maassa
EndIf
'katto
If CollisionAngle(ukko,i)=270 Then
yPlus#=-1
EndIf
EndIf
Next i
If KeyHit(cbKeys) And maassa(KUN TUON POISTI NIIN HYPPY TOIMI) Then
yPlus#=2.5
'HYPPY (vain jos jalat maassa)
'voimaa ylös päin
EndIf
DrawGame
'piirrä "kenttä"
DrawScreen
Until EscapeKey()