Join us on Discord!
You can help CodeWalrus stay online by donating here.
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - c4ooo

#1
Web / Chat Application
May 06, 2018, 05:33:11 PM
I have been working on a chat application with a HTML5 frontend and a java backend.

So far, its really basic and buggy, but you can register, login, and send messages between two accounts. The backend is an http server written in java and uses an SQL database.

The user interface is really bad, but here are some images so far:

#2
Hardware / z80 computer with arduino coprocessor.
December 22, 2017, 11:18:00 PM
I built a prototype for a z80 computer that uses an arduino for communication and bootstrapping. I can assemble a z80 source program with brass, and send it to the arduino with a small python program. The arduino is running a firmware program that waits for a program to be sent over serial, which it loads into the ram chip for the z80 to execute. The z80 communicates with the arduino via IO requests. The arduino<-->z80 API only contains 3 commands, but these can be used for the z80 to send messages to the PC via serial.

This is a small test program to send "test1" and "12345" to the PC via serial:

#define output(x, y) ld a,y \ out (x),a
#define command(x) output(PORT_COMMAND, x)
output(PORT_ADD_LOW, writeTo & FFh)
output(PORT_ADD_HIGH, writeTo >> 8) ;set data act-on address to writeTo
ld hl,string1
ld de,writeTo
ld bc,6
ldir ;copy string1 to writeTo
command(COMMAND_WRITE_SERIEL) ;tell arduino to send data from act-on address to PC
;stuff
ld hl,string2
ld de,writeTo
ld bc,6
ldir ;copy string2 to writeTo
command(COMMAND_WRITE_SERIEL) ;tell arduino to send data from act-on address to PC
jr $ ;do nothing
string1:
.db "test1",0
string2:
.db "12345",0
writeTo:


Picture:


Todo:

    Use external clock. (Currently arduino is generating a clock signal)
    Upgrade to 128kb ram chip. (Currently i am using a 32kb one)
    Make arduino use pin registers for control signal IO. (minor)
    Make a paging circuit for said ram chip.
    Add an LCD
    Write an OS(?)
    Add an SD card(?)
    Make PCB (?)
#3
I got bored so i started programming an engine for open world RPGs. (In c++ with openGL 2). The world is split into "cells"/"chunks" which are loaded/removed as you move around. Alpha-mapping is used to shade different ground textures onto the ground mesh. (the ground is a mesh, not a hightmap, to allow for more freedom.) I am also programming some sort of "construction set", which currently allows you to edit some values of the cell, adding/removing/manipulating prefabricated objects in the cell, and a utility to paint textures onto the ground.

Prefabs will range from things like rocks on the ground, to entire dungeons.

Progress:
Terrain rendering / resource management- mostly done.
Prefab rendering/manipulation - started
loading .ini files - need to start
construction set - lots of tedious work needs to still be done, but its not necessarily hard;
proper saveing/loading of cell data.
Resource manager for materials/textures/prefabs - started;
lighting - light is magical right?
physics - some progress, mostly on hold for now.

things that need to be done in feature that i haven't thought about yet:
Entity system.
Actual RPG elements like questing, etc.
Event Scripts.
Mesh editor (?!)

Pictures:

This is how the construction set looks so far: The ground repeats like that becomes i am too lazy to make proper terrain, so i just made it repeat.

Texturing the ground: (In this case removing textures.):

Added a prefab (that pink thing) to the cell: (as well as some texturing to the alpha map).
#4
At this point this is only a proof of concept, but the goal of this project is to hook all the drawing commands in ti-basic, making them behave like they would on the monochrome calculators. As of right now i have only hooked 4 ti-basic commands: ClrDraw, pxl-on, pxl-off, and pxl-test. The library is initialized with "1:Asm(INSTLAPI" (this needs to be put at the start of the monochrome tibasic program) and de-initialized with "0:Asm(INSTLAPI".
#5
this can be anoying when posting HTML in a tt-tagqwert
<p>this doesnt work</p>

