python和其它语言混合编程_5种语言混合编程:C++、JS、python、Lisp、汇编

/*

混合C++、JS、python、Lisp、汇编

1种语言,5种语法

*/

main

{

//C++

vector v;

v.push(2);

putsl(v.size());

if(v.count()==1)

{

putsl("abc");

}

//JS

var a=function(x){

return x*2;

}

putsl(a(3));

a={90,91};

putsl(a[1]);

//python

b=2

if b==2

putsl 1

putsl 2

elif b==3

putsl 99

//Lisp

[= b 3]

[rf printl b]

[= b [+ 1 3]]

[rf printl b]

//汇编

mov b,4

add b,5

putsl(b)

}

输出是:

4

abc

6

91

1

2

3

4

9

RPP已经成功从C++内核升级到了lisp内核,欢迎下载试用。

光速编译,无限可能,尽在RPP。(音up)

/*

控制台贪食蛇

*/

int g_std_out

rbuf g_arr

int g_next=10

int g_food

void main()

{

g_std_out=stdcall("GetStdHandle",-11)

g_arr.push(105)

CONSOLE_CURSOR_INFO cur_info

cur_info.dwSize=1

cur_info.bVisible=0

stdcall("SetConsoleCursorInfo",g_std_out,&cur_info)

rf.cmd("mode con cols=66 lines=35")

init

rf.srand

start=rf.tick

food

for

key

if rf.tick-start<100

continue

start=rf.tick

ifn check

return

g_arr.push_front(g_arr[0]+g_next)

if g_food!=g_arr[0]

g_arr.pop

else

food

update

}

void gotoxy(int x,int y)

{

COORD pos

pos.x=x

pos.y=y

int temp

mov temp,pos

stdcall("SetConsoleCursorPosition",g_std_out,temp)

}

void update()

{

for i=0 to 199

gotoxy(i%10+1,i/10+1)

if g_arr.exist(i)

puts("O")

elif i==g_food

puts("$")

else

puts(" ")

}

void init()

{

for i=0 to 11

for j=0 to 21

if i==0||i==11||j==0||j==21

gotoxy(i,j)

puts("#")

}

void key()

{

if stdcall("GetAsyncKeyState",0x26)

temp=-10

elif stdcall("GetAsyncKeyState",0x28)

temp=10

elif stdcall("GetAsyncKeyState",0x25)

temp=-1

elif stdcall("GetAsyncKeyState",0x27)

temp=1

else

return

if g_arr.count<2||g_arr.get(1)!=g_arr.get(0)+temp

g_next=temp

}

int check()

{

temp=g_arr[0]+g_next

if temp<0||temp>199||int.abs(temp%10-g_arr[0]%10)>1||g_arr.exist(temp)

stdcall("MessageBoxA",0,('over len '+g_arr.count).cstr,"",0)

return false

return true

}

void food()

{

g_food=rf.rand()%200

if g_arr.exist(g_food)

food

}

struct CONSOLE_CURSOR_INFO

{

int dwSize

bool bVisible

}

struct COORD

{

ushort x

ushort y

}

7827672932b13d52368cb28edaf788cf.png

以下是一个彩色版本号:

7c60c745aaabd9e6c81198965dc3ceaa.png

/*

彩色版控制台贪食蛇

*/

int g_std_out

rbuf g_arr

int g_next

int g_food

void main()

{

begin:

init

start=rf.tick

for

key

if rf.tick-start<100

continue

start=rf.tick

ifn check

goto begin

g_arr.push_front(g_arr[0]+g_next)

if g_food!=g_arr[0]

g_arr.pop

else

food

update

}

void update()

{

for i=0 to 199

gotoxy(i%10*2,i/10)

if g_arr.exist(i)

out("■")

elif i==g_food

out("★")

else

puts(" ")

}

void init()

{

rf.srand

g_std_out=stdcall("GetStdHandle",-11)

g_next=10

g_arr.clear

g_arr.push(105)

food

CONSOLE_CURSOR_INFO cur_info

cur_info.dwSize=1

cur_info.bVisible=0

stdcall("SetConsoleCursorInfo",g_std_out,&cur_info)

rf.cmd("mode con cols=20 lines=22")//保留一行留给输入法

stdcall("SetConsoleTextAttribute",g_std_out,0x0a)

gotoxy(0,20)

puts(" ******************")

}

void key()

{

if stdcall("GetAsyncKeyState",0x26)

temp=-10

elif stdcall("GetAsyncKeyState",0x28)

temp=10

elif stdcall("GetAsyncKeyState",0x25)

temp=-1

elif stdcall("GetAsyncKeyState",0x27)

temp=1

else

return

if g_arr.count<2||g_arr.get(1)!=g_arr.get(0)+temp

g_next=temp

}

bool check()

{

temp=g_arr[0]+g_next

if temp<0||temp>199||int.abs(temp%10-g_arr[0]%10)>1||g_arr.exist(temp)

stdcall("MessageBoxA",0,('over len '+g_arr.count).cstr,"",0)

return false

return true

}

void food()

{

g_food=rf.rand()%200

if g_arr.exist(g_food)

food

}

void out(char* s)

{

puts(rcode.utf8_to_gbk(s))

}

void gotoxy(int x,int y)

{

COORD pos

pos.x=x

pos.y=y

stdcall("SetConsoleCursorPosition",g_std_out,pos)

}

struct CONSOLE_CURSOR_INFO

{

int dwSize

bool bVisible

}

struct COORD

{

ushort x

ushort y

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值