top of page
게시판 게시물
zhelddhkd
2023년 8월 19일
In 소스 코드 제출
/** backup 2023.08.19 15:04
import java.awt.*;// TODO Auto-generated catch block
import java.awt.event.*;
import javax.swing.*;
import java.math.*;
class Player extends JLabel implements Runnable{
int x,y;
int mx,my;
boolean w=false,a=false,s=false,d=false;
public Player(String string) {
super(string);
setBackground(Color.BLUE);
setOpaque(true);
setForeground(Color.RED);
setSize(30,30);
setLocation(0, 0);
addKeyListener(new pke());
Thread th=new Thread(this);
th.start();
setFocusable(true);
requestFocus();
}
public void run() {
if(w&&my>15)my-=2;
if(a&&mx>15)my-=2;
if(s&&my<15)my+=2;
if(d&&mx<15)my+=2;
if(mx>0)mx--;
if(mx<0)mx++;
if(my>0)my--;
if(my<0)my++;
x+=mx;
y+=my;
(x,y);
repaint();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
class pke extends KeyAdapter{
public void keyPressed(KeyEvent e) {
switch(e.getKeyChar()) {
case'W':w=true;break;
case'A':a=true;break;
case'S':s=true;break;
case'D':d=true;break;
}
}
public void keyReleased(KeyEvent e) {
switch(e.getKeyChar()) {
case'W':w=false;break;
case'A':a=false;break;
case'S':s=false;break;
case'D':d=false;break;
}
}
}
}
class Monster extends JLabel {
int x=570,y=400;
public Monster() {
super(" !!!");
setBackground(Color.red);
setOpaque(true);
setForeground(Color.blue);
setSize(30,30);
setLocation(x-16, y-39);
}
}
public class Main extends JFrame{
Player pl=new Player(" @");
Monster m=new Monster();
Main(){
setVisible(true);
setSize(600,430);
Container c=getContentPane();
c.setLayout(null);
c.add(pl);
c.add(m);
}
public static void main(String[] args) {
new Main();
}
}
*/
///////////////////////////////////////////////////////////////////////////
//teacher ver.
import java.awt.*;// TODO Auto-generated catch block
import java.awt.event.*;
import javax.swing.*;
import java.math.*;
class Player implements Runnable{
static JLabel p_la;
Container c;
int x,y;
int mx,my;
boolean w=false,a=false,s=false,d=false;
public Player(JLabel p_la, Container c) {
this.p_la = p_la;
this.c = c;
p_la.setBackground(Color.BLUE);
p_la.setOpaque(true);
p_la.setForeground(Color.RED);
p_la.setSize(30,30);
p_la.setLocation(0, 0);
c.addKeyListener(new pke());
c.setFocusable(true);
c.requestFocus();
System.out.println("!!thread!!");
Thread th=new Thread(this);
th.start();
}
public static int getx() {
return p_la.getLocation().x;
}
public static int gety() {
return p_la.getLocation().y;
}
public void run() {
System.out.println("thread start!");
while(true) {
if(w&&my>-15)my-=2;
if(a&&mx>-15)mx-=2;
if(s&&my<15)my+=2;
if(d&&mx<15)mx+=2;
if(mx>0)mx--;
if(mx<0)mx++;
if(my>0)my--;
if(my<0)my++;
x+=mx;
y+=my;
p_la.setLocation(x, y);
c.repaint();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class pke extends KeyAdapter{
public void keyPressed(KeyEvent e) {
switch(e.getKeyChar()) {
case'W':w=true;break;
case'A':a=true;break;
case'S':s=true;break;
case'D':d=true;break;
}
}
public void keyReleased(KeyEvent e) {
switch(e.getKeyChar()) {
case'W':w=false;break;
case'A':a=false;break;
case'S':s=false;break;
case'D':d=false;break;
}
}
}
}
class Monster extends JLabel implements Runnable{
JLabel m_la;
int x=570,y=400;
int mx=0,my=0;
public Monster(JLabel la) {
m_la=la;
m_la.setBackground(Color.red);
m_la.setOpaque(true);
m_la.setForeground(Color.blue);
m_la.setSize(30,30);
m_la.setLocation(x, y);
}
public void run() {
while(true) {
int px = Player.getx();
int py = Player.gety();
mx=((px-x)*-1)/20+5;
mx=((px-x)*-1)/20+5;
x+=mx;y+=my;
m_la.setLocation(x, y);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public class Main extends JFrame{
Main(){
setVisible(true);
setSize(600,430);
Container c=getContentPane();
JLabel p_la = new JLabel(" @");
Player pl=new Player(p_la, c);
JLabel m_la = new JLabel(" !!!");
Monster m=new Monster(m_la);
c.setLayout(null);
c.add(p_la);
c.add(m);
}
public static void main(String[] args) {
new Main();
}
}
0
0
3
zhelddhkd
2023년 2월 02일
In 소스 코드 제출
#include <stdio.h> typedef struct _node{ int data; struct _node* next; }node; node* make_node(){ node* a = (node*)malloc(sizeof(node)); a->data=10; a->next=NULL; return a; } void add_last(node* head, int data){ } int main() { //LIST 생성 node* head = NULL; node* tail = NULL; //첫 노드 추가 (함수로) node* a = make_node(); head=a; tail=a; // 두번째 노드 추가 (함수로) node* b = make_node(); tail->next=b; tail=b; // 리스트 탐색 (조회) node* cur=head; while(cur!=NULL){ printf("%d\n",cur->data); cur=cur->next; } }
0
0
2
zhelddhkd
2022년 7월 24일
In 소스 코드 제출
// 명령의 집합 //함수 포인터 구조체 /* #include <stdio.h> int n=5; //전역변수 global variable int arr[6]={7,8,9,10,11,12}; int view(void) { int i; //지역변수 local variable printf("arr : "); for(i=1;i<=n;i++) { printf("%d ",arr[i]); } printf("\n"); return 99; } int main() { int a = view(); //printf("%d",view()); return 0; } */ #include <stdio.h> //함수원형 //리턴타입 함수이름 (매개변수) void star(int a) { for(int i=0;i<a;i++) { printf("*"); } } int main() { int n; scanf("%d",&n); star(n); return 0; }
0
0
3
zhelddhkd
2021년 5월 09일
In 소스 코드 제출
//포인터 / 포인터와 배열 / 메모리동적할당 코드 #include <stdio.h> void f(int* p) { printf("%d",*p); } void arrp(char* ap,int an) { for(int i=0;i<an;i++) { printf("%c ",ap[i]); } printf("\n"); for(int i=0;i<an;i++) { printf("%c ",*(ap+i)); } printf("\n"); for(int i=0;i<an;i++) { printf("%d ",ap+i); } } int main() { int n=10; //char str[100]; //char* str = (char*)malloc(n*sizeof(char)); char* arr = (char*)malloc(n*sizeof(char)); //int arr[700]; for(int i=0;i<n;i++) { arr[i]=i+'a'; } arrp(arr,n); return 0; }
0
0
4
zhelddhkd
더보기
bottom of page