(I posted some java code (https://codewalr.us/2091/57503), that did HTML formatting, and it was annoying cause random stuff became bold <_< )
#6
This spell spellchecks a quarry by using the "showing results for" and "did you mean" parts of a google result. (Not well tested with the "//try using "Did you mean" breach)

    String spellcheck(String querry) {
        String html = "";
        try {
            String url = "http://www.google.com/search?q=";
            String charset = "UTF-8";
            String query = String.format("%s", URLEncoder.encode(querry, charset));
            URLConnection con = new URL(url + query).openConnection();
            con.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
            String inputLine;
            while ((inputLine = in.readLine()) != null) {
                html += inputLine;
            }
            in.close();
        } catch (Exception e) {
            System.out.println("Cant fetch page.");
            e.printStackTrace();
        }
        try { //try using "Showing results for"
            String span = "<span class=\"spell\">Showing results for</span>";
            String s = html.substring(html.indexOf(span) + span.length());
            s = s.substring(s.indexOf("<b>"), s.indexOf("</a>"));
            s = s.replaceAll("<b>", "").replaceAll("</b>", "").replaceAll("<i>", "").replaceAll("</i>", "");
            return s;
        } catch (Exception e) {
            try { //try using "Did you mean" (not well tested)
                String span = "<span class=\"spell ng\" style=\"margin-bottom:7px\">Did you mean:</span>";
                String s = html.substring(html.indexOf(span) + span.length());
                s = s.substring(s.indexOf("<b>"), s.indexOf("</a>"));
                s = s.replaceAll("<b>", "").replaceAll("</b>", "").replaceAll("<i>", "").replaceAll("</i>", "");
                return s;
            } catch (Exception e2) { //rip
                System.out.println(html);
                return "An error acured. This could happen if google thinks you spelled every thing correctly, or if you spelled stuff so bad even it cant understand :/";
            }
        }
    }

@DarkestEx you did want java right? lol
#7
I would like to design and texture a landscape in blender, and then render it in a custom openGL engine. designing the landscape is pretty self explanatory, however i don't get how to "brush" on materials onto the landscape. The engine should know what texture to use for each face (and thus have vt texture coordinates), but also know what material the object is made for in order for walk sound and stuff like that.

This is what i mean by "landscape", excluding houses, trees, grass, and possibly boulders:
#8
Randomness / Latest CW trends.
March 29, 2017, 11:26:34 PM

??? ??? ??? ???

Edit: juju broke the trend :(
#9
I am writing a program that will allow you to do maths on numbers with up to 512 significant figures, 256 before and 256 after the decimal point.


I have a simple UI working, a rudimentary parser (only right to left order of operations, no PENTAS), and an addition algorithm. Numbers are stored in BCD.

Done:

  • Rudimentary parser
  • Addition

[Some of] Todo:

  • Negation/Subtraction
  • Multiplication
  • Division
  • Trig functions (how?)
  • Constants e, pi, and tao
  • PENTAS ooo and parentheses
  • Logs, exponents (how?)

For the items where i put "(how?)", i do now an algorithm that will calculate with the precision of 258 decimals.
#10
Tech, Science, IT discussion & News / Ryzen is out!
February 22, 2017, 08:49:29 PM
Well what do you guys think about it? Seems to be much higher performance for same cost. What i wonder is if intel prices will drop.
#11
General Music Talk / Challenge to DJ Omnimaga
November 17, 2016, 11:58:50 PM
I chalange DJ_O to make a song, but he has too make it by mixing these mp3s: (pitch shifting/slowing down and accelerating them is fine)

http://soundboard.panictank.net/AIRc.mp3
http://soundboard.panictank.net/intervention%20420.mp3
http://soundboard.panictank.net/HITMARKER.mp3
http://soundboard.panictank.net/SMOKE%20WEEK%20EVERYDAY.mp3
http://soundboard.panictank.net/tactical%20nuke.mp3

:3
Edit:
Don't feel pressured to do it, just thought it would be awesome if you did xD

Edit DJ: fixed spelling error in title
#12
Hardware / Any good PC case you guys want to recommend?
October 26, 2016, 09:36:54 PM
First of all, I prefer something cheap. I don't want to dish out 100$ for what is essentially a piece of metal. (Yes I know a CPU is also essentially a piece of metal too but hopefully you get my point :P )
I have some links I have been looking at, but imr on my phone right now.
#13
When i had free time i basically created this GIF viewer for the CE. Still need to write a program though to convert GIFs to the on-calc format used by my calc. For now though, enjoy this little animation of a walrus :3

Step 1: send both of attached files to your CE calc.
Step 2: type the following into your calc and press enter:
"WALRII":Asm(prgmGIFCE
#14
So, recently some p2 has gotten into java. I have put together this code to help him figure out how to do stuff with the Java 2D api. This excample will display a magenta square that will follow your cursor.
[spoiler]

/**
*
* Copyright @German Kuznetsov
*/

package your.package;

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferStrategy;
import javax.swing.JFrame;

/**
*
* some code ripped from
* http://www.gamedev.net/page/resources/_/technical/general-programming/java-games-active-rendering-r2418
*/
public class Main {

    private static JFrame frame; //Lets define some stuff we will be using
    private static Canvas canvas;
    private static BufferStrategy buffer;

    public static final int WIDTH = 600; //Our window size
    public static final int HEIGHT = 400;

    public static int MouseX, MouseY; //These variables will hold values for the mouse.
    public static boolean LeftMouseButtonDown, MouseWheelDown, RightMouseButtonDown;

    public static final boolean[] keyDown = new boolean[65536]; //This list will hold the position of keys (up/down)

    public static void main(String[] args) {
        //create our window
        frame = new JFrame();
        frame.setIgnoreRepaint(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //create our canvas to draw on
        canvas = new Canvas();
        canvas.setIgnoreRepaint(true);
        canvas.setSize(WIDTH, HEIGHT);

        //pack our canvas into our frame
        frame.add(canvas);
        frame.pack();
        frame.setVisible(true);

        //add a mouselistener to our window (mouse button pressed / released)
        canvas.addMouseListener(new MouseListener() {

            public void mouseClicked(MouseEvent e) {
            }

            public void mousePressed(MouseEvent e) {
                switch (e.getButton()) {
                    case 1:
                        LeftMouseButtonDown = true;
                        break;
                    case 2:
                        MouseWheelDown = true;
                        break;
                    case 3:
                        RightMouseButtonDown = true;
                        break;
                }
            }

            public void mouseReleased(MouseEvent e) {
                switch (e.getButton()) {
                    case 1:
                        LeftMouseButtonDown = true;
                        break;
                    case 2:
                        MouseWheelDown = true;
                        break;
                    case 3:
                        RightMouseButtonDown = true;
                        break;
                }
            }

            public void mouseEntered(MouseEvent e) {
            }

            public void mouseExited(MouseEvent e) {
            }

        });
       // //add a mouse motion listener to our window (Mouse moved)
        canvas.addMouseMotionListener(new MouseMotionListener() {

            @Override
            public void mouseDragged(MouseEvent e) {
                MouseX = e.getX();
                MouseY = e.getY();
            }

            @Override
            public void mouseMoved(MouseEvent e) {
                MouseX = e.getX();
                MouseY = e.getY();
            }
        });

       //add Key Listener (Key pressed/ released)
        canvas.addKeyListener(new KeyListener() {

            @Override
            public void keyTyped(KeyEvent ke) {
            }

            @Override
            public void keyPressed(KeyEvent e) {
                keyDown[e.getKeyCode()] = true;
            }

            @Override
            public void keyReleased(KeyEvent e) {
                keyDown[e.getKeyCode()] = false;
            }
        });
//buffer setup
        canvas.createBufferStrategy(2);
        buffer = canvas.getBufferStrategy();

      //our game loop
        Graphics graphics = null;
        while (true) {
            try {
                update();
                render(graphics);
                if (!buffer.contentsLost()) {
                    buffer.show();
                }
            } finally {
                if (graphics != null) {
                    graphics.dispose();
                }

            }

        }
    }

   //RENDER YOUR STUFF HERE
    public static void render(Graphics graphics) {
        graphics = buffer.getDrawGraphics(); //Clears back buffer

        graphics.setColor(Color.BLACK);
        graphics.fillRect(0, 0, WIDTH, HEIGHT);
        graphics.setColor(new Color(255, 0, 255));
        graphics.fillRect(MouseX, MouseY, 5, 5);
    }

    public static void update() {

    }
}
#15
For the past couple of days i have been working on a tilemapper as well as pixel art that will likely be used in walriimon aka walrusRPG :)

Done:
    Mult-layer tilemapper
    Tilemapp editor
    Some tiles auto-snap (eg fences snap together, dirt and grass tiles "mix" when side by side.

Todo:
   Collision detection
   Loading/saving
   Some sort of debugging console

For more info on the tilemapp editor see: http://codewalr.us/244/44296 (download link on that post is no longer relevent)

As you can see though, fences still need some work on their auto-snap before they look flawless :P
#16
Gaming / Iron maiden - legacy of the beast.
August 30, 2016, 01:56:42 AM
http://ironmaidenlegacy.com
Anyone play this game yet? From what I read its really good. Will be downloading when I get a chance. I wish there was a PC port though >_>
https://youtube.com/v/cjg1BEgYlBQ
#17
PC, Mac & Vintage Computers / Ludum Dare 36
August 27, 2016, 06:44:32 PM
Well Ludum Dare is underway, here is my game so far. Its meant to be satire. You play games on your calculator, and when you beet a game, your caluclator gets upgraded and you get to play a better game.

Requires java and a modern GPU, but it should run on all OSs.

https://drive.google.com/file/d/0B4B_lqaVH02oMlQ3cnJEU0RRZFk/view?usp=sharing
#18
I first did 3D programming in java the summer of 2014, but haven't really made any 3D games. Anyways, i decided to pick it up again, don't really know what type of game to make.
#19
Gaming / Kerbal space program.
July 20, 2016, 08:00:28 PM
So, anyone other then @aeTIos and @p4nix play this game?

Anyways, I actually made my first *flyable* plane today :P



If you want to give it a try, here is the craft file: http://pastebin.com/YdmabvMe

I chalange you to use it to fly from KSC to the sandy runway located on one of the islands that are in the sea south(?) of KSC ;)
#20
Other / c4ooo is a walrus confirmed
June 18, 2016, 08:27:56 PM
QuoteaeTIos   landing legs?
c4ooo   i dont have landing legs, but i do have fins
I guess that means ime a :walrii: now  <_<
#21
As of right now, all that the CW server is doing is eating up CPU time on some forgotten computer somewhere. No one ever plays on it much. If we open to the general public we could advertise the server on MC forums, and maybe even pull some activity towards codewalrus. Buildings could be protected by some plugin, maybe even @Cumred_Snektron could write it. Unlike a normal towny plugin, were you must 'pay' to keep your town protected, this plugin would protect land based on play time; the more you play, the longer your land remains protected. The main town and other old builds around it will always remain under protection.
#22
I have wanted to create a library of sorts that speeds up basic by modding the drawing commands. As i was researching annoying mateo on how to do this, i decided i might as well also make a shell. However, instead of making a simple shell i decided that this shell will start when you press [prgm]. Furthermore, i hope that the file system of this shell will be compatible to that of Doors :)

How do you use this shell? Simple. You send the program INSTALL and the Appvar HOOK to your calc (the later of which has to be archive), and then you run INSTALL with the Asm() command. From then on (until the next memory reset), when you press the [prgm] key, my GUI will show up instead of TIOS's.

#23

I bet its drugs.






Ooooh wats that?






OMG its a CE!



PS: GG i now have 4 of those mini-usb cables >_>
#24
Other / I wrote a poem ( :P )
February 29, 2016, 12:58:02 AM
Quote
Atomic dust gathering in the sky;
Have no hope, for your gona die
have no fear, alone you wont be;
youl be accompanied by Earth and humanity

Praying wont help you: the levee is already broken;
The rain hadnt stopped; your minds hadnt woken;
The scheming warpigs you blindly trusted;
Now at their disgrace, youl be disgusted;
#25
An alpha PC game i am writing in java. My current plan is to port The Day The Walrus Flew (aka flappy walrus) to PC. The original calculator will be available to play in a ti84 simulator. Cumred is being a big help with the openGL stuff  8)
Screenies:

here is the screen of the working ti84 "simulator":
#26
Other / How fast can you read?
February 12, 2016, 01:01:53 AM

Find out for yourself: http://spritzinc.com/
:D
#27
Other / RIP David Bowie
January 12, 2016, 10:36:09 PM
Quote
On 10 January 2016, two days after his 69th birthday and the release of the album, Blackstar, Bowie died from liver cancer at his New York home. He had been diagnosed with the malignancy eighteen months earlier, but had not made public the news of his illness. Belgian theatre director Ivo van Hove ... noted that Bowie kept working up to the end.
So yea, basically this ^  :'(
#28
So this was my entry for the CW contest. To download the game, click here
In this game you must spam the up key in order in order to doge past spikes and missiles in while collecting coins fish.
Picture

#29
Other / Whats Your New Year's Aspect Ratio?
December 31, 2015, 06:48:09 PM
So, all over different forums there are threads popping up, with ppl asking what the New Years resolutions of other people are. So, what is your new years aspect ratio resolution? :)

Mine is somewhere around 1400*700 or something :P
#30
Gaming / Warlight
December 05, 2015, 06:56:40 PM
Warlight is a highly customizable risk-like war game where you must conquer your opponents on one of thousands of different maps. Warlight can be played as an online Flash game or as an Ios app.
The most prominent changes warlight has over risk are:

       
  • An army can only atack/move one time during a turn
  • All people move simulataniusly by submitting orders
  • Thousands of different maps. Some maps are very detailed for long diplomacy games, while others have much less detail for quit 100% stratagy games. There are ven abstract maps.
  • Hundreds of customizable options
  • Different types of games, reflective of maps.
There are two main types of games: FFA (Free for all) and diplomacy.
FFA games are short(er) and reqire you (or your teem) to conquare every one else.
Diplo[macy] games are much longer and are played on very detailed maps. Unloke FFA, they involve roleplaying as nations, creating aliances and starting wars. (This does not mean you cant have aliances in FFA games). Diplo games commonly have no winner, but rather have the players agree to a tie.

Pictures:
[spoiler]
Me, red, unleashing my armies. I had been stacking up my armies for several turns, and when i unleashed them, the other players simply did not have the power to fight back. I won this FFA game. (One must also remember that stratagy differes wildly on a per-game basis because of the modifiable settings)

Here, is a picture of my empire during a diplo game. I called it the "Great Northern Empire". (My color was red once again) I played this game on my PC but took a scrrenshot of the game from my iPad, which does not have the resolution neccesery to render all the detail on the map.

[/spoiler]
* c4ooo is not a spambot €:=
#31
So i got this idea, with ppl all concerned with privacy, why not program a network (and a client/app to use it), that uses key encryption and a proxy sever. I know MIT runs a keyserver, but it is practically just a database, there is no graphical way to search for users or send messages, and there is no infrastructure for irl-like channels

So it would work like this:

  • The client would establish a secure connection to the server
  • The cleint would push, via the secure connections, a run-time generated public key, as well as a user name, and a password, if this account is registered.
  • The cleint can now send private messages to any other client on the network, using the keyserver as a proxy (no p2p so you cant see ppl's IPs

The ability to use channels will be integrated onto the cleint, but channals will not be handled by the server. Channals will be run by first and third party bots connected to the network. There will no be guarantee the channels will not log your messages (or someone connected to the channel, but because all data is still proxied via the keyserver, the channel bots cannot know your ip). So basically, channels are bots that act like other users and proxies PMs sent to them to all who 'subscribed' to them.

If i do this, i will need ppl to help, especialy to port the java client to other platforms like android and ios.
#32
Other / Irl (non-offensive) Trolls You Pulled of.
November 14, 2015, 12:43:03 AM
Today i was a bit bored in class, so i decided to have some fun ;D
We had a small break during class when ppl sortof went to the bathroom and talked for a bit while the teacher was busy, and i was like :ninja:
This one dood had been eating a large peice of chewable candy (not gum), and at the moment he was at the bathroom. I took some scissors and cut about 2 inches of (the peace was like 6 inches.).
He was mad, and acused every one, but no one suspected me couse ime that quiet guy whith a calculator ;D
At last i agreed to tell him who did it if he gave me the cut-off piece. >:D
He was mad lol. I was like 8)
#33
On par with @123outerme 's request, i wrote a small program in JS to count up the ends in and indent ti-basic source code, and say something if there are too many, or an extra one is needed. You can try/use it at https://jsfiddle.net/th4hnpmh/ (Changed to latest version)
All the code is here:
[spoiler]

<!DOCTYPE html>
<head>
    <script>
        function test() {
            var text = document.getElementById('text').value;
            var i = 0;
            var line = 0;
            for (var x = 0; x < text.length; x++) {
   var substring = text.substring(x).toLowerCase();
                if (text.charAt(x) == "\n") {
                    line++;
                    while(text.charAt(x+1) == ' '){
                     text = text.slice(0,x+1) + text.slice(x+2);
                    }
                substring = text.substring(x).toLowerCase();
                    if(substring.substring(1).startsWith("end")) {i--;}
var count=i;
if(substring.substring (1).startsWith("else")) {count--;}
                    for (var insert = 0; insert < count; insert++) {
                      text=text.slice(0,x+1)+" "+text.slice(x+1);
                    }
                   document.getElementById('text').value = text;
                }
                if (substring.startsWith("for")) {
                    i++;
                }
                if (substring.startsWith("then")) {
                    i++;
                }
                if (substring.startsWith("while")) {
                    i++;
                }
                if (substring.startsWith("repeat")) {
                    i++;
                }
                if (i == -1) {
                    alert("To many 'end's!\n" + "Line: " + line);
                    setCaretPosition("text", x);
                    insertAtCaret("text", "REMOVE thiS->")
                    break;
                }
                // alert(i);
            }
            if (i > 0) {
                alert("Missing an End!!!")
            }
        }

        function setCaretPosition(elemId, caretPos) {
            var elem = document.getElementById(elemId);

            if (elem != null) {
                if (elem.createTextRange) {
                    var range = elem.createTextRange();
                        range.move('character', caretPos);
                    range.select();
                } else {
                    if (elem.selectionStart) {
                        elem.focus();
                        elem.setSelectionRange(caretPos, caretPos);
                    } else elem.focus();
                }
            }
        }

        function insertAtCaret(areaId, text) {
            var txtarea = document.getElementById(areaId);
            var scrollPos = txtarea.scrollTop;
            var caretPos = txtarea.selectionStart;

            var front = (txtarea.value).substring(0, caretPos);
            var back = (txtarea.value).substring(txtarea.selectionEnd, txtarea.value.length);
            txtarea.value = front + text + back;
            caretPos = caretPos + text.length;
            txtarea.selectionStart = caretPos;
            txtarea.selectionEnd = caretPos;
            txtarea.focus();
            txtarea.scrollTop = scrollPos;
        }
    </script>
</head>
<body>
    <textarea rows="40" cols="50" id="text">type here</textarea>
   

    <button type="button" onClick="test()">Count!</button>
</body>

</html>

[/spoiler]
#34
Web / c4Bot
October 20, 2015, 02:19:46 AM
Hey guys! As some of you have probably noticed on RIC, i have been developing an IRC bot in java. Although it is not yet versatile enough to be hosted, and is not in any of the channels unless i am working on it, it does have two useful commands:

@sp <text to correct>
Which uses google to correct most spelling error in the input, and
@trans <Text to translate> [-Output language] [-Input language]
Which will translate the text from input to output language. It uses yandex as a translator, and the negative sign is required when specifying the language. The full name or the two letter iso abbreviation could be used. If no Input language is specified then it automatically detects the language, and if no output language is specified it translates to english. Note, it is impossible to specify an input but no output language.

As of right now, the bot works in omninet, although not in walrii net. :P
#35
Over the years I have made a selection of cool but useless programs. Rather then letting them rot, I decided to share the code. Some of them have evolved over time, some where lost iin ram clears before i even got a cable ect ect..

Tron (ti-basic)
This was my "hello world" program for ti-basic. I have made some improvments to it over time. Note: this is a striped down version and does not contain score keeping.

ClrDraw
Horizontal yMin
Horizontal yMax
Vertical xMin
Vertical xMax
5->X
5->Y
26->Z
Repeat pxl-Test(Y,X
pxl-on(Y,X
getKey
If ans
ans->Z
X+(Z=26)-(Z=24)->X
Y+(Z=34)-(Z=25)->Y
End

If you want "Minefield tron, add this line after "pxl-on(Y,X

pxl-on(randInt(1,62),randInt(1,92))


Christmas Card (ti-basic)
This program will display a snowflake animation with the words "Happy New Year".

"                "->Str2 "This is 16 spaces
Str2+Str2->Str1
Str1+Str1+Str1+Str1->Str1
While 1
randInt(1,15)
sub(sub(Str2,1,Ans)+"*"+Sub(Str2,1,16-Ans)+Str1,1,128)->Str1
Output(1,1,Str1
Output(8,1,"Happy New Year!!"
End

If you want the snowflakes to fall straight down, replace

randInt(1,15)
sub(sub(Str2,1,Ans)+"*"+Sub(Str2,1,16-Ans)+Str1,1,128)->Str1

with

randInt(1,16)
sub(sub(sub(Str2,1,Ans)+"*"+sub(Str2,17-Ans),2,16)+Str1,1,128)->Str1

,as well as add two spaces to the string in the first line. In total it should have 18 spaces.
Go make an obstacle avoidence game with that!  ;D

Static screen program (axe)
This makes static... (Good axe coding style)

Repeate getKey(41)
L6
While ->X
rand->{X}^r
X+2
End
DispGraph
End


Cursed circle drawing program (axe)
This program draws cool circles using sin() and cos(). Use the arrow keys to operate. Also in axe 1.3.0 it compiles to exact 666 bytes, so yea... :P NB: THIS IS A POOR EXAMPLE OF OPTIMIZED AXE!!! I MADE THIS A LONG TIME AGO!!!

.A
Fix 5
4->D
1->E
TEXT() .NOT THE Text() COMMAND!!!
5->F
Reapear getKey(41)
If getKey(2)
D--
TEXT()
ElseIf getKey(3)
D++
TEXT()
ElseIf getKey(1)
E--
TEXT()
ElseIf getKey(4)
E++
TEXT()
End
0->X
30->Y
Rot(A++//D)
N->Y
o->Y
ROT(B++//E)
Pxl-On(X+N+28,Y+O+32
DS<(F,100
DispGraph
End
End
Return
lbl ROT
cos(r1)->
sin(r1->S
X*C-(Y*S)//256->N
X*S+(Y*C)//256->O
Return
Lbl TEXT
Text(0,0,D>Dec
Text(0,10,E>Dec
Pause 100
Return


As time goes on i will post more. Feal free to ask if you have any question or comments! :D

Ps: gona add some tags so that beginner programers  will have an easier time finding this :) (Idk if this will affect google search results but its a try anyway)
Tags: ti-basic ti basic ti-84 plus ti-83 84 83 arcade source code demo pong Tetris snake tutorial packman graphing calculator games programs send
#36
Games / [TI-83+/84+] Lazer 2 [axe]
September 08, 2015, 12:39:31 AM
Download the latest version of Lazer II: http://www.ticalc.org/archives/files/fileinfo/464/46490.html
Well, after close to a year of direct / indirect work, it seems that Lazer II is just about done. Lazer 2 is a cool laser puzzle simulator game, where you must spin mirrors, using portals and buttons to your advantage, in order to make one or more lasers hit the target(s). The concept is similar to <that one laser game>, but there are major gameplay differences. (For example all lasers are shot simultaneously)
Lazer II is a sequel/rewrite to the TI-Basic game, Lazer I, which can still be found here. As the level editor is going to be released next weak, (it will be part of the main file) I may fas well call this project "done" :) (That makes two done projects for me  8) )
Lazer 2 adds the following to Lazer 1:

       
  • Re-Writen in axe, every thing faster!
  • Greyscale
  • Level packs
  • level editor
  • Switches and gates
Note: old screenshot

Image thanks to @chickendude

Read the readme.txt for how to play the game :)

I would like to thank@Runer112 for the greyscale code and @chickendude for bug testing :) (and gif)
#37
Cross posted from omnimaga(original)
Download here
Ages ago, when i got my first calc in algebra, i made a game (and missed many lessons on quadratic equations, (but then again i can just make a program to solve those things for me :P) ). It was a laser simulater/puzzle game written in pure basic. When i got my own calc a few months ago, as i had been inactive for more then half a year, i decided to polish up the old game and start making a new version in axe. The game was previously only available on ticalc.org . Link: http://www.ticalc.org/archives/files/fileinfo/459/45934.html
The ticalc entry has more screenshots plus a read me, and i will quote the readme here:

A fun game-position  mirrors to bounce a laser(s) and hit the target(s). current version (v 0_45) includes emitters, detectors, mirrors , walls , and portals!!!
HOW TO PLAY:
1) use keypad and [enter] to select play.
2) use keypad and [enter] to select the level.
3) now finaly you can actualy play!!
4) here are the controls:
keypad-move
[enter]-shoot
[clear]-rotate mirror
[2nd]-retry/reset level
[alpha]-level selection
___  ___  ________  ___      ___ _______           ________ ___  ___  ________   ___  ___  ___       
|\  \|\  \|\   __  \|\  \    /  /|\  ___ \         |\  _____\\  \|\  \|\   ___  \|\  \|\  \|\  \     
\ \  \\\  \ \  \|\  \ \  \  /  / | \   __/|        \ \  \__/\ \  \\\  \ \  \\ \  \ \  \ \  \ \  \     
\ \   __  \ \   __  \ \  \/  / / \ \  \_|/__       \ \   __\\ \  \\\  \ \  \\ \  \ \  \ \  \ \  \   
  \ \  \ \  \ \  \ \  \ \    / /   \ \  \_|\ \       \ \  \_| \ \  \\\  \ \  \\ \  \ \__\ \__\ \__\   
   \ \__\ \__\ \__\ \__\ \__/ /     \ \_______\       \ \__\   \ \_______\ \__\\ \__\|__|\|__|\|__|   
    \|__|\|__|\|__|\|__|\|__|/       \|_______|        \|__|    \|_______|\|__| \|__|   ___  ___  ___
                                                                                       |\__\|\__\|\__\
                                                                                       \|__|\|__|\|__|
                                                                                                     

screenshot: (more screenshots at link)

Once again, this is an old game made by me only now brought to omnimaga(and now CW)!  :thumbsup:
I made a demo vid for this!
Powered by EzPortal