GithubHelp home page GithubHelp logo

cpu-battle-tank's People

Contributors

pddring avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cpu-battle-tank's Issues

To up ammo

Hello,
I think driving on an ITEM_TYPE_AMMO doesn't actually top up the ammo.
I suggest adding :
if (task[2] == bt.ITEM_TYPE_AMMO) {
// top up ammo
var tank = bt.getTankByCoordinates(x, y);
if(tank) {
tank.ammo += 10;
if(tank.ammo > tank.maxAmmo)
tank.ammo = tank.maxAmmo;
}
}

after line 234 (batlletanks.js)

Create animated gifs for object data

I've made an animated fuel can in blender in order to create a 64x64px animated gif for the game grid.

We need the same type of thing for:

  • Destination (square your tank has to reach)
  • Ammo (refill)

Add sample levels

There should be some simple levels to test moving, shooting and collecting objects.

Allow LMC to control tank

The existing LMC instruction set allows for input and output but we need to extend that to allow the tank to move and fire with input and output controls. At the moment the 9xx instructions concern I/O so we could extend them in order to:

Output:
move forwards / backwards
turn left / right
aim left / right
fire
send radio broadcast (to other tanks)

Input:
Detect obstacles
Detect enemy tanks
receive radio broadcast (from other tanks)

Add ram disassembler

The contents of the LMC RAM should be interpreted in such a way that the mnemonics for each instruction is displayed with an explanation of what it does.

Add level framework

We need to make it so that the game stores a series of mission objectives for each level that can be automatically detected when they've been completed.

E.g.

  • collect fuel
  • go to target destination
  • destroy straw
  • destroy tank

Allow tanks to destroy objects by firing

Currently, tanks just fire straight through obstacles. They need to be fixed so that you can't fire through an obstacle and tanks / straw / fuel should blow up if hit by the laser.

Add settings tab

It'd be good to be able to change which tank details appear in the game UI:

  • Name
  • Fuel
  • Ammo
  • Commands

Create LMC RAM mailboxes

The LMC CPU has 99 mailboxes that work as RAM. Ideally, each tank will have a LMC CPU that can be used to control it. We need to start simulating the CPU for each tank

Create LMC registers

The LMC has an accumulator, program counter and instruction register. These store numbers from -999 to 999 (LMC is denary rather than binary)

Tank direction INPUT

Hi again,
I think also that when we ask the INPUT of TankDir, the answer is either 0-1-2-3, and not 0-2-4-6.
So I think line 1091 should be modified :

description: 'Store current tank direction in accumulator register

AccumulatorMeaning
0North
1East
2South
3West
',

(I hope I've understood the code well and I'm not wrong !...)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.