Alan Interactive Fiction
--==============================================================================
-- "Chez Alan" by Tristano Ajmone, 2018 || Public domain: http://unlicense.org
--==============================================================================
Import 'library.i'. --> ALAN Standard Library v2.1
The my_game IsA definition_block
Has title "Chez Alan".
Has subtitle "A small demo adventure".
Has author "Tristano Ajmone".
Has year 2018.
Has version "1".
End The.
The 'IF Plaza' IsA location
Exit north to ChezAlan.
Description "North lies ""Chez Alan"", the renown French brasserie."
End The 'IF Plaza'.
The ChezAlan IsA room.
Name 'Chez Alan Brasserie'.
Description
"Today Chez Alan seems busier then ever."
Entered
"""Welcome back Sir!"" the maitre greets you.
$nHe has a strong French accent."
End The ChezAlan.
The Pierre IsA male At ChezAlan.
Name Pierre.
Name 'Alan''s' brother.
Is named.
Has ex "Pierre is Alan's brother.".
End The Pierre.
Start At 'IF Plaza'.
Describe banner.
language: | |
langDef: |
EXAPUNKS
NOTE TECH REDSHIFT DK
LINK 800
COPY 999 T
MARK BRUTEFORCE
@REP 3
SWIZ T @{3,-1} #PASS
@END
SUBI T 1 T
REPL CANARY
COPY T X ; TMP STORE T
TEST MRD ; IS XB INSIDE?
TJMP HACKED
COPY X T ; RETRIEVE T
TJMP BRUTEFORCE
MARK HACKED
VOID M ; SIGN.ALIVE
MAKE
ADDI X 1 X
NOTE STORE PASSWORD:
@REP 3
SWIZ X @{3,-1} F
@END
COPY M F ; GET RDK ID
LINK -1
HALT
MARK CANARY
LINK 800 ; DIE IF LOCKED
COPY 666 M ; SIGN.ALIVE
GRAB 199
COPY F M ; SEND RDK ID
HALT
language: | |
langDef: |
PureBasic
1 ; ==============================================================================
2 ; PureBasic 5.62 - Syntax Highlighting Test
3 ; ==============================================================================
4 ; by Tristano Ajmone (2018/10/04), public domain: http://unlicense.org
5
6 Declare.i CountdownDialog(text.s)
7
8 Macro IsEven(num)
9 (num & 1 = 0)
10 EndMacro
11
12 For i=5 To 1 Step -1
13 If isEven(i) : Debug Str(i) +" is even." : EndIf
14 TEXT$ = "Iteration number: " + Str(i) + ~"\n\nDo you wish to continue?"
15 If CountdownDialog(TEXT$) : Break : EndIf
16 Next
17
18 MyVar = %1011 << 1
19 EnableASM
20 INC MyVar ; Mix ASM keywords with PureBasic variable
21 DisableASM
22 Debug "MyVar: "+Str(MyVar)
23
24 Procedure.i CountdownDialog(text.s)
25 UserChoice = MessageRequester("Countdown Dialog", text, #PB_MessageRequester_YesNo |
26 #PB_MessageRequester_Info)
27 If UserChoice = #PB_MessageRequester_No
28 CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
29 !mov rax,1
30 CompilerElse
31 !mov eax,1
32 CompilerEndIf
33 Else
34 ProcedureReturn 0
35 EndIf
36 ProcedureReturn ; RAX/EAX will be the implicit return value
37 EndProcedure
language: | |
langDef: |