2020年5月8日 星期五

week11

1.瘋狂程設-反序列印整數

#include <stdio.h>
int a[10];
int main()
{
	int i=0;
	while(i<10)
	{
		scanf("%d",&a[i]);
		if(a[i]==0)break;
		i++;
	}
	for(int j=i-1;j>=0;j--)
	{
		printf("%d ",a[j]);
	}
	printf("\n");
}


2.瘋狂程設-大小寫轉換
#include <ctype.h>
#include <stdio.h>
int main()
{
	char a;
	while(scanf("%c",&a)==1)
	{
		if(islower(a))a=toupper(a);
		else if(isupper(a))a=tolower(a);
		printf("%c",a);
	}
}
3.泡泡排序法
int []a={9,8,7,6,5,4,3,2,1,0};
void setup(){
  size(500,800);
  //for(int i=0;i<10;i++){
  //  a[i]=int(random(10));
  //}
  textSize(36);
  textAlign(LEFT,TOP);
  showArray(y);
}
int y=0;
void showArray(int y){
  for(int i=0;i<10;i++){
    fill(255);  rect(i*50, y, 50,50);
    fill(0);         text(a[i], i*50, y);
  }  
}
void draw(){
  
}
void mousePressed(){
  for(int i=0; i<10-1;i++){
    if(a[i] > a[i+1]){
      int temp=a[i];
      a[i]=a[i+1];
      a[i+1]=temp;
      fill(255,0,0,128); rect(i*50, y, 100,50);
    }
  }
  y+=50;
  showArray(y);
}
4.小精靈嘴動動
void setup(){
  size(400,400);
}
int X=100,Y=100,angle=45,diff=1;
void draw(){
  background(0);
  arc(X,Y,80,80,radians(angle),radians(360-angle),PIE);
  angle+=diff;
  if(angle>60)diff=-1;
  if(angle<0)diff=1;
}
5.位置會動
void setup(){
  size(400,400);
}
int X=100,Y=100,dx=1,dy=0,angle=45,diff=2;
void draw(){
  background(0);
  arc(X,Y,80,80,radians(angle),radians(360-angle),PIE);
  angle+=diff;
  if(angle>60)diff=-2;
  if(angle<0)diff=2;
  X+=dx;Y+=dy;
}
void keyPressed(){
  if(keyCode==RIGHT){dx=1;dy=0;}
  if(keyCode==LEFT){dx=-1;dy=0;}
  if(keyCode==UP){dx=0;dy=-1;}
  if(keyCode==DOWN){dx=0;dy=1;}
}
6.方向也會動了
void setup(){
  size(400,400);
}
int X=100,Y=100,dx=1,dy=0,angle=45,diff=2,dir=0;
void draw(){
  background(0);
  arc(X,Y,80,80,radians(dir+angle),radians(dir+360-angle),PIE);
  angle+=diff;
  if(angle>60)diff=-2;
  if(angle<0)diff=2;
  X+=dx;Y+=dy;
}
void keyPressed(){
  if(keyCode==RIGHT){dx=1;dy=0;dir=0;}
  if(keyCode==LEFT){dx=-1;dy=0;dir=180;}
  if(keyCode==UP){dx=0;dy=-1;dir=270;}
  if(keyCode==DOWN){dx=0;dy=1;dir=90;}
}
7.吃豆子
int [][]bean={ {1,1,1,1,1 ,1,1,1,1,1}, {1,1,1,1,1 ,1,1,1,1,1}, {1,1,1,1,1 ,1,1,1,1,1}, {1,1,1,1,1 ,1,1,1,1,1}, {1,1,1,1,1 ,1,1,1,1,1}, {1,1,1,1,1 ,1,1,1,1,1}, {1,1,1,1,1 ,1,1,1,1,1}, {1,1,1,1,1 ,1,1,1,1,1}, {1,1,1,1,1 ,1,1,1,1,1}, {1,1,1,1,1 ,1,1,1,1,1} }; void setup(){ size(400,400); } int X=100,Y=100,dx=1,dy=0,angle=45,diff=2,dir=0; void draw(){ background(0); fill(255); for(int y=0;y<10;y++){ for(int x=0;x<10;x++){ if(bean[y][x]==0)continue; ellipse(20+x*40,20+y*40,10,10); if(dist(X,Y,20+x*40,20+y*40)<20)bean[y][x]=0; } } fill(#FFCF0D);arc(X,Y,80,80,radians(dir+angle),radians(dir+360-angle),PIE); angle+=diff; if(angle>60)diff=-2; if(angle<0)diff=2; X+=dx;Y+=dy; } void keyPressed(){ if(keyCode==RIGHT){dx=1;dy=0;dir=0;} if(keyCode==LEFT){dx=-1;dy=0;dir=180;} if(keyCode==UP){dx=0;dy=-1;dir=270;} if(keyCode==DOWN){dx=0;dy=1;dir=90;} }


沒有留言:

張貼留言