汉诺塔游戏c语言作业,C语言实现汉诺塔游戏.pdf

C语语言言实实现现汉汉诺诺塔塔游游戏戏

操作就是:A B 号码A 的塔顶一层放在号码B的塔顶。如1 (空格) 3 回车。 话 有人能把我这C 的代码添加到QT 界面框架上去

么? 代码写的不好 ,维护性不够,只能玩8层的,写完以后发现很难拓展,软件工程,设计模式有待提高

里面提示输入等级的装B用了,没有实现,大家随便输入个个位数就可以玩了。

stackfunc.c

#include"STACK.h"

#include

extern ceng CENG[SIZE ;

//数据入栈

void push_stack(stack*p,int number){

p->arr[p->head =number;

p->head++;

}

//初始化栈1

void init_stack1(stack*p){

p->head=0;

push_stack(p,1);

push_stack(p,2);

push_stack(p,3);

push_stack(p,4);

push_stack(p,5);

push_stack(p,6);

push_stack(p,7);

push_stack(p,8);

}

//初始化栈2 3

void init_stack2_3(stack* p1,stack* p2){

p1->head=0;

p1->arr[p1->head =0;

p2->head=0;

p2->arr[p2->head =0;

}

//弹出栈顶元素

int pop_stack(stack* p){

p->head--;

return p->arr[p->head ;

}

//访问栈顶元素

int top_stack(stack* p){

return p->arr[p->head-1 ;

}

//比较两个栈顶元素的大小

int sizecmp_stack(stack* p1,stack* p2){

if(p1->arr[p1->head-1 >p2->arr[p2->head-1 )

return 1;

else if(p1->arr[p1->head-1 arr[p2->head-1 )

return -1;

else return 0;

}

//测出栈的高度

int high_stack(stack* p){

return p->head;

}

//是否为空栈

int empty_stack(stack* p){

return p->head==0;

}

//是否栈满

int full_stack(stack* p){

return p->head==SIZE;

}

//初始化层1

void init_ceng1(ceng* p){

p->number=1;

p->row=SIZE-1;

p->col=0;

}

//初始化层2

void init_ceng2(ceng* p){

p->number=2;

p->row=SIZE-2;

p->col=0;

}

//初始化层3

void init_ceng3(ceng* p){

p->number=3;

p->row=SIZE-3;

p->col=0;

}

//初始化层4

void init_ceng4(ceng* p){

p->number=4;

p->row=SIZE-4;

p->col=0;

}

//初始化层5

void init_ceng5(ceng*p){

p->number=5;

p->row=SIZE-5;

p->col=0;

}

//初始化层6

void init_ceng6(ceng*p){

p->number=6;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值