I made this around 3 years ago but never finished it because I graduated high school. It's for Axe on Ti83 or Ti84, It's mostly finished, just with a few little tweaks needing to be done. I attached a GIF of it in action, it's a top down view Nazi Zombies with 4 different guns (Pistol, Shotgun, Sniper, WunderWaffe). You can buy ammo from the mystery box (random) and it'll store the highscore of the highest round reached. I always compiled with Axe Fusion or Application. Also I attached a sheet laying out what each variable is and what I had planned to do.
Problems were: Wunderwaffe eats wall pixels in the middle (need to make it ChgPxl instead of what I had), sniper occasionally eat a wall pixel, and occasionally zombies get stuck on the middle wall (as shown).
If anyone takes the initiative to finish it, let me know! I just figured I shouldn't let this go to waste =)
(also cheat code, type 1337 on the main menu for 999 health)
Is there a command or easy method to simply "change" the pixels in a line, rather than making the whole line off/on? I want to be able to draw and erase a line that goes through a static line.
I'd like to make a gun shoot star shaped bullets (basically the * sign, its the wunderwaffe from Nazi Zombies). What do you think the best approach to this would be to make it detect wall/zombie collisions? I'd prefer small size over fast speed. Should I use a sprite? Just Text(x,y,"*")? Just pixels turning on? Help is appreciated!
I need to use Crabcake soon, but I cannot run the program in a shell (after compiling it for a shell). When I try, it lets me into the main menu of my program fine, but when I load the main loop it will only work for a couple seconds, displays xxx instead of numbers, and freezes and clears ram. Can someone take a look at it? It still does it when I tried emulating with wabbit, and I've tried compiling it for Mirage, ION, and Doors, but only "No Shell" or Axe Fusion work.
I'm writing a game, and I want to make a greyscale line within the code. Line(X,Y,A,B)r would be the command for this, correct? And then just use Dispgraphr at the end of the loop instead of normal dispgraph, right? It's giving me "INVALID" when I try and run the program (it compiles fine). Is it something to do with the greyscale or is it because it's making the game to large? (Source Size: 5014, Compiled: 8263) I heard the limit was 8811 or something. I appreciate any help!
I have a map drawn out on my game which does not move or change during it. Is there a more efficient way to do Line( drawings? I've seen people use those bracket hex code things like [23423492056] but I'm not sure how to use them or where to get info on them. My program's just getting up there in size and I'd like to condense it before I hit the Axe compiler limit.
Basically I just want to optimize this code that runs once at the start:
Is there a way I can make it so "If EXP1 = true, 1→Z, else, -1→Z"? Or some variation of this? I need a negative number to use in a formula (as in the output eventually will not be negative)
I'm having a dilemma trying to decide how to route the enemies in my game the best way. Right now they go straight toward the player, and will slide along walls if the player is diagonal from them (they will not go through walls). The problem is that if a player is directly on the other side of the wall (walls are red in the picture), the enemies will just stay against the wall, so I need to re-route them to go through the nearest doorway. What do you guys think the easiest way to do this would be?
(the player is the dot inside the walls, the enemies spawn outside)
So I'm working on my game, and I've run into a problem I can't seem to figure out. When there are multiple enemies, sometimes when I kill one, the others freeze in place, and will not disappear if I shoot it, and it's driving me crazy as to why! If you run the program attached, you can see the problem in the 2nd or 3rd round. I'm pretty sure it has to do with this segment of code:
I appreciate any help! I doubt anyone will take the time to look through the code, but if you could run it and maybe make a suggestion as to what it is, It'd help me a lot!
EXTRA INFO: Arrow keys to move, 2nd to shoot, clear to end game I = Bullet count G = Which bullet U = Zombie count θ = Which zombie r1 = Just a temporary variable so the code runs through for each zombie/bullet and THEN the zombie count is decreased L1 = zombie array L2 = bullet array
I have a program I made in Basic (birds eye nazi zombies), and I converted it over to Axe. I've gotten pretty much everything to work except Line('s and Pxl-On('s aren't displaying anything. I use this style: Line(1,2,1,5) Pxl-On(5,10)
Thats the same for Axe, right?
EDIT: In this post - http://ourl.ca/8409 I see "r" after line, like: Line(w,x,y,z)r What does r stand for?
I feel dumb now, gonna go sulk in the corner and program
I want to make arrays for bullets and enemies, but I can't find the format for it on Axe. I know how to do it in Basic, but it does a compile error if I try it on Axe. The pictures don't exist anymore for this tutorial: http://www.omnimaga.org/index.php?action=articles;sa=view;article=61 So I can't see what they're talking about. Halp please!
Is there an alternative or way to make menu( work in Axe programs? Or would I have to use: http://ourl.ca/4129;msg=99195 ? What are the r1, r2, r3 things in that routine, and where are they located?
I made this game (Birds eye view zombies game), it's pretty simple. I know it needs a lot of optimizing and whatnot, but it makes more sense to have it in Axe first. The game is an attachment, here is the annotated source: (for whatever reason some characters change in the source, like arrows to Ü's, so use the attachment)
Line(5,57,11,57:Line(5,57,5,36 Line(5,36,11,36:Line(11,36,11,48:Line(11,57,20,45:Line(20,45,20,57:Line(20,57,26,57:Line(26,57,26,36:Line(26,36,20,36:Line(20,36,11,48: Text(22,28,"AZI" Line(50,57,68,57:Line(50,57,50,52):Line(50,52,61,52:Line(61,52,50,41:Line(68,57,68,52 Line(68,52,57,41 Line(50,41,50,36):Line(50,36,68,36:Line(68,36,68,41 Line(68,41,57,41 Text(22,70,"OMBIES") //Main menu graphic 0üA 100üQ Lbl 42 getKeyüK If K=105:Then 0üK:ClrDraw:Goto 41:End If A=4:Then 999üQ:0üA Text(52,24,"CHEAT ENABLED!" //Confirmation of cheat code entered correctly End If Kø92 and Kø94 and Kø72 and Kø0:Then 0üA:End
If K=92 or K=94 or K=72:Then If A=1:Then Goto 11:End If A=2:Then Goto 12:End If A=3:Then Goto 13:End If K=92:Then 1üA:Else:0üA End 0üK Goto 42 Lbl 11 If K=94:Then 2üA:Else:0üA End 0üK Goto 42 Lbl 12 If K=94:Then 3üA:Else:0üA End 0üK Goto 42 Lbl 13 If K=72:Then 4üA:Else:0üA End 0üK Goto 42 End Goto 42 End //Enables 999 health cheat after typing "1337" on main menu
Text(55,6,"-") Line(4,8,4,11) Line(5,8,5,11) Line(4,11,11,11:Line(4,12,12,12:Line(6,10,6,10 //Drawing map graphic and weapons graphics
Lbl 99 //Begining of game loop getKeyüK
If K=102:Then 0üL:Else:End If K=92:Then 1üL:Else:End If K=93:Then //Press 0 for pistol, 1, 2, and 3 for other guns 2üL:Else:End If K=94:Then 3üL:Else:End
If K=26 or K=25 or K=24 or K=34:Then Pxl-OffY,X) Pxl-OffY-1,X-1 Pxl-OffY,X-1) Pxl-OffY-1,X) KüJ If D=0:Then KüI End:End
X+1(K=26 and pxl-TesY,X+1)ø1 and pxl-TesY-1,X+1)ø1)-1(K=24 and pxl-TesY,X-2)ø1 and pxl-TesY-1,X-2)ø1)üX Y-1(K=25 and pxl-TesY-2,X)ø1 and pxl-TesY-2,X-1)ø1)+1(K=34 and pxl-TesY+1,X)ø1 and pxl-TesY+1,X-1)ø1)üY
Pxl-On(Y,X) Pxl-On(Y-1,X-1 Pxl-On(Y-1,X) Pxl-On(Y,X-1) //Movement and wall detection (so you can't walk through walls)
If K=21 and D=0:Then //Shoot button pressed, and no bullets fired 1üD:1üT End
If D=1:Then //Moves the bullet origin so you don't shoot yourself JüI:XüH:YüG H-1(I=24)üH G-1(I=25)üG 2üD End
If T=1:Then //If this bullet is in the air Pxl-OffG,H) H-1(I=24)+1(I=26)üH //Then move the bullet in the direction indicated by I G-1(I=25)+1(I=34)üG If G=W or G=W-1:Then //If the bullet hits the enemy, -100 to its health If H=V or H=V-1:Then E-100üE End:End If pxl-TesG,H:Then:5üH //If the bullet hits a wall, then the bullet is no longer in the air (T is 0) 5üG:0üT:0üD Else Pxl-On(G,H) //Otherwise display the bullet and keep going End:End
If E=0:Then //If enemy is dead, then +100 to score and make enemy dissapear S+100üS 100üE 0üZ Pxl-OffW,V) Pxl-OffW,V-1) Pxl-OffW-1,V-1:Pxl-OffW-1,V) 3üW 90üV 0üZ End
If Z=0 and R=2 //If no enemies, then end round Then:0üR:P+1üP:End
If K=41 and Z=0:Then //If no enemies and no round is going, press MATH to start next round 1üR:End
If R=0:Then Text(10,3,"PRESS MATH TO START ROUND") End If R=1:Then Text(2,26,"ROUND") Text(10,2," " Text(2,47,P) 2üR 2üZ End
If Z=2:Then //If round starting, put a semi-random location for enemy to spawn randInt55,90)üV 5üW 1üZ Pxl-On(W,V) Pxl-On(W-1,V) Pxl-On(W,V-1) Pxl-On(W-1,V-1 End U-1(Uø0)üU If Z=1 and U=0:Then //If round going, move toward player (unless theres a wall in the way)
Pxl-OffW,V) Pxl-OffW-1,V) Pxl-OffW,V-1) Pxl-OffW-1,V-1) W+1(Y>W and pxl-TesW+1,V)ø1 and pxl-TesW+1,V-1)ø1)-1(Y V+1(X>V and pxl-TesW,V+1)ø1 and pxl-TesW-1,V+1)ø1)-1(X Pxl-On(W,V) Pxl-On(W-1,V) Pxl-On(W,V-1) Pxl-On(W-1,V-1) OüU End
If V=X+1 or V=X-2 or V=X or V=X-1 or V=X+2:Then //If enemy touches you, -25 health If Y=W or Y=W+1 or Y=W+2 or Y=W-1 or Y=W-2:Then Q-25üQ
If Q÷0:Then //If your health is 0, go to end script Goto 45:End End:End
Text(2,10,Q) //Display health If Q<100:Then Text(2,18," " Else:End
Text(55,18,A) //Display gun ammo values Text(55,33,B) Text(55,48,C) Text(55,65,S) //Display score Goto 99 //END OF GAME LOOP
Lbl 45 //Game over graphic menu when you die ClrDraw Text(10,30,"GAME OVER") Text(20,25,"YOU SURVIVED") Text(27,45,P) If P=1:Then //Display how many rounds survived Text(34,37,"ROUND") Else Text(34,37,"ROUNDS") End Text(50,10,"PLAY AGAIN") Text(50,65,"EXIT") Line(9,14,48,14:Line(48,14,48,6:Line(48,6,9,6) Line(9,6,9,14) 1üA Lbl 46 getKeyüK If K=26:Then Line(9,14,48,14,0) Line(48,14,48,6,0) Line(48,6,9,6,0:Line(9,6,9,14,0) Line(64,14,82,14) Line(82,14,82,6:Line(82,6,64,6 Line(64,6,64,14 2üA //Draw box around option selected (Play again/Exit) End If K=24:Then Line(64,14,82,14,0) Line(82,14,82,6,0) Line(82,6,64,6,0) Line(64,6,64,14,0) Line(9,14,48,14:Line(48,14,48,6:Line(48,6,9,6) Line(9,6,9,14) 1üA End
If K=105 and A=1:Then prgmZOMBIES:End //End program, or restart depending on their choice If K=105 and A=2:Then ClrDraw:ClrHome:Stop:End Goto 46
This is my first major program and it is incomplete still.
Things I can do later on my own: -Shop system -Highscores list -Better looking map
Things I need help with: -Optimizing -Converting to Axe -Creating array for multiple enemies to spawn -Creating array for multiple bullets to be going (as well as functionality for other three guns)
The other guns I want to add are: -Shotgun (shoots one pixel forward, and two others going 1 pixel away from the main bullet every 2 pixels) -Battle Rifle (shoots 3 bullets in a line) -Wunderwaffe (shoots a multiplication sign and either chain-hits zombies or explodes like a grenade)
I don't expect anyone to convert it all (but that would be godly!), but just give me suggestions and help. Thank you, I appreciate any help!