3018AD

From Esolang
Jump to navigation Jump to search

3018AD is a Esolang that looks like a future spacewar.

Header

When making a 3018AD program, you must start by naming all of the constituent and their Planet in the battle. No two constituent can have the same name. Use this header:

<[Example: ]>
Planet 1: Foldania
    Schuler
    Soviet
    C++
    Dandruff
    3018AD
    MOV_AX,_0123H
    Python
    PrySigneToFry
    1930ng9dygilu4y3

Planet 2: Tyschoner
    Length
    Atom
    Quark
    Crusader
    STDIN
    0-1-2-3-4-5-6-7-8-9-0
    Cemer
    You_Are_An_I*IOT
    n%slv

And so began a fierce war......

Round 0.
    Foldania: activate all.
    Tyschoner: activate all.

Footer

At the end of the program, you must include this footer:

War is end.
*Loser* is destroyed by *Winner*.

Name whichever Planet you want as the winner; it doesn't matter.

Syntax

Variables

When you created a spacecraft, it will dump 100 normally. And the 100 is its "energy" (abbreviation as "E value").

About the version of this ESOLANG

There are 3 versions for this Esolang.

  1. In weak mode, every planet can only has 10 spacecrafts at most and has 5 spacecrafts at least. Name of spacecraft can only includes Alphabets(In Python, it can be judge as this: r"[A-Za-z]")
  2. In strong mode, there aren't any limit for spacecrafts. But, NO SPACECRAFTS ARE FORBIDDEN.
  3. In mess mode, you can add more strange phenomenon(such as Black Holes or "Waterdrop" in 《三体》).
  4. If there is any spacecraft's name is same as other's name, it will raise an error and return -3018.

Command

All command has these syntax:

Round 1.
    *code*
    *code*
Round 2.
    *code*
    *code*

Each of the two commands in a turn must be from different palnets. The order may change freely between turns.

A move is from a planet if:

  1. It starts with the planet's name, or
  1. It starts with the planet active spacecraft.


Commands

N.O.P.

*planet* did nothing.
*spacecraft* flies away.

Output

*spacecraft* is doing *operation*.

Unicode: Laser Hit

GBK: R0H8Es

Value(int, float): Suicide attack

Boolean: Rush up

Damage

*spacecraft* is damaging *another_spacecraft* with *operation*.

LVL.5: Mass attack, big sound, cutter, binary attack, data corrupt

LVL.25: Infinity attack, u9pfE7, decrease dimension, data delete, OS corrupt

As an additional effect, you can add either of these tags after the command:

It didn't fscking work.: the level of operation is divide by 5.

It has done a great deal of damage.: the level of operation is multiply by 5.

Mathematical Damage

*spacecraft* math-damaged *another_spacecraft* with *operation*.

Operations: Explode attack, Bkmg03

Clear All

*spacecraft* destructed *another_spacecraft* with *operation*.

Operations: Cluster, Flip around

Increase E value

*planet* transmitted important data as *value* KB.
  • LVL.1: 1024
  • LVL.2: 4096
  • LVL.3: 65536
  • LVL.4: 1048576
  • LVL.5: 4294967296
  • LVL.6: 18446744073709551616

"The weeds overgrow the corn"

*spacecraft* increased self-E-value from *another_spacecraft* with *operation*.

Operations: Leech E-Value

Stop program

*spacecraft* fall back with *operation*.

Operations: pause, sleep for *ms* milliseconds, quit

Input

*spacecraft* received data from *planet* by *input_mode*.
  • Unicode: inputs a character.
  • Numberz: inputs a value.

Mathematical operations

Addition: *spacecraft* combined with *another_spacecraft*. Subtraction: *spacecraft* splited from *another_spacecraft*. Multiplication: *spacecraft* links with *another_spacecraft*. Division: *spacecraft* to *another_spacecraft*'s link is broken. Modulo: *spacecraft* remains data to *another_spacecraft*. Power: *spacecraft* activated *another_spacecraft*.

Switch

*planet*: Sleeps the *spacecraft1* and activate the *spacecraft2*.

Attribute

*spacecraft*'s E-value is *value* now.

Examples

Hello, world

Planet 1: Lityor
    Dump[list[14]]

Planet 2: Sciter
    Dump2[str]

And so began a fierce war......

Round 0.
    Lityor: activate all.
    Sciter: activate all.
Round 1.
    Dump[0]'s E-value is 0x0048 now.
    Dump2[0]'s E-value is Dump[0]'s E-value now.
Round 2.
    Dump[1]'s E-value is 0x0065 now.
    Dump2[1]'s E-value is Dump[1]'s E-value now.
Round 3.
    Dump[2]'s E-value is 0x006C now.
    Dump2[2]'s E-value is Dump[2]'s E-value now.
Round 4.
    Dump[3]'s E-value is 0x006C now.
    Dump2[3]'s E-value is Dump[3]'s E-value now.
Round 5.
    Dump[4]'s E-value is 0x006F now.
    Dump2[4]'s E-value is Dump[4]'s E-value now.
Round 6.
    Dump[5]'s E-value is 0x002C now.
    Dump2[5]'s E-value is Dump[5]'s E-value now.
Round 7.
    Dump[6]'s E-value is 0x0020 now.
    Dump2[6]'s E-value is Dump[6]'s E-value now.
Round 8.
    Dump[7]'s E-value is 0x0077 now.
    Dump2[7]'s E-value is Dump[7]'s E-value now.
Round 9.
    Dump[8]'s E-value is 0x006F now.
    Dump2[8]'s E-value is Dump[8]'s E-value now.
Round 10.
    Dump[9]'s E-value is 0x0072 now.
    Dump2[9]'s E-value is Dump[9]'s E-value now.
Round 11.
    Dump[10]'s E-value is 0x006C now.
    Dump2[10]'s E-value is Dump[10]'s E-value now.
Round 12.
    Dump[11]'s E-value is 0x0064 now.
    Dump2[11]'s E-value is Dump[11]'s E-value now.
Round 13.
    Dump[12]'s E-value is 0x0021 now.
    Dump2[12]'s E-value is Dump[12]'s E-value now.
Round 14.
    Dump[13]'s E-value is 0x000C now.
    Dump2[13]'s E-value is Dump[13]'s E-value now.
Round 15.
    Dump flies away.
    Dump2 is doing Laser hit.
    <Note: The full string will be output here.>
War is end.
Lityor is destroyed by Scitor.

See also

PokéBattle

Categories